Changelog

Thursday

Open at the first unread, and drafts that survive Quit

Conversations open at the first message you have not read, and an unsent draft is still there after you quit. Linux gains camera capture and hardware video where the device and driver support it.

New

Manage channel members from People

Administrators can make someone an admin or remove them directly from the People sheet.

New

Unsent drafts survive quitting

Draft text is saved across Quit, a normal termination signal and session end, so an unsent message remains when you return.

New

Camera and hardware video on Linux

Linux gains PipeWire camera capture and Vulkan Video encoding and decoding, where the device and driver report support for them.

Also new

  • Closing the Mac window keeps the app available. Closing the Mac window leaves Lowfire running in the Dock. Clicking the Dock icon, choosing its Window menu entry or opening a notification brings the window back.
  • Open at the first unread message. A conversation opens at its first unread message. Only messages actually shown count as read, so messages you have not seen stay unread.

Fixed

  • Device dates fit their cards. Settings keeps a device’s date whole inside its card.
  • Undo and Redo reselect restored text. Text fields select the text brought back by Undo or Redo, making the result of the edit clear.
  • Your other device’s attachments are yours. An attachment sent by another of your devices is correctly treated as your own message.
  • Channels keep history and devices in step. A newcomer given the full channel history can see its beginning. A channel created on one device also appears on the account’s other devices.
  • Profile keys follow the actual folder. The secure-store item for a chosen profile is based on the folder’s identity rather than the spelling of its path, avoiding different identities for equivalent paths.
  • Terminal message times stay whole. Continuation-row timestamps remain complete and line up with the toolbar’s time area.
  • Polished alerts, pictures and text menus. Link confirmations align with other sheets, picture progress strips meet their rounded corners, and keyboard-opened text menus attach to the caret’s line. Narrow refusal banners wrap buttons below the explanation.
  • Clearer accessible menus and call state. Screen readers receive corrected splitter values, menu focus, shortcuts and toggle state. Calls announce incoming, ended and connection changes without putting a changing timer inside every control name.
  • Keyboard navigation reaches hidden controls. Tab can reach controls scrolled out of view and reveal them. Checkboxes and popup buttons also show the focus ring.
  • Setup cards fit phones and short windows. Onboarding links and fine print wrap inside a phone-width card. Setup cards rise or scroll to keep the default action reachable when the window is short.
  • Notification hours follow your regional clock. The notification-hours controls share a parser and formatter that respects the selected region’s time format.
  • Linked devices inherit your presence preferences. A linked or restored device takes the account’s notification pause, status and Appear away setting instead of starting with mismatched preferences.
  • Lost group-call connections stop counting as present. A participant whose connection has been lost no longer remains counted as in the call.
  • Back stays reachable in narrow terminals. In a narrow terminal without enhanced keyboard support, Back remains reachable and its label matches the key used to activate it.
  • Recover when a Linux speaker disappears. If the speaker is unplugged during a call, the app explains the loss and takes it back when it returns.
  • Fewer stranded words in wrapped text. Wrapped text avoids leaving a lone word on the final line.
  • Keep one stuck video stream from holding up others. Video for each stream is processed separately, so Lowfire can detect and replace a stuck part without holding up the other streams. Ending a call also retires that background work safely.
  • Conversation overlays fit the finished theme. Update cards and toasts use the space left by a panel over the conversation. The new theme’s final screen pass also removes the old theme code.
  • Generated forms speak to the person. Automatically generated command forms use human-facing wording instead of addressing the person as an automation agent.
  • Expired linking codes renew themselves. A waiting device-link code is replaced automatically when it expires, instead of leaving the person with a dead code.
  • Call answers wait fairly for the server. An answer delayed by the server gets time to connect. If the answer never went out, the app says so instead of pretending it reached the caller.
  • Answered calls stay answered after a restart. A call answered before a crash or forced exit stays answered across the account’s devices instead of returning as an unanswered call.
  • Terminal call controls on every screen. The terminal keeps its call bar available across screens and puts the Messages count on its button.
  • iPhone text starts at the system’s body size. The iPhone uses the system’s normal body-text size, with no style becoming smaller than before at any supported text-size setting.
  • All member devices join the organisation directory. Every device of an organisation member joins its directory, including a device linked before the organisation was founded.
  • Desktop controls grow with larger text. Single-line fields, chips, time fields and setup links grow with the larger desktop text sizes instead of clipping their contents.
  • Closing a floating region restores the keyboard. When a floating region goes away, keyboard focus returns to the control that had it before.
  • One conversation does not ring its other device. While you are already talking to someone, their other device no longer rings them again or creates a false missed call.
  • Names reject invisible control tricks. Names reject or clean control characters and direction-changing overrides so they cannot unexpectedly alter how surrounding interface text reads.
  • Reopened interface elements reveal themselves. An interface element shown again with the same identity is revealed again instead of remaining out of view.
  • Better screen-reader reading order and suggestions. Accessibility children follow the interface’s reading order, including window controls and the call card. Jump to… and mention suggestions are announced as the arrow keys move through them.
  • Retry a lost call. A lost call offers Call again, and a ringing conversation row keeps the caller’s name visible.
  • People lists are in name order. The People sheet and other people lists sort by name instead of appearing in an unpredictable order.
  • Removal reaches every member device. When a member is removed from an organisation, their devices end the affected conversations and show the notice once.
In the works 2 changes · designs and groundwork
  • Delayed security changes work across devices. Running devices check their account log periodically, share when they last checked, and preserve the pending change when linking. A pending recovery kit restores from its requester’s backup.
  • A design for independent encrypted Lists. The Lists proposal describes independent encrypted storage and edits, including offline work and the limits of initial state recovery.
Under the hood 5 changes · tests, tools and the server
  • Private end-to-end diagnostics. Real-client failure output avoids message contents and secrets, preserving useful structural diagnostics instead.
  • Stronger native and leak verification. Launch test hooks release parsed strings, presence leak scans reach their intended checks, Linux native sanitizer reports are classified correctly, and native checks avoid a stalled runner’s wall clock. Key-storage fixtures ask the binary which items the profile owns.
  • Precise interface and attachment fixtures. Size-specific checks end clearly when their condition cannot hold, locate exact headers, links, call rows and organisation tiles, and wait for complete text or the expected clipboard sequence. Attachment controls also stop at their intended setup condition.
  • Focused performance and interface tools. Instruction-count checks avoid extra process work, Mac tooling can inspect real menus, keys and accessibility, and a single test step can run alone. Larger-text galleries report clipping, and concurrent checks wait for ownership of their build folder.
  • Media and protocol failures are easier to trace. Camera observations are isolated, windowed real clients retain core traces, protocol vectors share the current version definition and saved failure archives include sanitizer logs. Tests use state rather than busy-machine wall time, and the Mac call tools verify stalled-encoder handling.