feat(files): add repository-aware viewer - #183
Conversation
Expose repository status, commit history, and bounded diff details for the active session worktree. Resolve opaque worktree scopes server-side and reject or filter paths outside the authenticated workspace.
Add Files, Changes, and History views with compact or full diffs, worktree selection, and active-session synchronization. Support authenticated local work-path reassignment and a full-screen mobile diff experience.
Ark0N
commented
Aug 5, 2026
Hi Lior, closing this one as part of a cleanup of the seventeen PRs currently open from you. The full explanation is in #173, and I would rather you read that one than this note, because it is the honest version and it is not a dismissal of your work. The short form: sixteen PRs opened in a single day, roughly 42,000 added lines in total, landing mostly on the same few files (nine touch Going forward, please keep no more than three open PRs at a time, each one a single behavior change that stands on its own, with a test that fails on master and passes with the fix. #214 and #215, merged today, are good models. If this particular change fixes something that genuinely annoys you in daily use, it is a good candidate to be the first one you reopen on its own, rebased on current master. I will review it properly. Thanks for the effort you put in, and sorry to close it this way. |
Summary
Add a repository-aware File Viewer that follows the active Codeman session and remains usable on phones.
The PR is intentionally split into two commits:
feat(files): add authorized repository browsingfeat(files): add repository-aware viewerUser Experience
Work-path reassignment updates Codeman metadata, parsers, watcher roots, and persisted mux state. It intentionally does not change the cwd of an already-running child process.
Security
Validation
npx vitest run --config config/vitest.config.ts test/git-repository-browser.test.ts test/routes/file-routes-repository.test.tsnpx vitest run --config config/vitest.config.ts test/git-repository-browser.test.ts test/routes/file-routes-repository.test.ts test/routes/session-routes.test.ts test/tmux-manager.test.tsnpx vitest run --config test/mobile/vitest.config.ts test/mobile/file-viewer.test.tsnpm run check:frontend-syntaxnpm run buildScope
This PR does not include terminal input, mobile navigation controls, viewport sizing, terminal-history streaming, response-viewer behavior, hook lifecycle, notifications, shutdown, case actions, or animation settings. Those are being reviewed as independent feature PRs.