
Fixes and polish
14 notesMessage lists keep their spacing and rows
Lists account for the space between rows, including their empty spacers. Revealing a row near the end builds the rows above it in the same frame instead of leaving a temporary gap.
Date and unread markers stay clear
A pinned date hands over when its day scrolls away, and the unread divider stays clear of Jump to newest.
Clearer translated workflow messages
Leaving a broken conversation no longer produces a needless error toast. Composer and other workflow outcomes now use the selected language instead of leaving untranslated messages.
Visible popup selection in dark mode
The current row in a popup menu has a visible highlight in the dark theme.
Back up attachments without loading them all
Backup and restore process attachments without collecting the whole attachment history in memory. This reduces the working memory needed for large histories.
File cards keep names and actions together
An attachment download keeps its filename associated with its completion. In narrow windows, file cards also keep their names and buttons inside the card.
Restore every copy of an attached file
When the same file appears as several attachments, restoring a backup now gives each attachment its own copy instead of restoring only one occurrence.
Recover cleanly when history cannot be saved
History transfers, device merges, removal notices and message-position updates now roll back or retry when local storage refuses a write. The app no longer treats an unsaved change as safely completed.
Consistent Chinese font choice
After a Chinese-only character, surrounding Han characters continue using the appropriate language font.
Join confirms the step shown
A person’s own Join action approves the membership step named in its sheet, keeping the confirmation tied to the action being taken.
Empty fields keep their hint
An empty single-line field keeps its placeholder visible when it has keyboard focus.
Safer text input under memory pressure
The interface drops an input event cleanly if it cannot allocate its working memory, and filters control characters from typed text.
Call headers keep useful information
A healthy call keeps Share Screen available when its name must give way. A short group-call indicator shows useful text instead of only an ellipsis.
Behind the scenes
5 notesRead all 5 notes behind the scenes
Investigating release memory use
The release chat sample’s idle memory was investigated and recorded. This measurement work does not establish that every workload meets the memory target.
Safer failures across the encryption boundary
The C and Rust boundary uses a consistent owned diagnostic slot for each subsystem. An unexpected Rust failure reports its source location without printing its contents.
More useful automated checks and diagnostics
End-to-end and interface checks wait for real readiness, settled layouts and decoded previews instead of relying on incidental timing. The automation driver identifies a pending approval, and the call benchmark handles steady forwarding on its simulated path.
Updated · . Expanded from the first draft to cover the full day’s reviewed work, including smaller improvements and fixes.
Back to the top ↑