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 <noreply@anthropic.com>
This commit is contained in:
Glenn Goossens
2026-10-06 10:33:12 +02:00
co-authored by Claude Sonnet 5.5
parent 6bb6f7d9cb
commit 8125d53ea5
2 changed files with 10 additions and 21 deletions
+7 -12
View File
@@ -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
+3 -9
View File
@@ -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"