docs(discord-bridge): nota despre <base href> in README-ul dashboard-ului

Completeaza e0ea850: sectiunea despre montarea sub prefix descria inca vechea
solutie (URL-uri relative + 301), nu pe cea care a rezolvat de fapt problema.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01B29CApsP1JkSdjYaGaHpE7
This commit is contained in:
Claude Agent
2026-08-30 14:11:46 +00:00
parent e0ea85005d
commit e203ee021d

View File

@@ -141,13 +141,17 @@ Configuratia e persistata de `tailscaled`, deci supravietuieste repornirilor.
**Montarea sub prefix**, cele doua capcane si cum sunt rezolvate:
- `tailscale serve --set-path` **taie** prefixul inainte de a proxa, deci serverul
vede `/api/status`, nu `/claude/api/status`. Toate URL-urile din pagini sunt
**relative**, deci merg la orice prefix, fara sa stie de el. `DASHBOARD_PREFIX`
e nevoie doar pentru redirecturi si e acceptat si intact pe intrare (`curl`
direct pe localhost cu `/claude/...` functioneaza).
- adresa **fara slash final** (`/claude`) ar rezolva `api/status` la radacina
hostului, unde proxy-ul nu mai trimite nimic incoace; de aceea forma fara slash
primeste un 301 catre `/claude/`.
vede `/api/status`, nu `/claude/api/status`. URL-urile din pagini sunt relative,
iar `<base href="/claude/">` se pune **la servire**, din `DASHBOARD_PREFIX`.
Prefixul e acceptat si intact pe intrare, deci `curl` direct pe localhost cu
`/claude/...` functioneaza la fel.
- adresa **fara slash final** (`/claude`) ajunge la server tot ca `/`, exact ca
`/claude/`: proxy-ul taie prefixul si nu lasa nicio urma a formei originale.
Fara `<base href>`, `api/status` s-ar rezolva atunci la radacina hostului, unde
proxy-ul nu mai trimite nimic incoace — pagina se incarca si **ramane goala,
fara nicio eroare vizibila**. Exact asta s-a intamplat la prima folosire reala.
- paginile se servesc cu `Cache-Control: no-store`: poarta de acum configuratie
(`base href`), iar o copie veche din cache ar trimite cererile in alta parte.
### Prin tunel SSH
@@ -165,7 +169,7 @@ cd proxmox/lxc171-claude-agent/discord-bridge
python3 -m pytest tests/test_dashboard.py -q
```
31 de teste, fara retea si fara `systemctl` real (dublura inregistreaza apelurile).
35 de teste, fara retea si fara `systemctl` real (dublura inregistreaza apelurile).
Acopera autentificarea, faptul ca unitatea nu poate fi aleasa din cerere, blocajul pe
tur in zbor si trecerea cu `force`, traversarea de cale in `request_id`, `state.json`
corupt, montarea sub prefix (cu si fara slash final) si verificarea de regresie