Merge conflict detected
Original PR title: feat(app): add copy rich text option for message content
Detected: 2026-04-28T06:36:35.342Z
Watson Guidance
packages/app/src/components/settings-general.tsx, packages/app/src/context/settings.tsx, packages/app/src/i18n/en.ts, packages/app/src/pages/session/message-timeline.tsx, and packages/ui/src/components/markdown.tsx all have content conflicts from both branches editing the same regions; the real trigger shown by the merge-tree is overlapping edits in shared import blocks and adjacent settings/i18n/general-settings sections, not the PR’s full file list.
- In
packages/app/src/components/settings-general.tsx, the base side keeps broader general-settings dependencies such as usePermission, type DisplayBackend, useGlobalSync, useGlobalSDK, decode64, and playSoundById; in packages/app/src/context/settings.tsx, base adds general.showSessionProgressBar; in packages/app/src/i18n/en.ts, base adds the showSessionProgressBar title/description strings; for packages/app/src/pages/session/message-timeline.tsx and packages/ui/src/components/markdown.tsx, the provided base excerpts are insufficient to explain the exact base-side behavioral change beyond the conflict locations shown.
- In
packages/app/src/components/settings-general.tsx, the head side changes imports to support the new copy setting by adding AssistantCopyFormat, useSettings, monoFontFamily, usePlatform, and playSound; in packages/app/src/context/settings.tsx, head adds AssistantCopyFormat plus general.assistantCopyFormat; in packages/app/src/i18n/en.ts, head renames "Feed" to "Feed & copy" and adds assistantCopyFormat strings; in packages/app/src/pages/session/message-timeline.tsx, head adds assistantCopyMode derived from platform/settings and passes it to SessionTurn; in packages/ui/src/components/markdown.tsx, head switches the checksum import path and adds serializeMarkdownClipboardHTML plus selection-copy clipboard handling.
- Safest resolution: manually merge both branches’ non-overlapping intent in each conflicted file—keep the base-side progress-bar setting/i18n additions where shown, keep the head-side assistant copy format setting/i18n/message-timeline/markdown copy additions where shown, and reconcile the import lists/function names in
packages/app/src/components/settings-general.tsx and packages/ui/src/components/markdown.tsx so all referenced symbols match the final code. After pushing, verify the project builds/tests, the settings page shows both the progress-bar control and the new copy option text, desktop message copy still passes assistantCopyMode, and markdown copy still writes the expected clipboard payloads.
Resolve locally
git fetch origin
git checkout feature-branch
git merge origin/main
# resolve conflicts
git push
Merge conflict detected
Original PR title: feat(app): add copy rich text option for message content
Detected: 2026-04-28T06:36:35.342Z
Watson Guidance
packages/app/src/components/settings-general.tsx,packages/app/src/context/settings.tsx,packages/app/src/i18n/en.ts,packages/app/src/pages/session/message-timeline.tsx, andpackages/ui/src/components/markdown.tsxall have content conflicts from both branches editing the same regions; the real trigger shown by the merge-tree is overlapping edits in shared import blocks and adjacent settings/i18n/general-settings sections, not the PR’s full file list.packages/app/src/components/settings-general.tsx, the base side keeps broader general-settings dependencies such asusePermission,type DisplayBackend,useGlobalSync,useGlobalSDK,decode64, andplaySoundById; inpackages/app/src/context/settings.tsx, base addsgeneral.showSessionProgressBar; inpackages/app/src/i18n/en.ts, base adds theshowSessionProgressBartitle/description strings; forpackages/app/src/pages/session/message-timeline.tsxandpackages/ui/src/components/markdown.tsx, the provided base excerpts are insufficient to explain the exact base-side behavioral change beyond the conflict locations shown.packages/app/src/components/settings-general.tsx, the head side changes imports to support the new copy setting by addingAssistantCopyFormat,useSettings,monoFontFamily,usePlatform, andplaySound; inpackages/app/src/context/settings.tsx, head addsAssistantCopyFormatplusgeneral.assistantCopyFormat; inpackages/app/src/i18n/en.ts, head renames"Feed"to"Feed & copy"and addsassistantCopyFormatstrings; inpackages/app/src/pages/session/message-timeline.tsx, head addsassistantCopyModederived from platform/settings and passes it toSessionTurn; inpackages/ui/src/components/markdown.tsx, head switches the checksum import path and addsserializeMarkdownClipboardHTMLplus selection-copy clipboard handling.packages/app/src/components/settings-general.tsxandpackages/ui/src/components/markdown.tsxso all referenced symbols match the final code. After pushing, verify the project builds/tests, the settings page shows both the progress-bar control and the new copy option text, desktop message copy still passesassistantCopyMode, and markdown copy still writes the expected clipboard payloads.Resolve locally
git fetch origin git checkout feature-branch git merge origin/main # resolve conflicts git push