Skip to content

feat(staged): add browser-accessible web mode#709

Draft
matt2e wants to merge 2 commits into
mainfrom
mobile-web
Draft

feat(staged): add browser-accessible web mode#709
matt2e wants to merge 2 commits into
mainfrom
mobile-web

Conversation

@matt2e
Copy link
Copy Markdown
Contributor

@matt2e matt2e commented May 11, 2026

Summary

  • Adds a web server mode that serves the Staged UI via HTTP, enabling browser-based access without the Tauri desktop shell
  • Implements a transport abstraction layer so the frontend can communicate over either Tauri IPC (desktop) or HTTP/WebSocket (web)
  • Broadcasts web project setup progress events and fixes missing function arguments in web server handlers

Test plan

  • Verify desktop app continues to work normally via Tauri IPC
  • Start the web server and confirm the UI loads in a browser
  • Test session launching, branch operations, and event streaming via the web transport
  • Confirm rebase/squash pipeline commands work through the web API

@matt2e matt2e force-pushed the mobile-web branch 2 times, most recently from 6b6eb4a to d4f956c Compare May 12, 2026 04:38
matt2e and others added 2 commits May 12, 2026 19:21
Add a web server backend and HTTP/SSE transport layer so Staged can run
in a browser without Tauri. The Rust side gains an Actix-based web
server (web_server.rs) that mirrors every Tauri command as an HTTP
endpoint and streams events over SSE. On the frontend, a transport
abstraction replaces direct Tauri invoke/listen calls, choosing between
Tauri IPC and HTTP/SSE at runtime.

Key changes:
- New Actix web server with session auth, SSE broadcasting, and REST
  endpoints for all existing commands
- Transport layer (transport.ts) that abstracts Tauri vs HTTP calls
- Updated all frontend commands and listeners to use the transport layer
- Web login flow (WebLogin.svelte) for browser-based authentication
- Persistent stores adapted for both localStorage and Tauri fs backends
- Vite config and justfile updates for web development workflow

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Signed-off-by: Matt Toohey <contact@matttoohey.com>
The authentication helpers, dispatch function, and related utilities
were duplicated at the end of the file, causing compilation errors.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant