Typing indicators, and file dialogs that don’t block
Conversations of up to 50 people show typing indicators, and a synced Privacy switch turns them off. On Mac and Linux, file dialogs no longer stop the app responding.
New
File dialogs no longer block the app
On macOS and Linux, opening and saving files use asynchronous system dialogs so the app can continue responding while a dialog is open.
New
iPhone photos, files and previews
On iPhone, Lowfire gains photo and document pickers, sharing, attachment previews and drag and drop. Staged pictures now show their preview, and Open on an attachment uses the system preview.
Also new
- Typing indicators and a privacy preference. For conversations with up to 50 people, composer edits show typing indicators in the header. A synced Privacy switch can turn off both sending and showing typing activity.
Fixed
- Handle empty data and failed saves safely. Empty directory lists, network buffers and rendered surfaces no longer use invalid empty-memory operations. Failed history and catalog saves also release temporary data before retrying.
- More stable screen sharing on changing connections. The media sender avoids cutting quality from insufficient or misleading timing samples, paces queued video at the connection’s rate and keeps independent stream sizes from interfering. Group screen sharing can resume again on slow receiving connections.
- Respect safe areas and the keyboard. The shell accounts for the iPhone’s safe areas and keyboard. Linux’s portable window buttons also stay below the device’s top inset.
- Select history text independently. The history notice no longer shares its selection with the first message, so selecting one does not select the other.
- An interface that fits touch and larger text. The iPhone interface uses larger touch targets, touch equivalents for hover actions and haptics, with text that follows the phone’s text-size setting. Messages wrap in their column, scroll indicators fade, and text no longer clips at the largest size.
- Safer Linux update extraction. Linux update archives are checked and extracted in a single pass, avoiding a separate validation pass over different input.
- Reuse unchanged channel history. History transfers can reuse channel pages that have not changed, rather than rebuilding identical pages for each sender.
- Sharper Linux app icons. Linux tray and launcher icons are generated at suitable sizes so they remain crisp.
- Keep call updates moving while audio is processed. Processing audio no longer holds up checking for call events. Events that are still waiting are preserved for later delivery.
- Keep unreadable store journals intact. If setting aside an unreadable local store is interrupted, its journals are preserved rather than being lost during the move.
- Automation backlogs wake correctly. An automation connection with queued input no longer asks repeatedly for turns while paused. Draining below the pause threshold wakes it again, avoiding a stuck backlog.
In the works 6 changes · designs and groundwork
- Encrypted directory listings and profiles. Organisation listings and profiles use sealed records with a bounded local cache. This extends the encrypted-directory foundation.
- Track the device’s last verified security view. Security-change timing is based on a device’s own last complete check, and a newly linked device starts from its sponsor’s verified view. Both are groundwork for delayed security changes.
- The iPhone app builds for simulator and device. The iPhone bridge builds for simulator and device, renders the demonstration interface and runs through lifecycle events in the simulator.
- iPhone system-service connections. The iPhone bridge gains platform services and universal-link handling for invites.
- One place to grant automation access. The shared permission owner can offer Allow Once, Allow This Session, Allow Permanently and Deny, with choices that fit their sheet. Permanent access depends on caller identity and platform authentication support.
- Capacity and offline rules for Lists. The planned Lists feature now has explicit requirements for capacity and offline synchronisation.
Under the hood 11 changes · tests, tools and the server
- Updated encrypted-connection dependency. The encrypted-connection library was updated to repair published security advisories.
- Cleaner memory and component boundaries. The automation adapter releases its streams, Linux sanitizers recognise memory held through mappings, and event scheduling is shared. Media and interface modules also expose clearer boundaries instead of reaching into each other’s internals.
- More reliable cleanup and connection tests. Automation, interaction, chat and server fixtures now hold the exact stages they test, free what they own and remove their endpoint folders. These changes improve leak checks and reduce race-driven test failures.
- Faster and more focused Linux build checks. Linux compilation uses physical-core capacity, large source units are split, and native and server checks avoid repeated setup. Software rendering produces the same pixels with less frame work, and continuous checks run the native lane when its scripts change.
- Time-limited exception for an inactive dependency. A time-limited exception was recorded for advisories in an inactive cryptography dependency.
- Keep terminal and call test results through cleanup. Terminal-gallery failures, server-cleanup controls and screen/group-call measurements retain the observations needed to explain their result before temporary files disappear.
- Platform-correct interface fixtures. Interface checks wait for the keyboard inset and share a fixed clock, demonstration notices use the correct device name, and terminal-call expectations respect Linux video limits. A compiler warning in a drag-query fixture is also repaired.
- More portable Linux native fixtures. Linux audio tests select their virtual capture source, socket paths do not depend on checkout depth, and IPv6 name checks do not depend on the host resolver. Graphics lifetime documentation records first-frame behaviour on real and software drivers.
- Broader real-client verification. History checks wait for directory admission, presence is tested through two real windows and a local server, and Linux installer checks observe ordinary memory before the shutdown test.
- Clearer process and test-run ownership. Development guidance keeps raw measurements, interaction waits are distinguished from CPU diagnostics, and process fixtures wait for their private bus and shut down cleanly. Checkout attribution and interrupted terminal replay checks are repaired.
- Verify memory-collector access with a real process. The memory-check preflight reads an actual probe process instead of treating an operating-system authorisation answer as proof that collection will work.