Skip to content

feat(chat): backport fragment feedback and selection actions to main - #296

Merged
Yuqing (mydmdm) merged 2 commits into
mainfrom
fix/issue-293-main
Oct 12, 2026
Merged

Yuqing (mydmdm) merged 2 commits into
mainfrom
fix/issue-293-main

Conversation

@mydmdm

Copy link
Copy Markdown
Contributor

Summary

User-authorized Main backport of the Alpha-validated #294 and #295 for #293. The branch starts at main commit ef481056f090f9065c2456ad13a461204a956b51 and contains exactly two cherry-pick -x commits:

Original Alpha commit Main backport commit Change
ac0517bb78abaaf1241ee387a7e4ca2d485f7524 ce6f92fa168274e896fe6c14b00123f69c195096 Fragment comments rendered into the owning thread input
24eaf878d40af401ed3d2887cd1d8182c478b753 f69bb4a024bc5e250b6bd9b73c0cc5b25cd4b5f7 Selected-text Copy / Add as note / Comment icon actions

No unrelated Alpha commits are included. The original Alpha branches/history are not rewritten or changed. The only cherry-pick conflict was adjacent paragraphs in docs/architecture/preview-workspace.md; resolved by retaining Main's existing empty-chat disclaimer documentation alongside the feature documentation. Main's existing disclaimer implementation and tests remain intact.

Alpha-to-Main promotion compatibility

The user requires this backport not to make subsequent Alpha promotion harder. Compared Git's merge result before and after the backport against the same exact refs:

  • Main baseline: ef481056f090f9065c2456ad13a461204a956b51.
  • Alpha baseline: 10d48793c925f795ef3ed67a3e249ae5c3b81d76.
  • Before: git merge-tree --write-tree --name-only origin/main origin/alpha.
  • After: git merge-tree --write-tree --name-only fix/issue-293-main origin/alpha.
  • Both simulations report exactly the same sole conflicting file, docs/architecture/preview-workspace.md; no new conflict is introduced. Existing promotion Promote Alpha to Main #283 is already conflicting before this backport.
  • The two simulated result trees differ only in that document's conflict representation. Retaining both existing paragraphs and normalizing blank-line separation produces identical document content; all other merged files are byte-identical. The feature paragraphs merge automatically after the backport, leaving only the pre-existing Main disclaimer paragraph decision.

Thus, for these verified branch heads, this backport introduces no additional promotion conflicts or different final content. This is not a guarantee against future independent changes to either branch. Do not use an ours merge, drop Alpha commits, reset branches, or rewrite promotion history to mark the feature as delivered. A normal merge commit preserves the recorded backport history and source attribution. This PR does not merge or modify #283.

Behavior and scope

Select text within one completed assistant Markdown surface to Copy selected plain text, save selected Markdown as a Note, or Comment and explicitly Add to input. Multiple comments and free-form input combine in the thread draft before ordinary Send. Localized template labels, tooltips, clipboard retry, snapshot semantics and source provenance remain as validated on Alpha.

Whole-response bottom actions remain unchanged. No streaming comments, default presets, permanent annotations, new APIs/dependencies/storage, unrelated UI changes or release. No live-provider validation or manual cross-browser verification is claimed.

Validation on Main

  • Repository pnpm typecheck, pnpm format, pnpm lint:fix, pnpm check:i18n and git diff --check passed; formatting/linting left the backport worktree clean. Lint reports 0 errors and 350 existing warnings.
  • Targeted Vitest: 12 files / 116 tests passed, including Main's existing message-list behavior plus selection/Markdown, clipboard/retry, note payload/provenance, draft isolation, comment flow, Milkdown accessibility/chrome/drag/roundtrip, composer, history and submission-controller regressions.
  • Production fixture build passed.
  • Production Playwright configuration: all 9 tests passed, covering all selection-action/comment tests and the existing activation/windowing/completion/eviction/performance regressions.
  • Frozen dependencies restored only in the new worktree after the validation command reported missing Vitest; no manifest, lockfile or subtree source changes.

Yuqing (mydmdm) and others added 2 commits October 12, 2026 01:51
Capture selected completed response text, collect localized quote/comment templates in the owning thread draft, and preserve explicit Send as the only generation action. Cover selection, draft lifecycle and production chat regressions; document the demo MVP boundary.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
(cherry picked from commit ac0517b)
Add Copy and Add as note alongside Comment in the selected-text popover. Preserve selected Markdown with the canonical Milkdown serializer, retain whole-response actions, and cover clipboard, note payload and browser interactions.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
(cherry picked from commit 24eaf87)
@mydmdm
Yuqing (mydmdm) merged commit e7a0e12 into main Oct 12, 2026
7 checks passed
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