a3aef713e2
Add a dedicated native resolver workspace with all side/base inputs, shared editable Results, region choices, retained per-file status, responsive rendering, and explicit nontext file choices. Guard writes with jj working-copy locking, frozen checkout identity, exact disk baselines, native dirty-buffer protection, and asynchronous jj snapshot/status confirmation. Historical comparisons remain readonly. Verified all 916 tests and live isolated terminal workflows covering text regions, narrow layouts, binary bytes and symlink targets/types. Clippy completes with pre-existing warnings only. Size exception: 2614 implementation additions/deletions excluding tests and docs. Native workspace integration, explicit file choices and the safe save/check operation are retained as one complete behavioral slice.
3.0 KiB
3.0 KiB
- jj conflict resolution with ui akin to the diff viewer
- make selecting a file in the diff view file picker focus the after buffer instead of the before buffer
- improve the lsp hover floating window:
- it should be taller
- add
*on word to highlights and searches in buffer in one action. - diff view: github integration (code review) - add comments on a pr, add review comments at specific lines of files, request changes, approve pr, etc.
- diff view: local review comments (same features as for github reviews) that allows review of local changes to deliver specific reviews to ai agents used for coding.
- design question: would this require a server that the agent can interact with, or would local review files be fine? don't want to use server client stuff, if it would be easier and better to just use local files.
- remove the diff palette polling fallback once a released Herdr fix delivers palette-ready DEC 2031 notifications, including palette-only changes with an unchanged light/dark preference. Related upstream issue: herdrdev/herdr#4183.
- verify that notification-triggered queries return fresh colors in Ghostty through Herdr before removal; retain startup, focus-regain, and notification-driven palette refresh.
- pull a pr description and display it in a buffer:
- open a selector that allows you to pick a pr from remote
- selector should be searchable
- selected pr description is opened in a separate buffer/tab.
- open related pr description directly from diff view (should be able to figure out the relevant pr from the branch involved in the diff - if jj, then from tracked bookmark; if just git, then from branch)
- sandboxed, revision-specific LSP analysis for historical diff states and historical tabs.
- current limitation: immutable snapshot buffers still use the live repository as their LSP workspace; cross-file analysis can mix historical text with current disk contents.
- lazily materialize the complete selected revision, including unchanged files, manifests, and project configuration; run a separate LSP instance rooted in that snapshot.
- mount historical source read-only and provide isolated writable scratch directories for caches, indexes, and build output; keep historical navigation targets read-only.
- enforce an OS-level sandbox on the LSP process and every child it spawns, including build scripts and procedural macros. A temporary checkout and read-only editor buffers are not security isolation.
- deny access to the live checkout, home directory, credentials, and SSH agent; deny network access by default. Additional access or code-execution permissions require explicit approval.
- fail closed: if these restrictions cannot be enforced, keep read-only viewing available but do not launch historical LSP analysis; never silently fall back to an unrestricted process.
- retain the snapshot and analysis environment while historical views/tabs reference it; stop workers and clean up disposable storage after the final reference closes.