Version-System: /api/version, Frontend, main.py-Konsistenz (inkl. ehem. #33) #32
Loading…
Reference in New Issue
Block a user
No description provided.
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Ziel
Nachvollziehbarkeit von App-Version und Komponenten gemäß
.claude/rules/ARCHITECTURE.md: öffentlicher Versions-Endpoint, Anzeige in der App, eine konsistente Quelle statt verstreuter Literals – siehe auch den früheren Teil-Task zumain.py(ehemals #33, hier integriert).Ist-Stand (Stand develop, 2026-04)
backend/version.py(APP_VERSION,BUILD_DATE,MODULE_VERSIONS,CHANGELOG,DB_SCHEMA_VERSION)GET /api/version+routers/version.pyfrontend/src/version.js(APP_VERSION,PAGE_VERSIONS)main.py: Root-Healthversion: "v9c-dev"+FastAPI(..., version="3.0.0")Die ursprüngliche Issue-Beschreibung ging noch von fehlendem
version.pyaus; das ist überholt.Vorgehen (Umsetzung in diesem Issue)
Backend
backend/routers/version.py:GET /api/versionohne Auth, Response ausversion.py(Schema wie ARCHITECTURE / Beispiel unten;environmentz. B. per Env-Variable)main.pyregistrieren/und idealerweiseFastAPI(..., version=…)nutzen dieselbe öffentliche Versionsangabe wie der Endpoint (z. B.from version import APP_VERSIONbzw. kleine Hilfsfunktion, keine veralteten Literals wiev9c-dev)Frontend
frontend/src/version.jsmitAPP_VERSION,BUILD_DATE,PAGE_VERSIONS(Start mit relevanten Seiten, erweiterbar)SettingsPage.jsx: Versions-Panel (Backend via/api/version, Abgleich mit gebündelter Frontend-Version, Erreichbarkeit)api.js: z. B.getVersion()für/versionOptional / spätere Iteration (nicht Gegenstand dieses Issues)
/deploy-Slash-Command: Bump-Hinweis (wie ursprünglich erwähnt) – eigenes Mini-Issue, wenn gewünschtversion.py+/api/versionsteht; Ziel wäre weniger manuelle Konflikte bei vielen parallelen Änderungen und bessere Fehler-Zuordnung in Gitea über den Commit.Beispiel
GET /api/version(orientierend)(
app_versionentspricht dem tatsächlichen Wert inversion.py, nicht den alten Platzhaltern9.3.0aus der Erstfassung.)Akzeptanzkriterien
GET /api/versionliefert vollständige, stabile JSON-Struktur (öffentlich)main.pyRoot-Payload; Abgleich mitversion.py/ EndpointDB_SCHEMA_VERSION: weiter wie inversion.py(manuell zum Migrationsstand; Automatik gfl. im späteren Build-/Git-Issue)Referenz
.claude/rules/ARCHITECTURE.mdAbschnitt 2 (Versionskontrollsystem)docs/issues/REVIEW_OPEN_ISSUES_2026-04-04.md(Code-Review-Hinweise zu #32/#33)Hinweis: Ehemaliges Issue #33 („main.py hardcoded Version“) ist in diese Beschreibung eingegangen und wird als geschlossen / Duplikat → hier geführt.
Version-System implementieren (version.py + /api/version Endpoint)to Version-System: /api/version, Frontend, main.py-Konsistenz (inkl. ehem. #33)