Repository navigation
Conversation
web/codeforge-web-server.mjs serves the UI and runs terminals on the server. It listens on 127.0.0.1 only and accepts HTTP and WebSocket requests only with a valid Cloudflare Access JWT (signature, issuer, audience, expiry, e-mail allowlist) and, for WebSockets, the public origin. Without that configuration it refuses to start. Terminals are tmux sessions shared with the codeforge CLI: they survive disconnects and reloads, the browser re-attaches without retyping the start command, and they end only when closed. Antigravity accounts come from ~/.codeforge/agy-accounts, same as the CLI. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
News and welcome popups no longer show on start, the setup modal is gone, and the update window only opens when the user starts a check. "Was ist neu" in the account menu now opens the news window directly.
The top bar gets a sidebar toggle. Below 1024px the sidebar is a drawer that starts closed and closes after navigating; on desktop the collapsed state is remembered. Grid terminals stack in one scrollable column there.
xterm.js has no touch scrolling, so vertical swipes are turned into wheel events, which tmux (mouse mode) uses to scroll the session history.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What changed
web/codeforge-web-server.mjs: serves the built UI and implements the IPC calls the terminal workspace needs (shells, agy accounts, system status, git info). Desktop-only features answer with empty data.cf-w-<tab>), shared with thecodeforgeCLI. A dropped connection or reload only detaches; on reconnect the browser re-attaches (never recreates a closed session) and skips the start command. Closing a tab ends the session.~/.codeforge/agy-accounts(same as CLI); account tabs runcodeforge __run <id>(agy with--dangerously-skip-permissions).web/install.sh+ hardenedcodeforge-web.service(KillMode=processkeeps tmux alive across restarts).Security
127.0.0.1only; public access only through the Cloudflare Tunnel.Testing
workspace.crazymine.deredirects to Access login (HTTP and WS); service unreachable on the public IP.🤖 Generated with Claude Code