From 8125d53ea562b29afa8d18f44a6ea021db3a6c28 Mon Sep 17 00:00:00 2001 From: Glenn Goossens <48956933+glgoose@users.noreply.github.com> Date: Tue, 6 Oct 2026 10:33:12 +0200 Subject: [PATCH] dev-stub: zet geen @downloadURL en @updateURL meer in de stub, want @updateURL none geeft een eslint-waarschuwing in Tampermonkey en een lokale stub heeft niets te downloaden Co-Authored-By: Claude Sonnet 5.5 --- AGENTS.md | 19 +++++++------------ bin/dev-stub | 12 +++--------- 2 files changed, 10 insertions(+), 21 deletions(-) diff --git a/AGENTS.md b/AGENTS.md index a6a79d8..66ca089 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -32,18 +32,13 @@ Drie dingen die aan die stub vasthangen: - **De metadata komt uit de stub, niet uit de required file.** `@match`, `@grant` en `@run-at` moeten er dus in staan; het `==UserScript==`-blok van de file zelf wordt genegeerd. `dev-stub` neemt die velden over uit het echte script, zodat de twee niet uit elkaar lopen. -- **`@updateURL` staat op `none`.** Die velden weglaten volstaat niet: Tampermonkey onthoudt de - download-URL van de oorspronkelijke installatie apart van het meta-blok, dus een rij die ooit - van de raw-URL kwam biedt daarna alsnog een update aan die je stub overschrijft. In - `determineMetaURL` gaat `@updateURL` vóór die onthouden URL, en `none` breekt de check af. - `@downloadURL` mag daardoor gewoon blijven staan: die wordt nooit meer bereikt, en levert wel - het GitHub-icoon op in de overzichtslijst, want de herkomst wordt uit die URL afgeleid. - `dev-stub` zet allebei zelf in de stub. Controleren doe je niet in Settings: het veld - **Update URL** daar is `downloadURL` onder een misleidend label (`file_url = downloadURL || - fileURL`), en `@updateURL` heeft in dat scherm geen veld. Het toont dus de raw-URL, ook als - `none` netjes is overgenomen. Controleer in plaats daarvan het gedrag: klik in de - werkbalk-popup op **Check for userscript updates** en er hoort geen enkel dialoogvenster te - komen. +- **`@downloadURL` en `@updateURL` staan er allebei niet in.** De code komt uit een lokaal + bestand, dus er is niets te downloaden of bij te werken. `@updateURL none` is geen + oplossing: de editor van Tampermonkey toont dan een eslint-waarschuwing + (`use-download-and-update-url`), en zonder `@downloadURL` heeft `@updateURL` ook geen + functie. Een rij die ooit van de raw-URL kwam, onthoudt die URL apart van het meta-blok en + biedt dan alsnog een update aan die de stub overschrijft: verwijder zo'n rij en maak de stub + opnieuw aan via **Create a new script**. - **De stub hoeft niet mee met een `@version`-bump.** Ze staat op een vaste `0.0.0-dev`. Een echt nummer zou daar toch niets zeggen: de code komt bij elke pagina-load van schijf, dus wat er draait is wat er nú in de repo staat. De kolom hoeft enkel `-dev` te tonen. Opnieuw diff --git a/bin/dev-stub b/bin/dev-stub index c7be5f9..4ad8da5 100755 --- a/bin/dev-stub +++ b/bin/dev-stub @@ -88,19 +88,15 @@ meta() { name="$(meta name | head -1)" namespace="$(meta namespace | head -1)" author="$(meta author | head -1)" -downloadurl="$(meta downloadURL | head -1)" if [ -z "$name" ]; then echo "dev-stub: @name ontbreekt in $src" >&2 exit 1 fi -# @updateURL staat op none, want weglaten volstaat niet: Tampermonkey onthoudt de -# download-URL van de oorspronkelijke installatie los van het meta-blok, en zou de -# stub daarmee bij de eerste update-check overschrijven met de volledige raw-versie. -# In determineMetaURL gaat updateURL vóór die onthouden downloadURL en breekt de -# waarde none de check af. @downloadURL mag daardoor blijven staan: die wordt nooit -# meer bereikt en levert wel de GitHub-herkomst op in de overzichtslijst. +# @downloadURL en @updateURL staan er allebei bewust NIET in. @updateURL none is geen +# oplossing: Tampermonkey markeert het ontbrekende @downloadURL dan in de editor, en de +# stub is lokaal, dus er is niets te downloaden of bij te werken. { echo "// ==UserScript==" printf '// @name %s\n' "$name" @@ -111,8 +107,6 @@ fi printf '// @version 0.0.0-dev\n' printf '// @description Dev-loader. De code staat in de repo, dit bestand wijst er alleen naar.\n' [ -n "$author" ] && printf '// @author %s\n' "$author" - [ -n "$downloadurl" ] && printf '// @%-12s %s\n' downloadURL "$downloadurl" - printf '// @%-12s %s\n' updateURL none for key in match include exclude; do meta "$key" | while IFS= read -r value; do [ -n "$value" ] && printf '// @%-12s %s\n' "$key" "$value"