Files
tibi-docs/plans/offene-issues.md
T
apairon dcdb6ee637 Darstellung: Inline-Code-Chips fuer Dark Mode, 58 Seiten auf .mdx (Komponenten rendern jetzt)
Befund 1 (Nutzer): Inline-Code war im Dark Mode kaum lesbar.
- src/styles/custom.css: eigene Chip-Farben (--tibi-inline-*), Rahmen, nowrap in der ersten Tabellenspalte
- gemessen: Text/Chip 10,2:1 dunkel, 12,4:1 hell

Befund 2 (beim Nachmessen gefunden): 58 Seiten waren .md - Starlight-Komponenten wurden NICHT gerendert
(rohe <Aside>/<Steps>-Tags, import-Zeile als sichtbarer Text auf 57 Seiten).
- alle 58 Seiten auf .mdx umgestellt und MDX-konform gemacht (Imports, Block-Tags in eigenen Zeilen,
  HTML-Kommentare -> {/* */}, geschweifte Klammern escaped)
- nachher: 428 Asides, 87 Steps, 158 Tab-Gruppen gerendert, 0 geleakte Imports
- fehlender Import in reference/hooks-daten ergaenzt

Regressionsschutz: audit-docs.mjs prueft jetzt Komponente-ohne-Import, .md-mit-Komponente,
geleakte Imports und rohe Tags im gebauten dist/. AGENTS.md 3 dokumentiert die .mdx-Regel.

Nebenfund: de.json mit ASCII-Umschreibungen -> Issue tibi-admin-nova #6
Build: 71 Seiten gruen, Audit 7 legitime Platzhalter-Marker
2026-10-17 13:54:52 +00:00

42 lines
4.5 KiB
Markdown

# Offene Punkte in den Nachbar-Repos (bereit zum Anlegen als Issue)
Stand: 2026-10-17 · **alle 14 Issues sind angelegt** (Gitea, Repos `cms/tibi-server`, `cms/tibi-admin-nova`, `cms/tibi-types`); Nummer je Zeile in der ersten Spalte.
Stand: 2026-10-17 (erste Fassung). Alle Punkte sind am Code belegt und aus dem Doku-Audit entstanden
(`plans/doku-audit.md`). Je Eintrag: Titel für das Issue, Repo, Beleg, Auswirkung, Vorschlag.
## tibi-server
| # | Titel | Beleg | Auswirkung | Vorschlag |
|---|---|---|---|---|
| S1 **#42** | Doppelte Struct-Tags in `AdminToken` | `internal/models/project.go:116-122` — `Token string \`yaml:"token" yaml:"token"\`` (ebenso `AllowReload`, `AllowRegenerateSearch`, `AllowBackup`, `allowSnapshots`) | Der zweite Tag ist wirkungslos; Copy-Paste-Fehler bei künftigen Feldern | zweiten Tag entfernen |
| S2 **#46** | Header-Name mit Doppelpunkt | `internal/controller/collection_get.go:32` — `c.Header("Content-Range:", …)` | Antwort enthält einen Header mit ungültigem Namen; Clients können die Zeilenanzahl nicht lesen | auf `Content-Range` ändern (Breaking: Clients, die den Tippfehler kennen, prüfen) |
| S3 **#44** | Hook-Kontext: Typo `reponse.header` | `internal/hook/context_response.go` | Falsches Symbol in der Hook-API; nur der Alias hält es am Leben | umbenennen, Alias eine Minor-Version behalten |
| S4 **#43** | `mcp.route`/`MCP_ROUTE` wirkungslos | `internal/config/server.go:221-224` (Feld/Env) vs. `internal/controller/setup.go:754-755` (fest `/mcp`) | Konfiguration suggeriert Steuerbarkeit, die es nicht gibt | Env entfernen oder Routing darauf umstellen |
| S5 **#45** | `docs/24-ephemeral-rest-tokens.md` ohne Code | kein Treffer für `ephemeral` in `internal/` | Doku beschreibt eine Fähigkeit, die es nicht gibt | implementieren oder Doc löschen |
| S6 **#47** | `internal/mgocrud.old/` toter Code | Verzeichnis | Verwirrung bei Neueinsteigern | löschen |
| S7 **#48** | `audit.defaultTTL`-Semantik unklar dokumentiert | `internal/mongocrud/mongo.go:477` (`if index.ExpireAfter > 0`) — `0` ⇒ **kein** TTL-Index ⇒ Einträge bleiben ewig | Betreiber erwarten bei `0` sofortiges Verfallen | Kommentar + Server-Doc: `0` = kein Ablauf |
## tibi-admin-nova
| # | Titel | Beleg | Auswirkung | Vorschlag |
|---|---|---|---|---|
| A1 **#5** | Fehlende Übersetzung im Tastenkürzel-Overlay | sichtbar im Mock-Overlay: der Key `admin.commandPalette.commands.toggleUsers` erscheint unübersetzt; `frontend/src/lib/i18n/locales/de.json` | Anwender sieht einen technischen Schlüssel | String ergänzen |
| A2 **#2** | Teilweise englische Hinweise im Backup-Dialog | Mock-Backup-Import zeigt „target has new fields…" | Sprachbruch im deutschen UI | Strings übersetzen |
| A3 **#4** | Wiederherstellen-Dialog nur bei Änderungen sichtbar | `AuditRestoreDialog.svelte` — Feldauswahl erscheint nur bei ungespeicherten Änderungen, sonst „Keine Änderungen" | Doku muss den Sonderfall erklären; im Audit erwähnt | Hinweistext im UI prüfen |
| A4 **#3** | Actions fehlen im Mock-Projekt `corporate` | `frontend/assets/mock/_config/corporate/config.yml` hatte keinen `actions`-Block (nur `t1`) | Screenshots/Reviews ohne aussagekräftiges Demo-Projekt (erledigt in der Doku-Arbeit, s. u.) | übernommen: `actions/reindex-search.yml` + `meta.exports` in `corporate` ergänzt |
| A5 **#6** | ASCII-Umschreibungen in UI-Texten | `frontend/src/lib/i18n/locales/de.json:178` („ausfuehrbare Methode fuer diese Aktion"), `:194` („vor dem Ausfuehren") | Rechtschreibfehler im deutschen UI; Doku zitiert die Texte wörtlich | Umlaute korrigieren (`ausführbare`, `für`, `Ausführen`) |
## tibi-types
| # | Titel | Beleg | Auswirkung | Vorschlag |
|---|---|---|---|---|
| T1 **#4** | Keine Doku im Repo | kein `docs/`-Verzeichnis, nur `index.d.ts` + `schemas/config/*.json` | Projektentwickler finden die Schemas nur über die zentrale Doku; Schema-Beschreibungen sind oft englisch und knapp | README mit Schema-Übersicht + Verweis auf `tibi-docs`; Beschreibungen pflegen |
| T2 **#3** | Schema-Beschreibungen teils englisch | `schemas/config/*.json` (`description`) | Deutsche Doku muss jeden Text selbst übersetzen | Feld-Beschreibungen zweisprachig oder deutsch |
**Bereits in der Doku-Arbeit umgesetzt (nur zur Info, kein Issue):** Mock-Projekt `corporate` hat jetzt
eine Aktion (`Suchindex neu aufbauen`) und zwei Export-Einträge (`Seiten-Report`, `Seiten-CSV`), damit
Screenshots und Reviews ohne `t1` auskommen. Betroffen sind
`frontend/assets/mock/_config/corporate/{config.yml,actions/reindex-search.yml,collections/pages.yml}`.