Home

mweinbach / agent-coworker

publicmweinbach/agent-coworker
Code Branches Pull requestsIssuesInsights
main
Home Code PRsIssues

fix(desktop): make transcript copy and attachment-only turns semantic

merged
Stack 2/2
#309 opened by mweinbachcursor/semantic-transcript-copy-c528→main
Conversation3
mweinbachopened this pull requestAuthor· 17 hours ago
Commits
0
Files changed…

Fixes mweinbach/agent-coworker#247.

User turns now share one visible-message model for rendering, clipboard, and screen-reader authorship. Attachment-only and Canvas-request turns keep a normal user bubble, Copy matches what is on screen, and clipboard failure stays visible and retryable.

What changed

  • Parse persisted user text into a semantic model (bodyText, attachments, canvas, copyText) instead of copying raw storage markup.
  • Always render user authorship (role="article" / aria-label="Message from you") for text-only, attachment-only, mixed, and Canvas turns, including malformed/legacy envelopes.
  • Copy the human-visible body, attachment names, and Canvas chips — never Attached: [...] brackets or Canvas XML.
  • Show clipboard failure on the copy control with a live announcement and keep the action retryable.
  • Preview supported image attachments through cowork-media: (absolute paths or workspace User Uploads/), and refuse remote/javascript:/.. sources.

Tests

  • Text-only, attachment-only, mixed files, images, and Canvas requests
  • Raw/legacy/malformed stored payloads
  • Clipboard success and failure (including retry)
  • Accessible message labeling for authored user turns

Targeted desktop tests covering these cases pass. Full CI lane (bun run test, typecheck, lint, docs:check) is next.

Open in Web Open in Cursor 

Review

cursor[bot] · 17 hours ago · 2 file comments

2 open

Cursor Bugbot has reviewed your changes using default effort and found 2 potential issues.

Fix All in Cursor

❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.

Reviewed by Cursor Bugbot for commit c21831aca3789ddd47350d2a971cad14cd8496a8. Configure here.

Sign in to comment.

Stack

2/2
1

Merge readiness

Checking mergeability after the indexing worker computes the current branch state.

Autopilot

Debug

Reviews

Approved0
ReviewersNone yet

Configure an OpenRouter key in repository settings.

apps/desktop/src/ui/chat/feedMessageParsing.ts
line 193
View file
  1. cursor[bot]· 17 hours ago

    Loose Attached parser drops user prose

    Medium Severity

    The new attachedLooseMatch fallback treats any trailing Attached: paragraph as a file list. Ordinary user text after that marker is stripped from bodyText and rendered as an attachment chip instead of the message the user wrote.

    Fix in Cursor Fix in Web

    Reviewed by Cursor Bugbot for commit c21831aca3789ddd47350d2a971cad14cd8496a8. Configure here.

  • apps/desktop/src/ui/chat/FeedRow.tsxline 336
  • Update README.md

    #125 mobile-fixes ← main

    Updated 2 months ago

    merged
    2

    fix(desktop): make transcript copy and attachment-only turns semantic

    View file
    1. cursor[bot]· 17 hours ago

      Bare image previews can render broken

      Medium Severity

      resolveUserAttachmentPreviewSrc always emits a cowork-media: URL for bare image names under User Uploads, and the attachment <img> has no fallback. Inline and optimistic turns often do not have that file on disk yet, so the chip shows a broken image instead of the file icon.

      Additional Locations (1)
      • apps/desktop/src/ui/chat/FeedRow.tsx#L363-L365
      Fix in Cursor Fix in Web

      Reviewed by Cursor Bugbot for commit c21831aca3789ddd47350d2a971cad14cd8496a8. Configure here.

    #309 main ← cursor/semantic-transcript-copy-c528

    Updated 17 hours ago

    merged