feat(web,ui): per-project git provider API base URL overrides
Per provider (github|gitlab|gitea) a project override stored in ~/.config/openchamber/projects/<projectId>.json under gitProviders wins over the global settings.json value (precedence: project override > global > built-in default). Server forge routes resolve the override per request directory (worktree-aware via git-common-dir + containment + path fallback, 60s TTL cache); the override host is also accepted for remote parsing and client detection. New GET/PUT /api/projects/:projectId/git-providers route; client openchamberConfig preserves the server-owned gitProviders key; Projects page gains a Git provider API base URLs section; detection store hydrates per-project overrides (memory-only, server-authoritative).
This commit is contained in:
@@ -1124,6 +1124,9 @@ export const settingsDict = {
|
||||
'settings.projects.page.toast.customIconAlreadySet': 'Benutzerdefiniertes Symbol bereits für dieses Projekt festgelegt',
|
||||
'settings.projects.page.toast.iconDiscovered': 'Projekt-Symbol gefunden',
|
||||
'settings.projects.page.toast.saveFailed': 'Fehler beim Speichern der Projekteinstellungen',
|
||||
'settings.projects.page.gitProviders.title': 'API-Basis-URLs der Git-Anbieter',
|
||||
'settings.projects.page.gitProviders.description': 'Überschreibt die globale API-Basis-URL für dieses Projekt. Ist kein Wert gesetzt, wird die globale Einstellung verwendet.',
|
||||
'settings.projects.page.gitProviders.inheritsGlobal': 'Erbt: {url}',
|
||||
'settings.usage.sidebar.title': 'Nutzung',
|
||||
'settings.usage.sidebar.total': 'Gesamt {count}',
|
||||
'settings.usage.sidebar.actions.toggleAutoRefreshAria': 'Automatisches Aktualisieren umschalten',
|
||||
|
||||
Reference in New Issue
Block a user