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:
Richard ZinkandClaude Opus 5.5 committed 2026-11-09 09:31:24 +01:00
1 parent 49d404eec7
commit 1f69d63b09
35 files changed
+1156 -88

No files matched your search

+25
View File
@@ -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…",