Skip to content

Let chat move a recording onto the correct meeting - #6929

Merged
cursor[bot] merged 1 commit into
mainfrom
cursor/move-meeting-contents-chat-6947
Aug 19, 2026
Merged

Let chat move a recording onto the correct meeting#6929
cursor[bot] merged 1 commit into
mainfrom
cursor/move-meeting-contents-chat-6947

Conversation

@ComputelessComputer

Copy link
Copy Markdown
Collaborator

When overlapping calendar events start the wrong session, recordings, transcripts, and notes can land on the wrong meeting. Chat could search and edit text, but it had no way to reassign that content.

This adds a move_meeting_contents chat tool. After resolving both meeting IDs, Anarlog AI can move:

  • the local recording
  • transcript
  • generated summaries
  • notes
  • action items

onto another existing meeting.

Safety limits:

  • Source and target must be different existing meetings
  • The target must not already have a recording or transcript
  • The move is blocked while either meeting is still recording or transcribing
  • If the database write fails after the audio copy, the copied file is rolled back

Usage from chat, on the meeting that has the misplaced recording:

Move this recording to the Board meeting

Or from the destination:

Move the Standup recording into this meeting

Open in Web Open in Cursor 

Add a move_meeting_contents tool so a finished recording, transcript, summaries, notes, and action items can be moved onto the correct existing meeting.

Co-authored-by: John Jeong <ComputelessComputer@users.noreply.github.com>
@netlify

netlify Bot commented Aug 19, 2026

Copy link
Copy Markdown

Deploy Preview for anarlog canceled.

Name Link
🔨 Latest commit 3976037
🔍 Latest deploy log https://app.netlify.com/projects/anarlog/deploys/6a85e13884951e0008bf14e4

@ComputelessComputer
ComputelessComputer marked this pull request as ready for review August 19, 2026 17:52
@cursor
cursor Bot merged commit cff4f1c into main Aug 19, 2026
14 of 15 checks passed

@cursor cursor Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cursor Bugbot has reviewed your changes using default effort and found 3 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 3976037. Configure here.

);
if (copiedAudio) {
await catalogLocalSessionAudio(targetSessionId);
}

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Moved audio stays marked processing

Medium Severity

catalogLocalSessionAudio always stamps the destination recording with transcript_status processing, and a successful move never marks it complete. Retention treats that flag as “still transcribing,” so a moved recording is skipped by every cleanup policy even when transcripts were moved with it.

Fix in Cursor Fix in Web

Reviewed by Cursor Bugbot for commit 3976037. Configure here.

sourceSessionId,
],
expectedRowsAffected: 1,
},

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Note move keys the wrong document id

Medium Severity

Note copy/clear updates session_documents with id equal to the session id and expectedRowsAffected: 1. Snapshots already expose rawNoteId because the canonical note is not always session.id. When that fallback applies, the note statements affect zero rows, the transaction fails, and the whole move (including the recording) is aborted.

Fix in Cursor Fix in Web

Reviewed by Cursor Bugbot for commit 3976037. Configure here.

enqueueSessionAudioOperation,
[sourceSessionId, targetSessionId],
() => copySessionAudio(sourceSessionId, targetSessionId),
);

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Failed copy leaves target audio

Medium Severity

copiedAudio is set only after audioCopy returns success, and rollback runs only when that flag is true. A failed std::fs::copy can still leave a primary audio file in the target directory. The catch path then reports that nothing changed, later moves see that file as an existing recording, and the destination is stuck.

Additional Locations (1)
Fix in Cursor Fix in Web

Reviewed by Cursor Bugbot for commit 3976037. Configure here.

@ComputelessComputer
ComputelessComputer deleted the cursor/move-meeting-contents-chat-6947 branch August 19, 2026 18:17
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.

2 participants