Donut-hover met percentages en werkende update-notificatie
- Donut: naadloze segmenten (donkere spleten weg), hover-tooltip per categorie met naam, bedrag en aandeel, middenwaarde schaalt mee - Update-check via de eigen backend (/api/update-check) i.p.v. direct naar de Gitea API, die geen CORS-headers stuurt - Semver-vergelijking, herhaalde check en release-notes in de melding - release.ps1 maakt de Gitea-release aan (stap 4) Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5
parent
e45d5b73fb
commit
3c67381de9
@@ -184,11 +184,48 @@ docker login vibehoogie.duckdns.org:3000
|
||||
|
||||
## Update-notificaties
|
||||
|
||||
De app vergelijkt de draaiende versie met de laatste release op Gitea. Configuratie staat in `package.json`:
|
||||
De app vergelijkt de draaiende versie met de laatste **release** op Gitea en toont
|
||||
dat op het belletje in de topbalk en onder "Over VibeFinance".
|
||||
|
||||
**Hoe de check loopt**
|
||||
|
||||
1. De frontend vraagt `/api/update-check` op de eigen backend — de Gitea API stuurt
|
||||
geen CORS-headers, dus de browser mag die niet direct bevragen.
|
||||
2. De backend haalt `releases/latest` bij Gitea op en cachet het antwoord 15 minuten.
|
||||
3. De frontend kijkt bij het openen, daarna elk half uur en bij het terugkeren naar
|
||||
het tabblad. Alleen een écht hoger versienummer geeft een melding.
|
||||
|
||||
Builds met een `-dev` suffix melden nooit (die lopen voor op de laatste release).
|
||||
Wil je de melding tijdens ontwikkeling toch testen: open de app met `?updatecheck`
|
||||
in de URL.
|
||||
|
||||
**Configuratie**
|
||||
|
||||
De bron staat in de root `package.json`:
|
||||
|
||||
```json
|
||||
"repository": "https://vibehoogie.duckdns.org:3000/vibe/VibeFinance",
|
||||
"updateCheckUrl": "https://vibehoogie.duckdns.org:3000/api/v1/repos/vibe/VibeFinance/releases/latest"
|
||||
"repository": "https://vibehoogie.duckdns.org/vibe/VibeFinance",
|
||||
"updateCheckUrl": "https://vibehoogie.duckdns.org/api/v1/repos/vibe/VibeFinance/releases/latest"
|
||||
```
|
||||
|
||||
Vite en de build-scripts lezen deze velden automatisch uit — geen handmatige build-args nodig.
|
||||
`dev.ps1` zet die URL als `UPDATE_CHECK_URL` in de omgeving; in productie komt hij
|
||||
uit `.env` (of de default in `docker-compose.yml`). Beschikbare backend-variabelen:
|
||||
|
||||
| Variabele | Betekenis |
|
||||
|---|---|
|
||||
| `UPDATE_CHECK_URL` | Release-API die gepolld wordt. Leeg = melding uit. |
|
||||
| `UPDATE_CHECK_TOKEN` | Alleen nodig als de repo in Gitea niet publiek leesbaar is. |
|
||||
|
||||
**Een release publiceren**
|
||||
|
||||
Een kale Git-tag is niet genoeg: `releases/latest` geeft alleen echte releases terug.
|
||||
`release.ps1` maakt die aan (stap 4) met de changelog-sectie van die versie als
|
||||
release-notes. Daarvoor is een Gitea-token met release-rechten nodig:
|
||||
|
||||
```powershell
|
||||
$env:GITEA_TOKEN = "<token>"
|
||||
.\release.ps1
|
||||
```
|
||||
|
||||
Zonder token slaat het script die stap over met een waarschuwing — images en tag
|
||||
staan dan wel klaar, maar gebruikers zien geen melding tot de release bestaat.
|
||||
|
||||
Reference in New Issue
Block a user