Doel: stabiliseren. Nieuws is hoofdpagina; LIVE PADEL NEWS staat bovenaan elke view.
Vervang Code.gs door x2027_Code_v1_9_STABLE.gs.
Vervang Index.html door x2027_Index_v1_9_STABLE.html.
Sla op.
Voer x27Setup() eenmaal uit als de tabs al langer niet zijn bijgewerkt.
Deploy > Manage deployments > Edit > New version > Deploy.
Open de nieuwe /exec URL.
Nieuws opent standaard.
Bovenbalk toont eerst opgeslagen FeedItems.
Na enkele seconden draait automatisch x27NewsLiveFast.
Klik Update: 8 internationale Google News RSS feeds worden parallel geladen.
Kies Nederlands en Vertaal alles; alleen titel + RSS-samenvatting worden vertaald voor snelheid.
Klik English voor directe Engelse vertaling.
Test Start, AI Brein, Lesbouwer, Zoeken en Systeem afzonderlijk.
Geen zware algemene bootstrap nodig voor nieuws.
Nieuws blijft zichtbaar als live internet-fetch faalt.
Nieuwe FeedItems worden in één batch naar de Sheet geschreven.
Vertaling van zichtbare feed gebruikt geen fetch van volledige artikelpagina.
AI, login, lessen en diagnose kunnen de nieuwsfeed niet blokkeren.
pak de bestaande stabiele nieuwsversie als basis en maak daar één verbeterde v9-build van, dus geen losse patch.
lever opnieuw minimaal Code.gs + Index.html + setup/README, met de nieuwe sorteer- en zijbalklogica ingebouwd.
Used padelos skill
Ik heb de stabiele v1.9-bestanden teruggevonden en als basis genomen. Belangrijk: ik behoud dus de bestaande Sheet-ID, FeedItems, Sources, DiscoveredSources, login/AI-structuur en stabiele RSS-aanpak; de nieuwe versie wordt een uitbreiding, geen herbouw vanaf nul.
De kernverbetering wordt nu ook echt functioneel: niet alleen nieuwe knoppen in de HTML, maar een backend-query die filtert en sorteert op publicatiedatum, gevonden datum, afstand, A–Z/Z–A, land en berekende belangrijkheid. Voor afstand gebruik ik waar mogelijk plaatsherkenning; als alleen het land bekend is, label ik het expliciet als een benadering in plaats van een schijnnauwkeurige kilometerwaarde.
De v9-build staat nu inhoudelijk klaar. Ik controleer nog twee dingen vóór ik hem geef: JavaScript-syntax van Code.gs en Index.html, en of de verplichte v9-functies/velden daadwerkelijk in de bestanden zitten.
Doel: stabiliseren. Nieuws is hoofdpagina; LIVE PADEL NEWS staat bovenaan elke view.
Vervang Code.gs door x2027_Code_v1_9_STABLE.gs.
Vervang Index.html door x2027_Index_v1_9_STABLE.html.
Sla op.
Voer x27Setup() eenmaal uit als de tabs al langer niet zijn bijgewerkt.
Deploy > Manage deployments > Edit > New version > Deploy.
Open de nieuwe /exec URL.
Nieuws opent standaard.
Bovenbalk toont eerst opgeslagen FeedItems.
Na enkele seconden draait automatisch x27NewsLiveFast.
Klik Update: 8 internationale Google News RSS feeds worden parallel geladen.
Kies Nederlands en Vertaal alles; alleen titel + RSS-samenvatting worden vertaald voor snelheid.
Klik English voor directe Engelse vertaling.
Test Start, AI Brein, Lesbouwer, Zoeken en Systeem afzonderlijk.
Geen zware algemene bootstrap nodig voor nieuws.
Nieuws blijft zichtbaar als live internet-fetch faalt.
Nieuwe FeedItems worden in één batch naar de Sheet geschreven.
Vertaling van zichtbare feed gebruikt geen fetch van volledige artikelpagina.
AI, login, lessen en diagnose kunnen de nieuwsfeed niet blokkeren.
Doel: stabiliseren. Nieuws is hoofdpagina; LIVE PADEL NEWS staat bovenaan elke view.
Vervang Code.gs door x2027_Code_v1_9_STABLE.gs.
Vervang Index.html door x2027_Index_v1_9_STABLE.html.
Sla op.
Voer x27Setup() eenmaal uit als de tabs al langer niet zijn bijgewerkt.
Deploy > Manage deployments > Edit > New version > Deploy.
Open de nieuwe /exec URL.
Nieuws opent standaard.
Bovenbalk toont eerst opgeslagen FeedItems.
Na enkele seconden draait automatisch x27NewsLiveFast.
Klik Update: 8 internationale Google News RSS feeds worden parallel geladen.
Kies Nederlands en Vertaal alles; alleen titel + RSS-samenvatting worden vertaald voor snelheid.
Klik English voor directe Engelse vertaling.
Test Start, AI Brein, Lesbouwer, Zoeken en Systeem afzonderlijk.
Geen zware algemene bootstrap nodig voor nieuws.
Nieuws blijft zichtbaar als live internet-fetch faalt.
Nieuwe FeedItems worden in één batch naar de Sheet geschreven.
Vertaling van zichtbare feed gebruikt geen fetch van volledige artikelpagina.
AI, login, lessen en diagnose kunnen de nieuwsfeed niet blokkeren.
Ik zie waar v1.7 te kwetsbaar is: de Start-feed hangt nog te veel af van een zware bootstrap() die meerdere volledige Sheets leest vóórdat de nieuwsrender klaar is. Ik haal nieuws daar nu los van: Start krijgt een eigen snelle publieke nieuws-endpoint, dat eerst bestaande FeedItems toont en daarna rechtstreeks 6–8 Google News RSS-feeds van internet ophaalt. Vertalen komt in dezelfde bovenbalk: taalkeuze standaard Nederlands + knop Nederlands + knop Engels + “Vertaal alles”.
Ik heb de echte bottleneck gevonden: bij live nieuws werd ieder nieuw artikel afzonderlijk met appendRow() opgeslagen, en nieuwe publishers ook één voor één. Bij tientallen RSS-resultaten kan dat de Apps Script-uitvoering minutenlang blokkeren. Ik vervang dit nu door één parallelle internet-fetch + één bulk-write naar FeedItems. Dat is de belangrijkste reparatie voor “laden… en niets verschijnt”.
Deze versie herstelt de nieuwsfeed als kernfunctie.
Start toont direct reeds opgeslagen FeedItems; geen lege start terwijl live RSS nog laadt.
Vandaag / week / maand vallen terug op recente opgeslagen items wanneer een venster tijdelijk leeg is.
Live update zoekt kort in NL, BE, ES, FR, GB en IT en verwerkt daarnaast 6 opgeslagen RSS-bronnen.
RSS-lader en Volgende feedbatch vereisen geen login meer om nieuws te verversen.
Een mislukte/lege live zoekactie wist de bestaande feed niet.
Bronnen en ontdekte publishers blijven bovenaan de Nieuws-pagina zichtbaar.
Selecteren, Shift-selectie en vertalen uit v1.6 blijven behouden.
Vervang Code.gs door x2027_Code_v1_7.gs.
Vervang Index.html door x2027_Index_v1_7.html.
Voer x27Setup() eenmaal uit.
Deploy een NIEUWE versie van dezelfde Apps Script web-app.
Open de /exec URL opnieuw (eventueel hard refresh).
Start: nieuws moet direct uit de Sheet zichtbaar zijn.
Binnen enkele seconden wordt een korte live refresh uitgevoerd.
Klik Nieuws -> Laatste updates: bestaande feed moet blijven staan.
Klik Live zoeken met padel.
Klik RSS-lader -> zoek + laad.
Klik Volgende feedbatch.
Niet 1000 RSS-feeds worden per paginabezoek tegelijk opgehaald; dat past niet betrouwbaar binnen Apps Script runtime/quota. De 1000+ Sources blijven de discovery-database. De UI toont cache-first en verwerkt kleine parallelle batches, terwijl de uurtrigger door de bronlijst roteert.
ik heb dit nu teruggebracht naar wat wél werkte en daarop verbeterd.
De kern van v1.7 is: nieuws staat direct op Start, eerst uit de reeds gevulde FeedItems-Sheet. Daarna pas komt een korte live RSS-update. Daardoor kan een trage of lege Google News-call de zichtbare feed niet meer leegmaken.
Ook heb ik de RSS-lader hersteld zodat hij weer doet wat je eerder had: live zoeken + opgeslagen RSS-bronnen verwerken + FeedItems bijwerken + bestaande feed laten staan. Volgende feedbatch en de RSS-lader hoeven bovendien niet meer eerst een geldige login te eisen voor het nieuwsdeel.
Verder blijft alles behouden wat je eerder vroeg: Bronnen en Ontdekte sites bovenaan, Nederland/België/Spanje/Frankrijk/UK/Italië, rubrieken voor toernooien, competitie, podcasts, video/YouTube, fotografie, clubs, rackets, coaching, business/AI, tijdvensters Vandaag/Week/Maand, selectievakjes, Shift-selectie en vertalen.
Belangrijk: de 1000+ Sources blijven gewoon bestaan, maar ik probeer niet meer 1000 RSS-feeds bij het openen van de pagina tegelijk te laden. Dat is precies wat Apps Script onbetrouwbaar maakt. De nieuwe werking is:
Start → direct opgeslagen nieuws → 6 internationale live RSS-zoekfeeds → 6 opgeslagen bronfeeds → opslaan → dashboard vernieuwen
en de uurtrigger loopt vervolgens verder door de grotere bronnenlijst.
Hier zijn de nieuwe complete bestanden:
Vervang Code.gs door x2027_Code_v1_6.gs.
Vervang Index.html door x2027_Index_v1_6.html.
Voer eenmalig x27Setup() uit zodat de Translations-tab/config zeker aanwezig is.
Maak een nieuwe Apps Script deployment-versie.
Open Nieuws. Bronnen en Ontdekte sites worden direct bovenaan geladen.
Gebruik Vandaag / Deze week / Afgelopen maand / Alles. De eerste drie doen ook een snelle live RSS-voorlaadronde met Google News when:-filters.
Selecteer nieuws via vinkjes. Shift+klik selecteert een aaneengesloten reeks.
Kies de taal en klik Vertaal selectie. Maximaal 20 nieuwsitems per vertaalbatch. Vertalingen worden gecachet in Translations.
De RSS-lader verwerkt live zoekresultaten plus 18 opgeslagen RSS-bronnen per klik en toont daarna direct de bijbehorende dashboarditems.
Opmerking: vertaling gebruikt Apps Script LanguageApp en heeft geen externe AI-key nodig. Volledige auteursrechtelijk beschermde artikelen worden niet gekopieerd; X2027 vertaalt titel, RSS-samenvatting en waar beschikbaar een korte openbare meta-description/excerpt, met behoud van de bronlink.
Ik bouw dit nu als X2027 v1.6 · Feed Select + Translate + Time Windows. De kern wordt: Bronnen + Ontdekte sites bovenaan, daarna directe knoppen voor Vandaag / Deze week / Deze maand / Alles, en nieuwsitems met selectievakjes + Shift-selectie zodat je meerdere feeds tegelijk kunt bundelen en in één taal kunt vertalen.
De nieuwe vertaalactie wordt ook echt interactief: elk nieuwskaartje krijgt een ☐ selectievak en de knop wordt bijvoorbeeld “Vertaal → Nederlands”. Je kunt één artikel kiezen, meerdere vinkjes zetten, of Shift + klik gebruiken om een hele reeks tussen twee nieuwsitems te selecteren; daarna vertaalt één actie de hele selectie en bewaart X2027 de vertalingen zodat ze niet opnieuw berekend hoeven te worden.
Vervang Code.gs door x2027_Code_v1_5.gs.
Vervang Index.html door x2027_Index_v1_5.html.
Sla op en voer x27Setup() eenmalig uit. Dit maakt/controleert ook de tab Translations.
Maak een nieuwe web-app deploymentversie.
Open Nieuws. Kies bij Nieuws vertalen naar een taal.
Klik Vertaal laatste 5 of op Vertaal bij een individueel nieuwsitem.
De vertaling gebruikt LanguageApp.translate() in Apps Script en heeft dus geen externe AI-key nodig. De bron-URL blijft zichtbaar. X2027 vertaalt titel, RSS-samenvatting en eventueel een korte openbare beschrijving/excerpt van de bronpagina; het systeem is niet bedoeld om volledige auteursrechtelijk beschermde artikelen te spiegelen.
Belangrijk voor quota: vertaal in kleine batches. Apps Script heeft quota voor Translate-calls en een maximale uitvoeringstijd.