Commit Graph

6 Commits

Author SHA1 Message Date
shuki
09ff0f9482 Fix web GUI WebSocket: use relative public_url
Setting public_url="" makes textual-serve generate relative
WebSocket URLs so the browser connects to the correct host
regardless of whether accessed via localhost or remote IP.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-06 01:02:15 +02:00
shuki
01cbe70c5d Fix install: copy tui/ package and install Python deps
- Install script now copies tui/ directory to install location
- Installs textual and textual-serve via pip after file copy
- __main__.py uses GNIZA_DIR env var for correct path resolution

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-06 00:58:58 +02:00
shuki
63e88d11df Fix web GUI: set env vars in process instead of command string
textual-serve shows the command string as the app title.
Set PYTHONPATH and GNIZA_DIR as real env vars so the spawned
subprocess inherits them. Add title="gniza" for clean display.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-06 00:56:32 +02:00
shuki
bd25d99056 Fix web GUI by setting PYTHONPATH in spawned command
textual-serve spawns the app as a subprocess which doesn't
inherit PYTHONPATH. Bake the project root into the command.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-06 00:55:43 +02:00
shuki
f21f652fea Add web GUI mode via textual-serve
Run `gniza web` or `gniza --web` to serve the TUI as a web app
on port 8080. Use --port to change. Requires textual-serve.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-06 00:52:59 +02:00
shuki
587149f062 Add Python Textual TUI replacing gum-based bash TUI
New tui/ package with 14 screens (main menu, backup, restore, targets,
remotes, snapshots, verify, retention, schedule, logs, settings, wizard),
3 custom widgets (folder picker, confirm dialog, operation log), async
backend wrapper, pure-Python config parser, and TCSS theme.

bin/gniza now launches Textual TUI when available, falls back to gum.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-05 23:39:48 +02:00