Commit graph

15 commits

Author SHA1 Message Date
Eddy
ebbb65a1a9 feat: Modus-Anzeige im Chat + Plan-Präsentation [appimage]
All checks were successful
Build AppImage / build (push) Successful in 9m31s
- Mode-Badge über dem Textfeld zeigt aktiven Agent-Modus (Handlanger/Experten/Auto) mit Verarbeitungsphase
- Plan-Erkennung: erkennt strukturierte Pläne in Claude-Antworten (Mermaid, Sektionen, Schrittlisten)
- Automatisches Senden erkannter Pläne ans Präsentationsfenster als Slides
- PWA Docker Build Pipeline hinzugefügt

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-21 13:16:10 +02:00
Eddy
d315f421ec [appimage] Bridge-Deploy: Scripts-Bundle + npm ci im Nix-Wrapper-Modus
All checks were successful
Build AppImage / build (push) Successful in 7m11s
Problem: Beim Nix-Wrapper lag nur das Binary unter ~/.local/share/claude-desktop/bin,
aber claude-bridge.js + node_modules waren nirgends deployt → "Bridge nicht gefunden"
beim ersten Chat-Versuch.

Loesung:
- claude.rs: Bridge-Such-Pfad um bin/../scripts erweitert (exe_dir.parent / scripts).
- update.rs: UpdateManifest + UpdateStatus um bundle_filename/bundle_sha256 erweitert.
  Neues Tauri-Command apply_bundle_update: laedt tar.gz, pruefte SHA256, entpackt
  nach ~/.local/share/claude-desktop, ruft npm ci --omit=dev auf. Im AppImage-Modus
  no-op (Bundle ist im AppImage enthalten).
- lib.rs: apply_bundle_update registriert.
- CI: packt scripts/claude-bridge.js + package.json + package-lock.json als
  claude-desktop-bundle_VERSION.tar.gz und laedt neben Binary in die Package Registry.
  update.json v3 enthaelt bundle_filename + bundle_sha256.
- install.sh: Erst-Installer laedt das Bundle, verifiziert SHA, entpackt, fuehrt
  npm ci --omit=dev aus. Holt nodejs bei Bedarf ueber nix-build (analog zu jq).
- UpdateDialog.svelte: ruft im Nix-Modus apply_bundle_update vor apply_update auf,
  damit nach dem Neustart Scripts + node_modules aktuell sind.
- nix/default.nix: nodejs_22 + tar + gzip im Wrapper-PATH, damit die App aus dem
  Binary heraus npm ci aufrufen kann.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-20 13:50:56 +02:00
Eddy
506f1d3fdc [appimage] Auto-Updater: Package Registry + update.json + Nix-Wrapper
All checks were successful
Build AppImage / build (push) Successful in 7m52s
- update.rs: Umstellung auf Package-Registry-Manifest mit SHA256-Verify,
  Basic-Auth, dev/APPIMAGE/Nix-Wrapper-Modus. Liest binary_filename
  im Nix-Modus (AppImage laeuft auf NixOS nicht)
- Nix-Wrapper-Paket (nix/default.nix): LD_LIBRARY_PATH-korrekter Launcher
  + Installer-Script, User-Home-Binary (writable fuer Auto-Update)
- CI laedt jetzt AppImage UND natives Binary + update.json v2
  (binary_filename/binary_sha256) in die Package Registry
- Svelte: Store-basierter Update-Trigger, manueller Check im
  Settings-Panel, "Kein Update"-Dialog-Variante, expectedSha256-Param
- install.sh: One-Click-Installer fuer NixOS (curl | bash)
- sha2-Dep fuer Integritaets-Check des Downloads

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-20 11:05:19 +02:00
Eddy
427fa858a9 [appimage] AppRun korrekt: linuxdeploy-Hook + AppRun.wrapped statt eigene ENVs
All checks were successful
Build AppImage / build (push) Successful in 5m38s
Mein Custom-AppRun ueberschrieb das gesamte linuxdeploy-Setup. Resultat:
WebKitNetworkProcess wurde nicht gefunden weil WEBKIT_EXEC_PATH und das
korrekte LD_LIBRARY_PATH/Symlinks fehlten.

Fix: NixOS-Detection + WEBKIT-Defaults VOR den Original-Hook setzen, dann
linuxdeploy-Hook + AppRun.wrapped wie im Original aufrufen.
2026-04-20 00:11:38 +02:00
Eddy
01ddc7c938 [appimage] Fix AppRun: claude-desktop explizit, nicht find|head
All checks were successful
Build AppImage / build (push) Successful in 5m43s
find|head -1 traf xdg-open (alphabetisch vor claude-desktop) statt unsere
App. Resultat: AppImage zeigte nur xdg-open --help statt zu starten.
2026-04-20 00:01:31 +02:00
Eddy
819a65e8ae [appimage] Fix HTTP 409: auch versionierte Datei vor Upload loeschen
All checks were successful
Build AppImage / build (push) Successful in 5m15s
Forgejo Package Registry weist PUT auf existierenden Pfad mit 409 ab.
Bisher wurde nur 'latest/' geloescht, nicht aber 'VERSION/'. Beim
zweiten Build mit gleicher Version (0.1.0) crashte der Upload daher.
2026-04-19 23:36:19 +02:00
Eddy
e69ffe7f2b [appimage] AppImage auf jeder Linux-Distro lauffaehig (inkl. NixOS)
Some checks failed
Build AppImage / build (push) Failing after 5m28s
Zwei kombinierte Patches:

1. main.rs: WEBKIT_DISABLE_DMABUF_RENDERER + WEBKIT_DISABLE_COMPOSITING_MODE
   als defensive Defaults wenn nicht vom User gesetzt. Behebt typische
   WebKit2GTK-Renderer-Crashes auf modernen Wayland-Setups.

2. Workflow: nach 'tauri build' wird der AppRun gepatched.
   - Detect NixOS via /run/opengl-driver/lib -> Host-Mesa via LD_LIBRARY_PATH
   - WebKit-Workarounds als ENV-Defaults (override moeglich)
   - Standard linuxdeploy-Pfade (PATH, XDG_DATA_DIRS etc.)
   - Re-bundle mit appimagetool

Resultat: AppImage laeuft out-of-the-box auf Debian/Ubuntu/Fedora/NixOS,
ohne dass der User ENV-Vars setzen muss.
2026-04-19 23:27:40 +02:00
Eddy
c9f352ecbf [appimage] Fix Upload-Step: Leerzeichen im AppImage-Namen brach curl-URL
All checks were successful
Build AppImage / build (push) Successful in 5m21s
Tauri produziert "Claude Desktop_0.1.0_amd64.AppImage" mit Leerzeichen.
curl encoded URLs nicht automatisch -> malformed HTTP-Request, Step crash
in 150ms beim PUT.

Fix:
- AppImage vor Upload zu "Claude-Desktop_..." umbenennen (tr ' ' '-')
- set -e + curl --fail -sS damit echte HTTP-Fehler den Step killen
- BASE-URL als Variable, weniger Wiederholung
2026-04-19 23:00:01 +02:00
Eddy
65c868c2ff [appimage] Auf neuen Debian-Runner umstellen
Some checks failed
Build AppImage / build (push) Failing after 1m42s
- runs-on: docker -> appimage (16-Forgejo-Runner-AppImage)
- APPIMAGE_EXTRACT_AND_RUN aus Workflow raus (jetzt im Runner-ENV)
- Erster echter Test des dedizierten AppImage-Runners
2026-04-19 22:01:39 +02:00
Eddy
467a2c5e8f [appimage] APPIMAGE_EXTRACT_AND_RUN=1 fuer linuxdeploy auf Alpine/musl
Some checks failed
Build AppImage / build (push) Failing after 6m53s
2026-04-16 00:07:54 +02:00
Eddy
59046f5eb1 [appimage] Runner-nativ bauen statt rust:1.83-bookworm
Some checks failed
Build AppImage / build (push) Failing after 7s
Der 17-Forgejo-Runner (docker:host-Label) hat Rust 1.87, Node 22,
GTK, WebKit, AppIndicator, patchelf usw. bereits aus dem
docker.forgejo-runner-Image vorinstalliert. Der bisherige
container:-Block mit rust:1.83-bookworm + apt-get install hat
wegen DNS/Netzwerk in der DinD-Umgebung versagt.

Loesung: container: komplett entfernen, Job laeuft direkt im
Runner. Spart den Pull, spart die apt-Installationen und umgeht
das DNS-Problem.
2026-04-15 22:29:31 +02:00
Eddy
51b5a58c63 [appimage] Fix: DNS-Konfiguration für DinD-Container
Some checks failed
Build AppImage / build (push) Failing after 1m49s
- Container-Options: --dns 8.8.8.8 --dns 1.1.1.1
- Fallback-Step: /etc/resolv.conf ergänzen
- Löst "Could not resolve host" im Forgejo Runner

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-04-15 14:47:42 +02:00
Eddy
424ab73e1d [appimage] Fix: rust:1.83-bookworm Image + Node.js Installation
Some checks failed
Build AppImage / build (push) Failing after 2m18s
2026-04-15 14:24:19 +02:00
Eddy
2c64963553 CI: Runner-Label auf 'docker' geändert + Forgejo API Upload
All checks were successful
Build AppImage / build (push) Has been skipped
- runs-on: docker (statt ubuntu-latest)
- Container: aspect-build/rust:stable-node22-bookworm
- Manueller git clone mit REGISTRY_TOKEN
- Forgejo API für Release-Upload (statt GitHub Action)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-04-15 14:18:35 +02:00
Eddy
e17d94a078 CI: AppImage Build Pipeline für Forgejo Actions
Some checks are pending
Build AppImage / build (push) Waiting to run
- Triggert bei [appimage] im Commit oder Release-Tag (v*)
- Baut mit Tauri-Container + Node 22 + Rust stable
- Lädt AppImage als Artifact hoch
- Bei Tag: Erstellt automatisch Release mit AppImage

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-04-15 14:16:54 +02:00