Skip to main content

Chat V4, i18n Migration & Transcription Sharing

· 4 min read
Copera Team
Copera Team
Product Team

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)