Compare commits
11
Commits
1b14553417
...
1.0.2
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
624f51679a | ||
|
|
5f90331694 | ||
|
|
4e923fa998 | ||
|
|
857322a490 | ||
|
|
6fd4f4766b | ||
|
|
e5f78f5368 | ||
|
|
bff64e5012 | ||
|
|
4e4a9ca3e1 | ||
|
|
00893fa6be | ||
|
|
b5a068d3d8 | ||
|
|
fdb9771916 |
@@ -96,59 +96,87 @@ docker compose -f docker-compose.dev.yml exec -w /app/frontend app npm run lint
|
|||||||
|
|
||||||
## Tokens
|
## Tokens
|
||||||
|
|
||||||
> **De `Vibe`-organisatie staat op public.** Alles wat alleen *leest* heeft
|
**Eén token, op het werkstation.** Dat is genoeg omdat de `Vibe`-organisatie op
|
||||||
> daardoor geen token meer nodig: `git clone`, `docker compose pull` en de
|
public staat: alles wat alleen *leest* heeft geen token meer nodig — `git clone`,
|
||||||
> update-check van de app werken anoniem. Het host-token hieronder is dus
|
`docker compose pull` en de update-check van de app werken anoniem. Wat overblijft
|
||||||
> optioneel geworden. *Schrijven* blijft geauthenticeerd — een publieke
|
is schrijven, en dat gebeurt allemaal vanaf deze ene machine.
|
||||||
> organisatie verandert daar niets aan.
|
|
||||||
|
|
||||||
Twee tokens, gesplitst op machine en op read/write. De grens die iets betekent
|
| Token | Machine | Scopes | Gebruikt voor |
|
||||||
ligt tussen werkstation en server, niet tussen push en release: op één machine
|
|---|---|---|---|
|
||||||
kan wie het ene token kan lezen, het andere ook.
|
| `vibefinance-workstation` | dit werkstation | `write:package`, `write:repository` | `docker push` (`release.ps1`, `dev.ps1 push`) én het aanmaken van de Gitea-release |
|
||||||
|
|
||||||
| Token | Machine | Scopes | Gebruikt voor | Nog nodig? |
|
Er is geen apart host-token en geen apart registry-token:
|
||||||
|---|---|---|---|---|
|
|
||||||
| `vibefinance-workstation` | dit werkstation | `write:package`, `write:repository` | `docker push` (`release.ps1`, `dev.ps1 push`) en het aanmaken van de Gitea-release | **Ja** |
|
|
||||||
| `vibefinance-host` | de Docker-host | `read:package`, `read:repository` | `docker compose pull` en de update-check van de app | Nee, zolang de organisatie public is |
|
|
||||||
|
|
||||||
Aanmaken: Gitea → Settings → Applications → Generate New Token. Doe dat onder een
|
- **`git push`** gaat over SSH (`gitea@…:Vibe/VibeFinance.git`), dus die gebruikt
|
||||||
account dat lid is van de `Vibe`-organisatie: voor schrijven volstaat
|
je SSH-sleutel en niet dit token. Werkt SSH even niet — bijvoorbeeld omdat de
|
||||||
organisatie-lidmaatschap niet automatisch, het account moet ook push-rechten op de
|
ssh-agent niet meedoet in een niet-interactieve shell, wat `Permission denied
|
||||||
repo hebben.
|
(publickey,password)` geeft — dan kun je *lezen* nu anoniem over https, omdat
|
||||||
|
de organisatie public is:
|
||||||
|
|
||||||
**Waar ze terechtkomen**
|
```powershell
|
||||||
|
git fetch https://vibehoogie.duckdns.org/Vibe/VibeFinance.git --prune --tags "+refs/heads/*:refs/remotes/origin/*"
|
||||||
|
```
|
||||||
|
|
||||||
| | Werkstation | Docker-host |
|
Die refspec werkt ook `origin/*` bij, dus daarna doen `git merge --ff-only
|
||||||
|---|---|---|
|
origin/main` en `git log origin/main` het weer. Pushen blijft SSH; `release.ps1`
|
||||||
| Registry | `docker login` (credential store), of `REGISTRY_USER` + `REGISTRY_TOKEN` in `.env.release` | niets nodig voor een pull; anders `docker login` als de gebruiker die deployt |
|
leest daarvoor `core.sshCommand` uit, omdat op Windows alleen de OpenSSH van het
|
||||||
| Gitea-API | `GITEA_TOKEN` in `.env.release` | niets nodig; optioneel `UPDATE_CHECK_TOKEN` in `.env` |
|
systeem met de ssh-agent praat en Git's eigen `ssh` niet.
|
||||||
|
- **De registry** heeft geen eigen variabele nodig: `release.ps1` en `dev.ps1`
|
||||||
|
vallen bij een ontbrekende `REGISTRY_TOKEN` terug op `GITEA_TOKEN`. Zet alleen
|
||||||
|
`REGISTRY_USER` erbij, zodat het script zelf kan inloggen als de credential
|
||||||
|
store leeg is.
|
||||||
|
- **De Docker-host** hoeft niets meer te hebben: pull en update-check zijn anoniem.
|
||||||
|
|
||||||
**Waarom een host-token read-only blijft** — voor het geval de organisatie weer
|
Aanmaken: Gitea → Settings → Applications → Generate New Token, met **beide**
|
||||||
privé gaat en je er alsnog één neerzet. Dat staat in platte tekst in `.env` op
|
scopes aangevinkt. Doe dat onder een account dat push-rechten op de repo heeft —
|
||||||
een server die de app op poort 3400 publiceert. Met schrijfrechten kan wie bij dat
|
lid zijn van de organisatie is daarvoor niet automatisch genoeg. Scopes van een
|
||||||
bestand komt — via de container, een shell op die host, of een backup — een eigen
|
bestaand token zijn later niet aan te passen, dus vink ze in één keer goed aan.
|
||||||
image als `latest` naar de registry pushen, en die host pullt `latest` zelf.
|
|
||||||
Read-only houdt je eigen deploy-pad uit de aanvalsketen.
|
**Waar hij terechtkomt** — `.env.release` naast de scripts, niet in git
|
||||||
|
(`.gitignore` pakt `.env.*`):
|
||||||
|
|
||||||
|
```ini
|
||||||
|
GITEA_TOKEN=<token met write:package + write:repository>
|
||||||
|
REGISTRY_USER=<je Gitea-account>
|
||||||
|
```
|
||||||
|
|
||||||
|
Een variabele die al in je shell staat wint, zodat je per run kunt afwijken. Een
|
||||||
|
lege waarde in het bestand wordt overgeslagen.
|
||||||
|
|
||||||
|
**Als de organisatie weer privé gaat** heb je er wél een tweede bij nodig: een
|
||||||
|
read-only token op de Docker-host, voor `docker compose pull` en
|
||||||
|
`UPDATE_CHECK_TOKEN`. Houd dat token dan read-only. Het staat in platte tekst in
|
||||||
|
`.env` op een server die de app op poort 3400 publiceert; met schrijfrechten kan
|
||||||
|
wie bij dat bestand komt — via de container, een shell op die host, of een
|
||||||
|
backup — een eigen image als `latest` naar de registry pushen, en die host pullt
|
||||||
|
`latest` zelf. Read-only houdt je eigen deploy-pad uit de aanvalsketen.
|
||||||
|
|
||||||
### Wat een foutcode betekent
|
### Wat een foutcode betekent
|
||||||
|
|
||||||
| Status | Betekenis |
|
| Status | Betekenis |
|
||||||
|---|---|
|
|---|---|
|
||||||
| 401 | Token ongeldig of verlopen. Op de registry: helemaal niet ingelogd. |
|
| 401 | Token ongeldig, verlopen of ingetrokken — Gitea herkent hem niet. Op de registry: helemaal niet ingelogd. |
|
||||||
| 403 | Het token mag de repo wél zien, maar mist de **scope** voor dit endpoint. Gitea noemt de vereiste scope in de response-body. |
|
| 403 | Het token **bestaat en werkt**, maar mist de **scope** voor dit endpoint. Gitea noemt de vereiste scope in de response-body. |
|
||||||
| 404 | Het token mag de repo niet zien. Gitea geeft geen 403, om niet te verklappen dat iets bestaat: verkeerd account, of geen toegang tot de organisatie. Nu de organisatie public is, wijst een 404 op een leesactie eerder op een verkeerde URL dan op rechten. |
|
| 404 | Het token mag de repo niet zien. Gitea geeft geen 403, om niet te verklappen dat iets bestaat: verkeerd account, of geen toegang tot de organisatie. Nu de organisatie public is, wijst een 404 op een leesactie eerder op een verkeerde URL dan op rechten. |
|
||||||
|
|
||||||
Scopes van een bestaand token zijn in Gitea niet aan te passen. Bij een 403 maak
|
Scopes van een bestaand token zijn in Gitea niet aan te passen. Bij een 403 maak
|
||||||
je dus een nieuw token aan; bijwerken kan niet.
|
je dus een nieuw token aan; bijwerken kan niet.
|
||||||
|
|
||||||
Nakijken wie een token is en wat hij ziet:
|
**Leeft mijn token nog?** Juist dat onderscheid tussen 401 en 403 is de test.
|
||||||
|
Vraag *niet* `/api/v1/user` op om te kijken "wie het token is": het
|
||||||
|
werkstation-token heeft geen `read:user`, dus dat endpoint geeft altijd 403 en
|
||||||
|
zegt niets over geldigheid. Kijk naar de statuscode, niet naar de inhoud:
|
||||||
|
|
||||||
```powershell
|
```powershell
|
||||||
$h = @{ Authorization = "token $env:GITEA_TOKEN" }
|
$u = "https://vibehoogie.duckdns.org/api/v1/user/repos"
|
||||||
(Invoke-RestMethod https://vibehoogie.duckdns.org/api/v1/user -Headers $h).login
|
try { (Invoke-WebRequest $u -Headers @{ Authorization = "token $env:GITEA_TOKEN" } -UseBasicParsing).StatusCode }
|
||||||
(Invoke-RestMethod https://vibehoogie.duckdns.org/api/v1/user/repos -Headers $h).full_name
|
catch { $_.Exception.Response.StatusCode.value__ }
|
||||||
```
|
```
|
||||||
|
|
||||||
|
`403` = het token leeft (alleen deze scope ontbreekt). `401` = ingetrokken of
|
||||||
|
fout gekopieerd. Nagemeten op 2026-09-10: geen header `401`, een nep-token van 40
|
||||||
|
nullen `401`, het werkstation-token `403`.
|
||||||
|
|
||||||
Vanuit de app-container op de host valt de body van een fout anders weg —
|
Vanuit de app-container op de host valt de body van een fout anders weg —
|
||||||
busybox-`wget` gooit die bij een foutstatus weg, en Node zit in het image:
|
busybox-`wget` gooit die bij een foutstatus weg, en Node zit in het image:
|
||||||
|
|
||||||
@@ -168,14 +196,21 @@ docker exec vibefinance_app node -e 'const t=process.env.UPDATE_CHECK_TOKEN; fet
|
|||||||
> waarde helemaal geen header. Nagemeten op 2026-09-10:
|
> waarde helemaal geen header. Nagemeten op 2026-09-10:
|
||||||
> geen header `200`, `token ongeldig123` `401`, leeg `200`.
|
> geen header `200`, `token ongeldig123` `401`, leeg `200`.
|
||||||
|
|
||||||
### Tokens opruimen
|
### Oude tokens opruimen
|
||||||
|
|
||||||
De lijst onder Settings → Applications heeft een kolom **Last used**. Zet eerst
|
Nu er één token overblijft, kunnen de rest weg — maar niet op de gok. De lijst
|
||||||
beide machines om, draai daarna een release en een pull, en kijk een dag later
|
onder Settings → Applications heeft een kolom **Last used**. Werkwijze:
|
||||||
welke tokens niet meer meebewegen — die kun je intrekken. Betrouwbaarder dan uit
|
|
||||||
de naam afleiden wat waar in gebruik is. Trek niets in vóór die controle: het
|
1. Zet het nieuwe token in `.env.release` en draai een release die helemaal
|
||||||
token achter je `docker login` op dit werkstation laat een release op de push
|
doorloopt (inclusief `docker push` en stap 5).
|
||||||
falen.
|
2. Kijk in de lijst welk token net **Last used** heeft gekregen.
|
||||||
|
3. Wacht een dag en trek de tokens in die niet meer meebewegen.
|
||||||
|
|
||||||
|
Betrouwbaarder dan uit de naam afleiden wat waar in gebruik is. Trek vooral niets
|
||||||
|
in vóór die controle: het token achter je `docker login` zit in de credential
|
||||||
|
store en niet in een bestand, dus je ziet aan niets welke het is — trek je die
|
||||||
|
in, dan valt de push in stap 3 om. Loopt dat toch mis, dan is
|
||||||
|
`docker login vibehoogie.duckdns.org` met het nieuwe token genoeg.
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
@@ -222,16 +257,15 @@ in de volgende commit.
|
|||||||
Staat er een `.env.release` naast `release.ps1`, dan leest het script die in
|
Staat er een `.env.release` naast `release.ps1`, dan leest het script die in
|
||||||
voordat er iets gebeurt, en hoeft stap 3 niet meer met de hand:
|
voordat er iets gebeurt, en hoeft stap 3 niet meer met de hand:
|
||||||
|
|
||||||
```
|
```ini
|
||||||
# .env.release — staat in .gitignore, hoort alleen op de release-machine
|
# .env.release — staat in .gitignore, hoort alleen op de release-machine
|
||||||
GITEA_TOKEN=<vibefinance-workstation>
|
GITEA_TOKEN=<vibefinance-workstation>
|
||||||
REGISTRY_USER=<gitea-gebruiker>
|
REGISTRY_USER=<gitea-gebruiker>
|
||||||
REGISTRY_TOKEN=<vibefinance-workstation>
|
|
||||||
```
|
```
|
||||||
|
|
||||||
Beide tokenvariabelen krijgen hetzelfde token; zie [Tokens](#tokens) voor waarom
|
`REGISTRY_TOKEN` hoeft er niet in: beide scripts vallen bij een ontbrekende
|
||||||
dat op deze machine één token mag zijn, en voor wat een 401, 403 of 404 van Gitea
|
`REGISTRY_TOKEN` terug op `GITEA_TOKEN`. Zie [Tokens](#tokens) voor de scopes en
|
||||||
betekent.
|
voor wat een 401, 403 of 404 van Gitea betekent.
|
||||||
|
|
||||||
Een variabele die al in je shell staat wint, zodat je per run kunt afwijken zonder
|
Een variabele die al in je shell staat wint, zodat je per run kunt afwijken zonder
|
||||||
het bestand aan te passen. Het script logt alleen welke namen het heeft geladen,
|
het bestand aan te passen. Het script logt alleen welke namen het heeft geladen,
|
||||||
@@ -430,8 +464,9 @@ machine — `vibefinance-workstation`, zie [Tokens](#tokens). Zonder login faalt
|
|||||||
een push met `401 Unauthorized`; `release.ps1` en `dev.ps1 push` controleren dit
|
een push met `401 Unauthorized`; `release.ps1` en `dev.ps1 push` controleren dit
|
||||||
vóór de build en stoppen dan meteen.
|
vóór de build en stoppen dan meteen.
|
||||||
|
|
||||||
Liever niet handmatig inloggen? Zet `REGISTRY_USER` en `REGISTRY_TOKEN` in
|
Liever niet handmatig inloggen? Zet `REGISTRY_USER` in `.env.release`, dan logt
|
||||||
`.env.release`, dan logt het script zelf in.
|
het script zelf in met `GITEA_TOKEN` — een aparte `REGISTRY_TOKEN` is alleen
|
||||||
|
nodig als je daar bewust een ánder token voor wilt gebruiken.
|
||||||
|
|
||||||
Twee valkuilen: log in op `vibehoogie.duckdns.org` **zonder** `:3000` (dat is een
|
Twee valkuilen: log in op `vibehoogie.duckdns.org` **zonder** `:3000` (dat is een
|
||||||
aparte sleutel in de credential store), en doe het als dezelfde Windows-gebruiker
|
aparte sleutel in de credential store), en doe het als dezelfde Windows-gebruiker
|
||||||
@@ -489,7 +524,43 @@ dat op het belletje in de topbalk en onder "Over VibeFinance".
|
|||||||
|
|
||||||
Builds met een `-dev` suffix melden nooit (die lopen voor op de laatste release).
|
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`
|
Wil je de melding tijdens ontwikkeling toch testen: open de app met `?updatecheck`
|
||||||
in de URL.
|
in de URL. Let op dat `isNieuwer` alleen bij een écht hoger nummer aanslaat — bij
|
||||||
|
`1.0.2-dev` naast release `1.0.1` blijft de kaart dus ook met `?updatecheck` leeg.
|
||||||
|
Zet dan tijdelijk een lagere versie in de root `package.json`.
|
||||||
|
|
||||||
|
**Wat de melding toont**
|
||||||
|
|
||||||
|
Alleen de kop, de versieregel en een link:
|
||||||
|
|
||||||
|
```
|
||||||
|
🔔 Nieuwe versie beschikbaar
|
||||||
|
v1.0.1 is uitgebracht. Je gebruikt momenteel v1.0.0.
|
||||||
|
Release bekijken →
|
||||||
|
```
|
||||||
|
|
||||||
|
De release-notes staan er bewust **niet** in. `/api/update-check` stuurt ze wel
|
||||||
|
mee als `notes`, maar dat is de ruwe Markdown uit de changelog; in een kaart van
|
||||||
|
280px leverde dat zichtbare `### `-koppen en afgekapte regels op. Wie de details
|
||||||
|
wil, volgt de link. Het veld blijft in de API zitten voor het geval je ze ooit
|
||||||
|
ergens met meer ruimte wilt tonen — dan is Markdown renderen de volgende stap.
|
||||||
|
|
||||||
|
**De release-link hangt aan Gitea's `ROOT_URL`**
|
||||||
|
|
||||||
|
De `url` in het antwoord is de `html_url` van de release, en die stelt Gitea bij
|
||||||
|
elk verzoek samen uit `ROOT_URL` in `app.ini` — hij wordt *niet* per release
|
||||||
|
opgeslagen. Staat `ROOT_URL` op een intern adres, dan wijst "Release bekijken"
|
||||||
|
naar iets dat buiten je netwerk niet bestaat, terwijl de melding zelf gewoon
|
||||||
|
werkt (die leest alleen het versienummer).
|
||||||
|
|
||||||
|
Nakijken welke waarde Gitea daadwerkelijk gebruikt — de `issuer` is `ROOT_URL`:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
curl -s https://vibehoogie.duckdns.org/.well-known/openid-configuration | grep issuer
|
||||||
|
```
|
||||||
|
|
||||||
|
`app.ini` wordt alleen bij het opstarten gelezen, dus na een wijziging moet Gitea
|
||||||
|
herstarten. Omdat de URL wordt samengesteld en niet bewaard, zijn daarna álle
|
||||||
|
releases in één keer goed — ook de oude. Een `PATCH` per release is niet nodig.
|
||||||
|
|
||||||
**Configuratie**
|
**Configuratie**
|
||||||
|
|
||||||
|
|||||||
@@ -2,6 +2,20 @@
|
|||||||
|
|
||||||
## [Niet vrijgegeven]
|
## [Niet vrijgegeven]
|
||||||
|
|
||||||
|
### Gewijzigd
|
||||||
|
- De update-melding op het belletje toont alleen nog de kop, de versieregel en de
|
||||||
|
link naar de release. De release-notes stonden er als ruwe Markdown in — in een
|
||||||
|
kaart van 280px leverde dat zichtbare `### `-koppen en afgekapte regels op.
|
||||||
|
`/api/update-check` stuurt `notes` nog wel mee, zodat ze later ergens met meer
|
||||||
|
ruimte gebruikt kunnen worden
|
||||||
|
- `BEHEER.md` legt vast dat de release-link uit Gitea's `ROOT_URL` wordt
|
||||||
|
samengesteld en niet per release wordt opgeslagen: na een `ROOT_URL`-wijziging
|
||||||
|
plus herstart zijn álle releases in één keer goed, ook de oude. Verder staat er
|
||||||
|
nu hoe je aan het verschil tussen `401` en `403` ziet of een token nog leeft, en
|
||||||
|
hoe je anoniem over https fetcht als SSH niet meedoet
|
||||||
|
|
||||||
|
## [1.0.1] - 2026-09-10
|
||||||
|
|
||||||
### Toegevoegd
|
### Toegevoegd
|
||||||
- Kolommen in de tabellen op Eigen Vermogen ("Geïnvesteerde Fiat") en Voortgang
|
- Kolommen in de tabellen op Eigen Vermogen ("Geïnvesteerde Fiat") en Voortgang
|
||||||
zijn versleepbaar: pak de rechterrand van een kolomkop. De breedtes gaan per
|
zijn versleepbaar: pak de rechterrand van een kolomkop. De breedtes gaan per
|
||||||
@@ -17,6 +31,11 @@
|
|||||||
ondersteunt hem nog als vangnet voor het geval de organisatie weer privé
|
ondersteunt hem nog als vangnet voor het geval de organisatie weer privé
|
||||||
wordt. Schrijven verandert niet: `docker push` en het aanmaken van een release
|
wordt. Schrijven verandert niet: `docker push` en het aanmaken van een release
|
||||||
hebben nog steeds het werkstation-token nodig
|
hebben nog steeds het werkstation-token nodig
|
||||||
|
- Het tweetoken-model in `BEHEER.md` is teruggebracht tot **één** Gitea-token op
|
||||||
|
het werkstation, met `write:package` en `write:repository`. Het host-token is
|
||||||
|
niet meer nodig (pull en update-check zijn anoniem), `git push` gaat over SSH,
|
||||||
|
en `REGISTRY_TOKEN` hoeft niet apart: `release.ps1` en `dev.ps1` vielen daar al
|
||||||
|
terug op `GITEA_TOKEN`. Geen code-wijziging, alleen minder te beheren
|
||||||
- De tabellen op Eigen Vermogen en Voortgang staan op `table-layout: fixed`,
|
- De tabellen op Eigen Vermogen en Voortgang staan op `table-layout: fixed`,
|
||||||
nodig om ingestelde kolombreedtes te respecteren. Gevolg: lange tekst rekt een
|
nodig om ingestelde kolombreedtes te respecteren. Gevolg: lange tekst rekt een
|
||||||
kolom niet meer op maar wordt afgekapt met een ellips. De Opmerkingen-cellen
|
kolom niet meer op maar wordt afgekapt met een ellips. De Opmerkingen-cellen
|
||||||
|
|||||||
@@ -10,7 +10,7 @@ Eigen vermogen · Schulden · Voortgang · Gebruikersbeheer
|
|||||||

|

|
||||||

|

|
||||||

|

|
||||||

|

|
||||||

|

|
||||||
|
|
||||||
<img src="docs/screenshot-dashboard.png" alt="VibeFinance dashboard" width="820">
|
<img src="docs/screenshot-dashboard.png" alt="VibeFinance dashboard" width="820">
|
||||||
@@ -121,7 +121,8 @@ backend/package.json (15 dependencies)
|
|||||||
|
|
||||||
```powershell
|
```powershell
|
||||||
# token: staat in .env.release, of eenmalig in de shell
|
# token: staat in .env.release, of eenmalig in de shell
|
||||||
$env:GITEA_TOKEN = "<token met write:repository>"
|
# één Gitea-token met write:package (push) én write:repository (release)
|
||||||
|
$env:GITEA_TOKEN = "<token met write:package + write:repository>"
|
||||||
.\release.ps1
|
.\release.ps1
|
||||||
```
|
```
|
||||||
|
|
||||||
@@ -170,6 +171,7 @@ vibefinance/
|
|||||||
│ ├── vite.config.js # /api proxy naar de API in dezelfde container
|
│ ├── vite.config.js # /api proxy naar de API in dezelfde container
|
||||||
│ └── src/
|
│ └── src/
|
||||||
│ ├── App.jsx # Root – wiring + idle-logout
|
│ ├── App.jsx # Root – wiring + idle-logout
|
||||||
|
│ ├── App.css # Reset + losse klassen (o.a. .kolom-grip)
|
||||||
│ ├── main.jsx
|
│ ├── main.jsx
|
||||||
│ ├── version.js # Draaiende versie (__APP_VERSION__ uit de build)
|
│ ├── version.js # Draaiende versie (__APP_VERSION__ uit de build)
|
||||||
│ ├── constants/ # Kleuren, tabs, begindata
|
│ ├── constants/ # Kleuren, tabs, begindata
|
||||||
@@ -298,8 +300,9 @@ Het schema wordt bij het starten van de app aangemaakt/bijgewerkt via
|
|||||||
## 🛠️ Beheer
|
## 🛠️ Beheer
|
||||||
|
|
||||||
Zie `BEHEER.md` voor commando's voor lokale ontwikkeling, releases, logs en
|
Zie `BEHEER.md` voor commando's voor lokale ontwikkeling, releases, logs en
|
||||||
database-toegang — en voor de sectie **Tokens**: welk Gitea-token op welke
|
database-toegang — en voor de sectie **Tokens**: waarom één Gitea-token op het
|
||||||
machine hoort, met welke scopes, en wat een 401, 403 of 404 van Gitea betekent.
|
werkstation genoeg is, welke scopes het nodig heeft, en wat een 401, 403 of 404
|
||||||
|
van Gitea betekent.
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "vibefinance-frontend",
|
"name": "vibefinance-frontend",
|
||||||
"version": "1.0.1-dev",
|
"version": "1.0.2-dev",
|
||||||
"private": true,
|
"private": true,
|
||||||
"type": "module",
|
"type": "module",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
|
|||||||
@@ -209,14 +209,10 @@ function AppInner() {
|
|||||||
<div style={{ fontSize: 12, color: T.muted, lineHeight: 1.5 }}>
|
<div style={{ fontSize: 12, color: T.muted, lineHeight: 1.5 }}>
|
||||||
v{nieuweVersie.latest} is uitgebracht. Je gebruikt momenteel v{version}.
|
v{nieuweVersie.latest} is uitgebracht. Je gebruikt momenteel v{version}.
|
||||||
</div>
|
</div>
|
||||||
{nieuweVersie.notes && (
|
{/* De release-notes zelf staan hier niet: dat is Markdown
|
||||||
<div style={{
|
uit de changelog, en die kwam als ruwe `### `-koppen in
|
||||||
fontSize: 11, color: T.subtext, marginTop: 6, lineHeight: 1.5,
|
een smalle kolom te staan. Wie de details wil, volgt de
|
||||||
maxHeight: 130, overflowY: "auto", whiteSpace: "pre-wrap",
|
link naar de release. */}
|
||||||
}}>
|
|
||||||
{nieuweVersie.notes}
|
|
||||||
</div>
|
|
||||||
)}
|
|
||||||
{nieuweVersie.url && (
|
{nieuweVersie.url && (
|
||||||
<a href={nieuweVersie.url} target="_blank" rel="noreferrer" style={{
|
<a href={nieuweVersie.url} target="_blank" rel="noreferrer" style={{
|
||||||
display: "inline-block", marginTop: 8,
|
display: "inline-block", marginTop: 8,
|
||||||
|
|||||||
+1
-1
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "vibefinance",
|
"name": "vibefinance",
|
||||||
"version": "1.0.1",
|
"version": "1.0.2",
|
||||||
"description": "VibeFinance — persoonlijk vermogensbeheer",
|
"description": "VibeFinance — persoonlijk vermogensbeheer",
|
||||||
"private": true,
|
"private": true,
|
||||||
"repository": "https://vibehoogie.duckdns.org/vibe/VibeFinance",
|
"repository": "https://vibehoogie.duckdns.org/vibe/VibeFinance",
|
||||||
|
|||||||
Reference in New Issue
Block a user