lowfire.
← The daily journal

October 17, 2026

94 merged pull requests · 33 detailed notes

The iPhone implementation gained files, touch layouts and navigation; desktop file dialogs, calls, typing indicators and recovery also progressed.

New and improved

4 notes
  • 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.

  • iPhone photos, files and previews

    The iPhone implementation 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.

  • iPhone navigation gestures

    The iPhone implementation adds animated forward and back navigation, including an interactive swipe from the edge to go back.

  • 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.

Fixes and polish

12 notes
  • 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.

  • Small sheets keep their buttons visible

    In short windows, Channels, Slash Commands, New conversation and Set a Status keep their footers inside the sheet. Form fields scroll in the space above the buttons.

  • 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 the largest text size receives clipping fixes.

  • 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.

Designs and foundations

6 notes

Designs, contracts and foundations are work in progress; they do not by themselves mean a finished feature is available.

  • 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. These are implementation pieces of delayed security changes.

  • An iPhone app build takes shape

    The project can build its iPhone bridge for simulator and device, render the demonstration interface and exercise lifecycle events in the simulator. This is development groundwork, not an announced iPhone distribution.

  • iPhone system-service connections

    The iPhone bridge gains platform services and universal-link handling for invites. These additions are part of bringing the client to iPhone.

  • 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; this is an early slice of the wider permission rollout.

  • Lists capacity and offline requirements recorded

    The planned Lists feature now has explicit requirements for capacity and offline synchronisation. This is requirements work, not a usable Lists interface.

Behind the scenes

11 notes
Read all 11 notes behind the scenes
  • 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.

  • Dependency advisory review recorded

    A time-limited exception was recorded for advisories in an inactive cryptography dependency. This is dependency-review documentation, not a change to encryption behaviour.

  • Keep terminal and call evidence 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 measurement evidence, 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.

Updated · . Expanded from the first draft to cover the full day’s reviewed work, including smaller improvements and fixes.

Back to the top ↑

Good things take care.

Lowfire is in development. These notes cover the project’s reviewed changes, grouped into plain-English topics. Pull requests are reviewed changes to the project; the counts also include maintenance and early direct commits. Internal coordination records are accounted for privately.

Designs and foundations are labelled as work in progress. Genuine screenshots show fictional demo content. Current reference captures do not recreate historical builds or imply earlier device availability.

Checked through . The latest day covers work reviewed through the pinned snapshot, not the whole calendar day. The notes were expanded on October 25 to cover the full reviewed history.

Back to the beginning ↑