Chat V4, i18n Migration & Transcription Sharing
· 4 min read
Chat receives major upgrades with shimmer loading, Group DM features, and async message queue. The web app migrates from Tolgee to react-intl for internationalization. Transcription gets sharing capabilities with AI-powered actions and email notifications.
New Features
Chat — Major Upgrades
A series of significant improvements to the Chat experience:
- Shimmer loading — skeleton loading states for a smoother experience while chat data loads
- Group DM rename — rename Group DM conversations for better organization (#2624)
- Convert DM to group — transform a direct message into a group channel (#2611)
- Async message queue — messages are processed asynchronously via a queue worker for improved reliability and ordering
- Forwarded message attribution — forwarded messages now show the original sender (#2568)
- Client timestamp validation — server validates client-provided timestamps to maintain correct ordering
- DM mute settings — mute direct messages with configurable notification behavior (#2613)
- Resizable video layout — drag-to-resize video layout for P2P calls (#2559)
- Thread virtualization — virtualized thread list for improved performance with many threads (#2570)
i18n — Tolgee to react-intl Migration
Migrated the entire web application from Tolgee to react-intl for internationalization:
- Removed Tolgee dependency in favor of the more lightweight react-intl
- Implemented fallback message merging for incomplete translations
- Standalone language files removed in favor of centralized translation management
Transcription
- Sharing — share meeting transcriptions with participant avatars and improved UI (#2629)
- AI actions with email — process transcriptions with AI and send results via email with BCC support
- Speaker audio playback — play individual speaker segments from transcriptions (#2581)
- Delete transcriptions — remove transcriptions when no longer needed (#2581)
- Video player fixes — Electron sync, fullscreen mode, and popup video improvements (#2601, #2600)
Classroom
- Custom CSS injection — inject custom CSS for BigBlueButton branding to match Copera's visual identity (#2626)
- BBB webhook improvements — enhanced webhook handling with Copera branding (#2616)
Agenda
- Single occurrence status update — update the status of individual occurrences in recurring events (#2591)
- Recurrence tests — comprehensive test suite for recurring event date calculations matching Gmail behavior (#2576, #2598)
- Inbound email response — process inbound email responses to agenda events (#2529)
Board
- Automation with link source — create automations that reference linked row data (#2615)
- Navigate to dashboard after creation — automatically redirect to the new dashboard after creating one (#2621)
- Row dialog slice awareness — row dialog now shows which slice the row belongs to (#2556)
Other Features
- App Config — configurable tutorial links via the admin panel (#2623)
- Video clipping — clip and save video segments from sessions with i18n support
- Command Palette v2 — show more results, palette types for different content categories, and reset expansion state (#2447)
- Public Documents — share documents publicly with accessible URLs (#2521)
- Channel mentions — mention channels in other channels, comments in boards — Slack-parity functionality (#2567)
- Thread collection — organize and browse threads from channels (#2565)
- Double-click to connect — preference setting for meeting channel connection behavior (#2628)
- Custom top bar — users can customize the top bar layout (#2555)
- Slack-parity timestamps — hover tooltips showing full timestamp, matching Slack behavior (#2592)
- Inbox compose UX — conditional actions and auto-subject for improved email composing (#2597)
- Inbox DNS verification — periodic DNS verification for inbox domains with admin notifications
- Inbox email notifications — real-time email notifications via EventSource
- Meeting channel documents — collaborative document editing within meeting channels
- Connection timer — display connection duration in active meeting channels
Bug Fixes
- Chat: fixed mute settings (#2613), DM permissions (#2612), thread drawer navigation (#2610, #2609), message ordering (#2608), scroll position reset on new messages, and race conditions in message sending (#2575)
- Meeting channels: LiveKit P2 stabilization (#2607), prevented camera from auto-enabling on rejoin (#2622)
- Inbox: fixed DNS verification status, draft management and cache updates (#2614), compose UX improvements (#2597)
- Board: fixed private views (#2564), automation count (#2562), slice order columns (#2561), board settings navigation (#2577), formula resetting list filters (#2503), and automation email Sentry errors (#2595)
- Drive: fixed folder upload, item selection, and header inconsistency (#2536)
- Notifications: fixed row comment notifications for owners (#2625), channel mention notifications (#2583)
Improvements
- Settings: refactored profile page structure (#2585), added contact badge settings page (#2584), members/teams page layout (#2533)
- Navbar: improved layout alignment (#2560), communicate navbar restructure (#2596), expansion indicators (#2620)
- Desktop notifications — improved notification behavior and window focus on click (#2546)
- React Query v5 — migrated from TanStack React Query v4 to v5 with updated mutation/query syntax (#2573)
- Node.js v24 — upgraded Node.js runtime to v24 with updated TypeScript config
- Board permissions — moved to store and context pattern for better state management (#2549)
- Avatar component — added consistent size prop across all avatar usages (#2497-#2499)
