Skip to content

feat(project): idempotent + multi-user msgs#48

Open
StarDylan wants to merge 2 commits intomainfrom
fix-audio-stop-start
Open

feat(project): idempotent + multi-user msgs#48
StarDylan wants to merge 2 commits intomainfrom
fix-audio-stop-start

Conversation

@StarDylan
Copy link
Owner

No description provided.

Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

This PR extends the app’s real-time messaging/transcription flow to support idempotency and multi-user project-wide updates by adding a transcription_id to transcript chunks and broadcasting certain events to all active sessions within a project.

Changes:

  • Add transcription_id to transcript chunks across backend + frontend message schemas and update catchup/transcription handlers to dedupe/order by that id.
  • Broadcast project-wide events (transcriptions, AI results, and dismissals) to all active sessions in a project.
  • UI adjustments to transcript/insights panels to improve scrolling/layout.

Reviewed changes

Copilot reviewed 10 out of 10 changed files in this pull request and generated 5 comments.

Show a summary per file
File Description
frontend/src/lib/message.ts Adds transcription_id to transcript chunk typing.
frontend/src/components/AudioSender.tsx Dedupes and orders transcript chunks by transcription_id; UI layout/scrolling improvements; handles dismissal broadcast updates.
frontend/src/App.tsx Removes container horizontal padding to better fit full-width layout.
backend/src/main.py Includes transcription_id in catchup payload; broadcasts dismissals; simplifies teardown/logging behavior.
backend/src/interview_helper/context_manager/tests/test_concurrent_websocket.py Updates test data to include required transcription_id.
backend/src/interview_helper/context_manager/session_context_manager.py Introduces broadcast_to_project and uses it for AI-result fanout.
backend/src/interview_helper/context_manager/messages.py Makes transcription_id required in TranscriptChunkToSend.
backend/src/interview_helper/audio_stream_handler/transcription/common.py Broadcasts transcription messages to project; includes transcription_id.
backend/src/interview_helper/audio_stream_handler/transcription/vosk_transcriber.py Updates accept_transcript calls after signature change (no ws arg).
backend/src/interview_helper/audio_stream_handler/transcription/azure_transcriber.py Updates accept_transcript calls after signature change (no ws arg).

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
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