Merge conflict detected
Original PR title: feat(app): add copy rich text option for message content
Detected: 2026-04-28T06:40:22.007Z
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 (both modified).
- In
packages/app/src/components/settings-general.tsx, base keeps broader settings/plumbing imports such as usePermission, useGlobalSync, useGlobalSDK, DisplayBackend, 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; evidence for additional base-side behavior inside packages/app/src/pages/session/message-timeline.tsx and packages/ui/src/components/markdown.tsx is limited to surrounding imports and does not show more conflicting logic than the excerpts.
- In
packages/app/src/components/settings-general.tsx, head adds imports for the new assistant copy setting/types (AssistantCopyFormat, useSettings) and switches sound/platform imports to playSound and plain usePlatform; in packages/app/src/context/settings.tsx, head adds AssistantCopyFormat and general.assistantCopyFormat; in packages/app/src/i18n/en.ts, head renames the section label to Feed & copy and adds assistantCopyFormat strings; in packages/app/src/pages/session/message-timeline.tsx, head derives assistantCopyMode from platform + settings and passes it to SessionTurn; in packages/ui/src/components/markdown.tsx, head switches checksum import path and adds serializeMarkdownClipboardHTML plus setupSelectionCopy clipboard handling for markdown selection copy.
- Safest resolution: preserve both base’s session-progress-bar setting/strings and head’s assistant-copy-format setting/UI/copy-flow, and in
settings-general.tsx merge imports so any still-used base-only dependencies (usePermission, useGlobalSync, useGlobalSDK, DisplayBackend, decode64, playSoundById) survive only if referenced while head’s AssistantCopyFormat/useSettings support also survives; after pushing, verify the app builds, settings-general.tsx has no unused/broken imports, both settings rows render with correct i18n text, desktop message copy still offers/applies assistant copy mode, markdown selection copy still writes rich/plain clipboard payloads, and the session progress bar still functions.
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:40:22.007Z
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 (both modified).packages/app/src/components/settings-general.tsx, base keeps broader settings/plumbing imports such asusePermission,useGlobalSync,useGlobalSDK,DisplayBackend,decode64, andplaySoundById; inpackages/app/src/context/settings.tsx, base addsgeneral.showSessionProgressBar; inpackages/app/src/i18n/en.ts, base adds theshowSessionProgressBartitle/description strings; evidence for additional base-side behavior insidepackages/app/src/pages/session/message-timeline.tsxandpackages/ui/src/components/markdown.tsxis limited to surrounding imports and does not show more conflicting logic than the excerpts.packages/app/src/components/settings-general.tsx, head adds imports for the new assistant copy setting/types (AssistantCopyFormat,useSettings) and switches sound/platform imports toplaySoundand plainusePlatform; inpackages/app/src/context/settings.tsx, head addsAssistantCopyFormatandgeneral.assistantCopyFormat; inpackages/app/src/i18n/en.ts, head renames the section label toFeed & copyand addsassistantCopyFormatstrings; inpackages/app/src/pages/session/message-timeline.tsx, head derivesassistantCopyModefrom platform + settings and passes it toSessionTurn; inpackages/ui/src/components/markdown.tsx, head switcheschecksumimport path and addsserializeMarkdownClipboardHTMLplussetupSelectionCopyclipboard handling for markdown selection copy.settings-general.tsxmerge imports so any still-used base-only dependencies (usePermission,useGlobalSync,useGlobalSDK,DisplayBackend,decode64,playSoundById) survive only if referenced while head’sAssistantCopyFormat/useSettingssupport also survives; after pushing, verify the app builds,settings-general.tsxhas no unused/broken imports, both settings rows render with correct i18n text, desktop message copy still offers/applies assistant copy mode, markdown selection copy still writes rich/plain clipboard payloads, and the session progress bar still functions.Resolve locally
git fetch origin git checkout feature-branch git merge origin/main # resolve conflicts git push