Chat overlay in call view (reuse live-transcription layered bubbles for regular chat)
Nobody has claimed this yet.
- Dominant language
- JavaScript
- Stars
- 2.2k
- Forks
- 586
- Avg merge
- 18h 27m
- Merged PRs (30d)
- 333
Description
How to use GitHub
- Please use the 👍 reaction to show that you are interested into the same feature.
- Please don't comment if you have no relevant information to add. It's just extra noise for everyone subscribed to this issue.
- Subscribe to receive notifications on status change and new comments.
Feature request
Is your feature request related to a problem? Please describe.
During video calls, chat messages are easy to miss unless the chat sidebar is open. Opening the sidebar reduces visible space for video and interrupts the call flow. Participants often don't notice important messages sent during calls, leading to missed information and requiring follow-up after the call ends.
Describe the solution you'd like
Add an option to show recent chat messages as an overlay during calls, reusing the layered bubble UI pattern introduced for live transcriptions in PR #15696.
The solution should include:
• Toggle option: "Show chat overlay in call" in the chat menu and/or call settings
• Visual design: Reuse the layered/stacked bubble pattern from live transcriptions with avatar, display name, and message content
• Positioning: Bottom area of call view (avoiding critical call controls)
• Behavior:
• Show last 3-5 messages as compact bubbles
• Auto-dismiss after 6-10 seconds with smooth transitions
• Click bubble to open chat sidebar focused on that message
• Respect text direction (RTL) and language rules like live transcription
• Coexistence: Work alongside live transcription without visual conflicts
• Scope: Per-user preference, stored per conversation
Describe alternatives you've considered
• Browser/system notifications: Unreliable in fullscreen mode and can be noisy
• Keeping chat sidebar open: Reduces video space and requires manual management
• Audio notifications: Could be disruptive during calls and don't show content
• Status indicators: Don't provide enough context about message content
Additional context
This feature was inspired by the excellent layered transcript UI added in #15696. The live transcription feature demonstrates how short, transient, stacked messages can work well overlaid on the call view without being intrusive.
Screenshots from the live transcription PR show the visual pattern that could be adapted for chat messages:
• Layered bubbles with avatars and names
• Smooth scrolling and stacking animations
• Clean visual hierarchy that doesn't obstruct the call
Benefits:
• Improved awareness of chat activity during calls
• Reduced context switching between call view and chat
• Maintains focus on video while staying connected to text conversation
• Leverages proven UI patterns already implemented
Implementation considerations:
• Reuse components and styles from LiveTranscriptionRenderer.vue where possible
• Add subtle visual differentiation (e.g., "Chat" corner label) to distinguish from transcripts
• Ensure accessibility with proper screen reader support
• Handle edge cases like screenshare mode and narrow mobile layouts
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reviewing LiveTranscriptionRenderer.vue and the layered transcript UI introduced in PR #15696. Trace how the call view and chat menu/settings expose user preferences, then confirm the overlay requirements: recent stacked messages, dismissal, sidebar focus, RTL/accessibility support, and coexistence with live transcription across desktop and narrow mobile layouts.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- javascript
- Domain
- audio-video-rtc, frontend
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100