Status LEDs, image model selection, backup restore, provider test, monthly versions
- Sidebar: three status LEDs (server, models, MCP) with an overview popover (/api/status) - Images: preview stage, purpose-based model choice and reference images (Nano Banana Pro edit refines the chosen preview) - Settings: restore a stored or uploaded backup (staged, applied on restart) - Provider form: test connection; saving or reloading re-checks the status at once - opencode Zen/Go: send x-opencode-session with a stable id per conversation - Releases are named vYYYYMM-NNNNN; scripts/release.sh numbers, tags, builds and publishes - Fix: backups made in the same second no longer overwrite each other Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
49d404eec7
commit
1f69d63b09
35 files changed
+1156
-88
No files matched your search
@@ -204,6 +204,21 @@ export const de: Messages = {
|
||||
"sidebar.yesterday": "Gestern",
|
||||
"sidebar.week": "Letzte 7 Tage",
|
||||
"sidebar.older": "Älter",
|
||||
"status.title": "Status",
|
||||
"status.server": "Server",
|
||||
"status.models": "Modelle",
|
||||
"status.mcp": "MCP",
|
||||
"status.level.ok": "alles in Ordnung",
|
||||
"status.level.warn": "teilweise nicht verfügbar",
|
||||
"status.level.err": "nicht verfügbar",
|
||||
"status.level.off": "keine konfiguriert",
|
||||
"status.providerOk": "{n} Modelle · {ms} ms",
|
||||
"status.notChecked": "noch nicht geprüft",
|
||||
"status.recheck": "Erneut prüfen",
|
||||
"status.noProviders": "Keine Provider aktiv.",
|
||||
"status.noMcp": "Keine MCP-Server konfiguriert.",
|
||||
"status.providerSettings": "Provider",
|
||||
"status.mcpSettings": "MCP-Server",
|
||||
"sidebar.connected": "Verbunden",
|
||||
"sidebar.disconnected": "Getrennt – verbinde neu…",
|
||||
"sidebar.needsInput": "Wartet auf deine Eingabe",
|
||||
@@ -464,6 +479,13 @@ export const de: Messages = {
|
||||
"sidebar.moveHintExisting": "Vorhandene Ordner: {folders}. Gib einen davon oder einen neuen Namen ein.",
|
||||
"sidebar.folderName": "Ordnername",
|
||||
"sidebar.move": "Verschieben",
|
||||
"backup.restore": "Wiederherstellen",
|
||||
"backup.restoreFile": "Aus Datei wiederherstellen…",
|
||||
"backup.restoring": "Wird wiederhergestellt…",
|
||||
"backup.restoreTitle": "Backup wiederherstellen?",
|
||||
"backup.restoreConfirm": "Datenbank und Konfiguration durch {file} ersetzen? Alle Sitzungen, Benutzer, Statistiken und Einstellungen werden durch den Stand im Backup ersetzt; Dateien im Workspace bleiben unverändert. Der aktuelle Stand wird vorher gesichert. CodeCraft startet neu – laufende Agents werden beendet.",
|
||||
"backup.restarting": "Backup übernommen – CodeCraft startet neu…",
|
||||
"backup.notBack": "Der Server ist nicht zurückgekommen. Er braucht eine Restart-Policy (Docker: restart: unless-stopped) – bitte von Hand starten.",
|
||||
"backup.now": "Jetzt sichern",
|
||||
"backup.running": "Sichere…",
|
||||
"backup.created": "Backup {file} erstellt.",
|
||||
@@ -647,6 +669,9 @@ export const de: Messages = {
|
||||
"settings.providerName": "Name (optional)",
|
||||
"settings.providerUp": "erreichbar · {ms} ms",
|
||||
"settings.providerDown": "nicht erreichbar",
|
||||
"settings.testConnection": "Verbindung testen",
|
||||
"settings.testing": "Teste…",
|
||||
"settings.testOk": "Verbindung klappt: {n} Modelle, {ms} ms. Noch nicht gespeichert.",
|
||||
"settings.providerAuth": "API-Key fehlt oder ungültig",
|
||||
"settings.providerCheck": "Provider prüfen",
|
||||
"settings.providerChecking": "Prüfe…",
|
||||
|
||||
@@ -203,6 +203,21 @@ export const en = {
|
||||
"sidebar.yesterday": "Yesterday",
|
||||
"sidebar.week": "Last 7 days",
|
||||
"sidebar.older": "Older",
|
||||
"status.title": "Status",
|
||||
"status.server": "Server",
|
||||
"status.models": "Models",
|
||||
"status.mcp": "MCP",
|
||||
"status.level.ok": "all fine",
|
||||
"status.level.warn": "partly unavailable",
|
||||
"status.level.err": "unavailable",
|
||||
"status.level.off": "none configured",
|
||||
"status.providerOk": "{n} models · {ms} ms",
|
||||
"status.notChecked": "not checked yet",
|
||||
"status.recheck": "Check again",
|
||||
"status.noProviders": "No providers enabled.",
|
||||
"status.noMcp": "No MCP servers configured.",
|
||||
"status.providerSettings": "Providers",
|
||||
"status.mcpSettings": "MCP servers",
|
||||
"sidebar.connected": "Connected",
|
||||
"sidebar.disconnected": "Disconnected – reconnecting…",
|
||||
"sidebar.needsInput": "Waiting for your input",
|
||||
@@ -463,6 +478,13 @@ export const en = {
|
||||
"sidebar.moveHintExisting": "Existing folders: {folders}. Type one of them or a new name.",
|
||||
"sidebar.folderName": "Folder name",
|
||||
"sidebar.move": "Move",
|
||||
"backup.restore": "Restore",
|
||||
"backup.restoreFile": "Restore from file…",
|
||||
"backup.restoring": "Restoring…",
|
||||
"backup.restoreTitle": "Restore backup?",
|
||||
"backup.restoreConfirm": "Replace the database and the configuration with {file}? All sessions, users, statistics and settings are replaced by the state in the backup; files in the workspace stay as they are. The current state is backed up first. CodeCraft restarts – running agents are stopped.",
|
||||
"backup.restarting": "Backup accepted – CodeCraft is restarting…",
|
||||
"backup.notBack": "The server did not come back. It needs a restart policy (Docker: restart: unless-stopped) – start it again by hand.",
|
||||
"backup.now": "Back up now",
|
||||
"backup.running": "Backing up…",
|
||||
"backup.created": "Backup {file} created.",
|
||||
@@ -646,6 +668,9 @@ export const en = {
|
||||
"settings.providerName": "Name (optional)",
|
||||
"settings.providerUp": "reachable · {ms} ms",
|
||||
"settings.providerDown": "unreachable",
|
||||
"settings.testConnection": "Test connection",
|
||||
"settings.testing": "Testing…",
|
||||
"settings.testOk": "Connection works: {n} models, {ms} ms. Not saved yet.",
|
||||
"settings.providerAuth": "API key missing or rejected",
|
||||
"settings.providerCheck": "Check providers",
|
||||
"settings.providerChecking": "Checking…",
|
||||
|
||||
Reference in new issue
Block a user