feat(chat): Comments and review in VS Code, like the OpenChamber desktop app (#1724)
* feat(chat): render code comments as cards instead of fenced text * fix(vscode): route Add Comment to the active session editor panel * fix(chat): persist queued inline comments and tighten file-chip path matching * feat(vscode): comment on code from the editor * fix(chat): keep attached context in the message and broadcast comment removal * fix(vscode): hold every pending comment and gate both entry points on the workspace * fix(vscode): let only the owning surface decide its comment threads * fix(vscode): drop a comment removed while its delivery was still in flight * test(vscode): cover the in-flight comment removal guard * test(vscode): cover comment removal reaching every chat surface * fix(vscode): give up on a comment the chat never confirmed holding * fix(vscode): retract a comment everywhere before reporting it discarded * fix(chat): preserve queued comment cards * fix: preserve inline comment context across send paths * fix(chat): preserve command routing with context * fix(chat): keep unavailable actions on normal send path --------- Co-authored-by: Bohdan Triapitsyn <artmore@protonmail.com>
This commit is contained in:
committed by
GitHub
co-authored by
Bohdan Triapitsyn
parent
d323b51a0a
commit
a12b9be443
@@ -167,6 +167,16 @@ and the send path reading the same grammar.
|
||||
mention, file mentions, and skill instruction were resolved when it was
|
||||
queued, never at delivery — and its context follows it before the next
|
||||
queued message.
|
||||
- Local slash commands are planned by `submit/slashCommands.ts` before any
|
||||
attached context is consumed. Commands that act on session or UI state
|
||||
(`/undo`, `/redo`, `/compact`, `/timeline`, `/handoff-review`) take only
|
||||
their command text and leave comments, files, and linked context attached;
|
||||
commands that produce a prompt (`/btw` and the magic prompts) send that
|
||||
context with the prompt they produce. Session actions are planned only when
|
||||
a session exists, so typing one into a new-session draft stays on the normal
|
||||
send path. A local command is never queued as text: queueing runs it
|
||||
instead. A failed prompt command restores everything it consumed: text,
|
||||
confirmed mentions, files, comment drafts, and pending synthetic context.
|
||||
- `state/useComposerDraft.ts` — a draft belongs to a (runtime, directory,
|
||||
session) identity. Writes are debounced while typing but forced at every edge
|
||||
where the page may stop running, because a pending timer is not a saved
|
||||
|
||||
Reference in New Issue
Block a user