- Auto-Update-URLs (manifest.json, updates.json), release.sh OWNER, CLAUDE.md von kendrick.bollens auf hps - web-editor/docker-compose.yml: Git-Build-Context auf hps-Repo-URL Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2.4 KiB
2.4 KiB
CLAUDE.md
Thunderbird-MailExtension „HPS Vorlagen & Signaturen" mit Gitea-Sync.
Workflow (WICHTIG)
- Bei jeder Änderung, die zu den Usern soll:
versioninmanifest.jsonbumpen. Auto-Update vergleicht Versionsnummern — gleiche Version = Clients ziehen das Update NICHT. Also vor dem Build erhöhen (z.B. 2.3.0 → 2.3.1 für Fixes, 2.4.0 für Features). - Nach jeder Code-Änderung am Plugin immer die
.xpineu bauen (siehe Build unten), damittemplates-reply-hotel.xpiaktuell ist. - Sobald der User zufrieden ist ("happy"), committen — Code-Änderung + neu gebaute
.xpizusammen. Nicht ungefragt vorher committen; auf das OK des Users warten. - Soll es ausgerollt werden: Release veröffentlichen (siehe Auto-Update unten) —
./release.sh, dannupdates.json+manifest.jsoncommitten & pushen.
Build der .xpi
Immer ohne defaults.local.json bauen — die Datei enthält den Gitea-Token und darf
nicht in der (öffentlich released) .xpi landen. zip ist nicht installiert, 7z schon:
rm -f templates-reply-hotel.xpi
7z a -tzip templates-reply-hotel.xpi . \
-xr'!.git' -xr'!node_modules' -xr'!web-editor' -xr'!.claude' \
-xr'!defaults.local.json' -xr'!*.xpi' -xr'!release.sh' -xr'!*.md'
defaults.local.json wird nur beim allerersten Start gelesen (templates_options.js,
if (!config)) und ist nur zum Vorkonfigurieren frischer Installationen gedacht. Updates
brauchen sie nicht — bestehende Installs behalten ihre Config in storage.local.
Auto-Update (self-hosted über Gitea)
manifest.json→browser_specific_settings.gecko.update_urlzeigt aufupdates.json(raw aufmain). Repo muss öffentlich bleiben, sonst 401 für den anonymen Updater.- Neues Release veröffentlichen:
versioninmanifest.jsonbumpen,.xpineu bauen, dannGITEA_TOKEN=… ./release.sh(hasht die xpi, aktualisiertupdates.json, legt das Gitea- Release an + lädt die xpi hoch).release.shbricht ab, falls der Token in der xpi steckt. - Danach
updates.json+manifest.jsoncommitten & pushen.
Repo
- Sync-Daten-Repo (Templates/Signaturen):
hps/email-vorlagenaufgit.hotel-park-soltau.de. - Plugin-Source + Release-Host:
hps/hps-thunderbird-templates. Muss public bleiben — der Thunderbird-Auto-Updater greift anonym (ohne Token) aufupdates.jsonund die Release-.xpizu. Privat = 401 = Auto-Updates kaputt.