Files
management/docs/issues/0100-threadnet-web-13-asset-pfade-tragen-weiterhin-element-themes-e.md
Thore CimbalandClaude Opus 5 a1def8666e feat(issues): adopt the component trackers — one backlog, one numbering (ADR-0019)
ADR-0012 made docs/issues/ canonical for the management scope only and left
gitops, ThreadNet-Web and threadnet-call on GitLab "until the component adopts".
That split produced exactly what it invited: two numbering worlds where
management#20 and gitops#20 are different issues, drift nobody had to answer for
(gitops#61 carried no milestone since 2026-08-11), and component backlogs that
host sessions without lab access cannot read at all.

The 46 open component issues are now files 0056-0101. The file id is the
group-wide identifier; provenance lives in the frontmatter (new field `projekt`
plus gitlab_iid) and in the filename, so "gitops#61" still finds 0091. Bodies are
copied verbatim; comments and history stay on GitLab, as with the 2026-08-11
management import.

Both scripts learned the second dimension: spiegel_issues.py routes each file to
its origin project, reopens issues that are open in the repo but closed on the
board, and writes the new iid back after creating one; gruppenpruefung.py checks
drift across all four trackers instead of management alone. What the mirror
cannot decide stays a finding, not a silent state.

Two things needed a hand, both recorded in the files: gitops#61 had no milestone
(M1 - it is a live account-takeover path) and carried two area labels where the
schema holds one. The Gitea migration footers in the imported bodies point at
decommissioned trackers; their links are removed, the provenance sentence stays.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-18 12:00:00 +00:00

58 lines
2.8 KiB
Markdown

---
type: issue
id: "0100"
status: open
created: 2026-08-07
milestone: M4
priority: low
projekt: threadnet-web
gitlab_iid: "13"
related: []
---
# Asset-Pfade tragen weiterhin "element" (themes/element/…)
> Adoptiert aus [threadnet-web#13](https://git.lab/axion1337.chat/ThreadNet-Web/-/issues/13) (2026-08-18, ADR-0019). Kommentare und Verlauf bleiben dort; kanonisch ist ab jetzt diese Datei.
Aufgefallen beim Titelbild-Tausch (sorb, 2026-08-07): Das neue Hintergrundbild liegt unter
```
themes/element/img/backgrounds/alpenglow.jpg
```
Im Browser sieht man also weiterhin `element` im Pfad, obwohl der Client ThreadNet heißt.
## Wie weit das reicht
Betroffene Verzeichnisse im Fork:
- `apps/web/res/themes/element/` — das Theme-Verzeichnis
- `apps/web/res/img/element-icons/`
- `apps/desktop/element.io/` — Upstreams Varianten-Verzeichnis (unsere liegt daneben in `axion1337/`)
Verweise darauf im Quelltext: **8 Stellen**, unter anderem
| Datei | wofür |
|---|---|
| `SdkConfig.ts` | `auth_header_logo_url`, `welcome_background_url` |
| `AuthHeaderLogo.tsx`, `HomePage.tsx` | Fallback-Logo |
| `ErrorView.tsx` | drei Store-Badges |
| `HelpUserSettingsTab.tsx` | Link in der Danksagung |
⚠️ **Und außerhalb des Repos:** Authentiks Brand zeigt auf
`https://axion1337.chat/themes/element/img/backgrounds/alpenglow.jpg`
(`apps/authentik/authentik-blueprints.yaml`). Eine Umbenennung macht die
**Anmeldeseite grau**, wenn sie nicht in derselben Runde mitgezogen wird — und zwar in dieser Reihenfolge: erst Client bauen und ausrollen, dann Authentik.
## Warum das mehr kostet, als es aussieht
1. **`element` ist nicht nur ein Ordnername, sondern der Theme-Bezeichner.** Element Web löst Themes über diesen Pfad auf. Ein Umbenennen ohne vollständiges Nachziehen bricht die Theme-Auflösung — und das fällt erst im Browser auf, nicht im Build.
2. **Merge-Reibung.** `res/themes/element/` ist Upstreams Verzeichnis. Ein umbenanntes Verzeichnis kollidiert bei **jedem** Upstream-Update, das Theme-Assets anfasst — und wir haben ohnehin keinen gemeinsamen Vorfahren (ThreadNet-Web#12). Das verlagert Aufwand in jede künftige Aktualisierung.
## Ehrliche Einordnung
`priority:low`. Sichtbar ist es nur in URLs — Rechtsklick auf das Bild, Entwicklerwerkzeuge, geteilte Links. Kein Nutzer stolpert im normalen Betrieb darüber. Es ist Politur, und sie hat laufende Kosten.
**Naheliegender Zuschnitt, falls angegangen:** ein *zusätzliches* Verzeichnis `themes/threadnet/` für unsere eigenen Assets anlegen und nur die dorthin zeigen, die wir selbst mitbringen (Titelbild, Logos). Upstreams `themes/element/` bleibt unangetastet — dann entsteht keine Merge-Reibung, und der sichtbare Pfad stimmt für alles, was wirklich von uns ist.
Gehört inhaltlich zu ThreadNet-Web#7 (Rebranding-Gesamtklammer).