Skip to content

feat: browser screen recording and video attachment to Linear issues (ZYX-75)#5

Closed
mr-j90 wants to merge 2 commits intomasterfrom
zyx-75
Closed

feat: browser screen recording and video attachment to Linear issues (ZYX-75)#5
mr-j90 wants to merge 2 commits intomasterfrom
zyx-75

Conversation

@mr-j90
Copy link
Copy Markdown
Collaborator

@mr-j90 mr-j90 commented Mar 19, 2026

Summary

  • Adds a Screen Recording panel to the Symphony dashboard using the browser's getDisplayMedia + MediaRecorder APIs — users can record their browser session, download it locally, or attach it directly to a Linear issue
  • Adds POST /api/v1/attach-video/{identifier} on the HTTP server: accepts a multipart video upload, resolves the issue UUID, requests a pre-signed Linear upload URL, uploads the file, and creates a Linear attachment
  • Adds four new methods to the Linear client: FetchIssueIDByIdentifier, RequestFileUpload, UploadFileToURL, CreateAttachment

Test plan

  • TestFetchIssueIDByIdentifier_Success / _NotFound
  • TestRequestFileUpload_Success / _GraphQLError
  • TestCreateAttachment_Success / _SuccessFalse / _GraphQLError
  • TestDashboardShowsRecordingUI — verifies recording controls appear in the dashboard HTML
  • TestAttachVideo_NoVA — returns 501 when Linear client not configured
  • TestAttachVideo_Success — full happy-path upload + attachment
  • TestAttachVideo_IssueNotFound — returns 404 when identifier not found
  • TestAttachVideo_MissingVideoField — returns 400 on bad multipart

Closes ZYX-75

🤖 Generated with Claude Code

Adds a screen recording panel to the Symphony dashboard that lets users
capture browser activity via the Screen Capture API and attach the
resulting video directly to a Linear issue.

- linear: FetchIssueIDByIdentifier, RequestFileUpload, UploadFileToURL,
  CreateAttachment — full file-upload-to-attachment pipeline
- server: POST /api/v1/attach-video/{identifier} endpoint that buffers
  the uploaded video, requests a Linear pre-signed URL, uploads the
  bytes, and creates an attachment on the target issue
- dashboard: inline screen recording UI (Record / Stop / Download /
  Attach to Issue) using getDisplayMedia + MediaRecorder
- tests: coverage for all new linear methods and server endpoint paths

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@linear
Copy link
Copy Markdown

linear Bot commented Mar 19, 2026

@mr-j90 mr-j90 closed this Mar 19, 2026
@mr-j90
Copy link
Copy Markdown
Collaborator Author

mr-j90 commented Mar 19, 2026

This isn't what we wanted for this one. Let's re-scope the ticket and clarify that we want the agent to do this work specifically.

@mr-j90 mr-j90 deleted the zyx-75 branch March 19, 2026 14:08
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