dev-stub: @updateURL none, @downloadURL behouden met juiste update-check
This commit is contained in:
@@ -59,13 +59,27 @@ bijgewerkte, want Tampermonkey herkent een script aan `@namespace` plus `@name`.
|
||||
|
||||
`bin/dev-stub --list` toont de scriptmappen, `--no-copy` slaat het klembord over.
|
||||
|
||||
Twee dingen die aan die stub vasthangen:
|
||||
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.
|
||||
- **`@downloadURL` en `@updateURL` horen er niet in.** Met die velden overschrijft Tampermonkey
|
||||
je stub bij de eerste update-check met de volledige raw-versie. `dev-stub` laat ze weg.
|
||||
- **`@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.
|
||||
- **De stub moet mee met elke `@version`-bump.** De code komt via `@require` uit de repo, dus
|
||||
functioneel merk je er niets van, maar de Version-kolom wijst anders een oude versie aan en
|
||||
die kolom is nu net waarmee je dev van gebruik onderscheidt. Draai `bin/dev-stub` opnieuw en
|
||||
plak.
|
||||
|
||||
Lokale bestanden lezen mag Tampermonkey alleen als **Allow access to file URLs** aanstaat, bij
|
||||
`chrome://extensions` onder Details.
|
||||
|
||||
+11
-2
@@ -80,14 +80,19 @@ name="$(meta name | head -1)"
|
||||
version="$(meta version | head -1)"
|
||||
namespace="$(meta namespace | head -1)"
|
||||
author="$(meta author | head -1)"
|
||||
downloadurl="$(meta downloadURL | head -1)"
|
||||
|
||||
if [ -z "$name" ] || [ -z "$version" ]; then
|
||||
echo "dev-stub: @name of @version ontbreekt in $src" >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# @downloadURL en @updateURL komen er bewust NIET in: Tampermonkey zou de stub
|
||||
# dan bij de eerste update-check overschrijven met de volledige raw-versie.
|
||||
# @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.
|
||||
{
|
||||
echo "// ==UserScript=="
|
||||
printf '// @name %s\n' "$name"
|
||||
@@ -95,6 +100,8 @@ fi
|
||||
printf '// @version %s-dev\n' "${version%-dev}"
|
||||
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"
|
||||
@@ -126,4 +133,6 @@ if [ "$copy" -eq 1 ] && command -v pbcopy >/dev/null 2>&1; then
|
||||
echo >&2
|
||||
echo "dev-stub: staat op het klembord" >&2
|
||||
fi
|
||||
echo "dev-stub: genereer de stub opnieuw na elke @version-bump, anders wijst de" >&2
|
||||
echo "dev-stub: Version-kolom in het dashboard een oude versie aan" >&2
|
||||
rm -f "$dir/.dev-stub.tmp"
|
||||
|
||||
Reference in New Issue
Block a user