Steadier video on slow links, and regional dates and times
Shared screens sharpen after scrolling, and video copes better with a slow connection. Dates and times follow your region, Linux gives back idle graphics memory, and large text leaves room for messages.
Fixed
- Linux gives back graphics memory while idle. An idle visible Linux window gives back graphics buffers it no longer needs. The way frames are presented also avoids holding the last frame of a short burst.
- A narrow call header keeps a useful name. The call name keeps its beginning with an ellipsis, or yields its space entirely, instead of showing a lone ellipsis.
- Sharper and steadier video on constrained links. Shared pages sharpen after scrolling, large screen frames wait in the sender instead of clogging the network, and pacing counts the bytes the connection actually carries. Individual group streams can change size without holding others up, and send timestamps are taken when packets actually leave.
- Linux wake connection waits for a listening service. The Linux wake service connects when the system bus is actually ready to accept connections, instead of failing just because its socket appeared first.
- Dates and times follow your region. Reminder times omit seconds, and dates and times across the app share one formatter that respects the chosen locale and hour cycle.
- Linux instructions match Linux. Linux no longer offers dictionary lookup when none is available. File, preview, key storage and sound instructions use the platform’s own wording.
- Attachment refusals in Swedish. Attachment errors now read in Swedish when that is the selected language.
- Panel controls fit their space. Wide actions wrap inside Details, Later keeps its tabs and Clear Done inside the pane, and side-panel tabs remain readable at narrow widths.
- Readable status text over pictures. Picture status text stays readable in the light theme as well as the dark theme.
- Consistent Return key hint. Composer hints use Lowfire’s own Return-key symbol so the hint looks consistent across systems.
- Explain why the only admin cannot leave. When the only administrator tries to leave, the confirmation explains the refusal as a complete sentence in English and Swedish.
- Sheet actions stay together. Join and Set a Status keep Cancel and the main action together at the end of the footer.
- Messages use their available column. Narrow logs wrap within their column, and only marked reminders reserve a gutter. Picture frames hug their image, while text can break after hyphens and slashes.
- More natural iPhone scrolling. iPhone scrolling is tuned to behave like the system’s standard scroll view.
- Text fields keep text and caret aligned. Inline rename remains readable at narrow widths, and single-line text stays inside its padding. The caret and selection follow the actual text line, with corrected placement from a touch.
- Aligned pinned group-call strip. The group-call strip lines up with its pinned picture.
- Conversation header and typing layout repaired. The conversation header and bottom typing indicator were repaired so their layout follows the intended design.
- Opening a conversation takes the keyboard. Choosing a conversation from the switcher or Jump to… moves keyboard focus into it in both the app and terminal client.
- More readable terminal messages and panels. Partly scrolled file cards keep their corners, emoji with variation selectors draw correctly on terminals with older width rules, and long refusals remain readable. Settings keeps enough width for its buttons, and narrow lists stay within their own cells.
- Message links work again. Opening or copying a link from a message works again after the header changes. Opening a link still asks first.
- Scrolling keeps the real end position. Dragging back from overscroll no longer loses the true end of the scrollable content.
- Linux clipboard preserves text and file offers. Linux clipboard handling preserves UTF-8 text, gives file-address offers the intended priority and erases temporary data when finished.
In the works 1 change · designs and groundwork
- Consistent reasons for refused commands. A proposal defines stable reasons for refused commands, so interfaces can explain them consistently.
Under the hood 11 changes · tests, tools and the server
- Stronger build and memory checks. Unrecorded plugin-interface additions fail verification, sanitizers cover another invalid-number conversion, and Linux native fixtures run under sanitizers. Generated style files become build output, the test GPU is shut down properly, and unsupported package tools receive a clear explanation.
- More focused test and interface tools. Drivers and test runners gain clear help and named-case selection, terminal snapshots can create their first platform fixture, and interface checks locate exact controls. Collecting media-test names no longer runs the tests.
- Less timing-dependent cross-platform tests. Media, process, native-audio and server fixtures now wait for their actual conditions and avoid changing process environments while threads may launch children. Waiting for a shared verification slot no longer looks like a test timeout.
- Keep coordination and storage documentation current. Coordination prioritises friction and cleanup work. Storage documentation now describes streaming export, account records and store queries.
- Continuous checks finish after the server tests. The server-test step ends after the tests pass instead of keeping the continuous-check job alive unnecessarily.
- Terminal symbol drawing has a defined order. Terminal symbol drawing sets its ink before the attributes that depend on it, avoiding an ambiguous evaluation order.
- Status tool follows event order. The development status tool decides whether a returned change has been answered from the order of events instead of a short timing window.
- Better media failure attribution. Call tools record operating-system encoder stalls, keep video results and identify a failed trace or negative control. Simulator counts are reported as known or unknown instead of an unjustified zero.
- More accurate verification comparisons. A cached main-branch baseline supports comparisons, screenshot runs use the plain baseline, changing row counts stay recognised as changes and real filename differences are preserved.
- Retain terminal failure context. Terminal failures keep their raw output and process context. File-opening tests distinguish local from remote execution instead of assuming one environment.
- Keep machine details and Linux check logs. Retained findings identify the machine and preserve key files directly. Continuous checks upload the logs of a failed native Linux fixture.