Skip to content

watson-16056-20260428073350-root-cause #13

@anduimagui

Description

@anduimagui

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

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions