lowfire.
← The daily journal

October 23, 2026

62 merged pull requests · 29 detailed notes

Video calls became more accommodating, recovery kits kept a dependable way back to the last complete backup, and Linux began following the desktop’s text size. The day also brought many fixes to keyboard focus, long names, large-text layouts, notifications and updates, plus an accepted design for replacing an identity key.

New and improved

2 notes
  • Video on devices that cannot send it

    A device that can decode video but cannot encode it can still show the other person. Lowfire explains the limitation and keeps its own camera unavailable rather than treating the whole call as unsupported.

  • Follow Linux’s larger-text preference

    Lowfire now follows GNOME’s desktop text-size setting, including Large Text, and responds when that setting changes. The app’s own supported text-size limits still apply.

Fixes and polish

16 notes
  • Keep the last complete backup usable

    When a backup key is being replaced, your recovery kit can still open the last complete backup until a replacement under the new key has been stored. Failed later attempts no longer throw away that usable way back.

  • Say why the camera cannot start

    A call distinguishes a missing camera from a camera that has gone away, instead of showing the same generic failure. The explanation comes through on both Mac and Linux.

  • Calls survive an uneven return online

    After a server outage, the two callers may reconnect at different times. The answering device now waits for the caller’s opportunity to receive the answer, avoiding a premature connection failure.

  • Type into the thread you just clicked

    Clicking a thread over the conversation now directs subsequent typing to that thread’s reply field. The conversation composer underneath no longer takes those words.

  • Keep fast typing after sending

    In the terminal client, characters arriving immediately after Return start the next message. They are no longer lost because the send and the next keystrokes arrived together.

  • Disabled buttons fade consistently

    A filled button that is unavailable now fades as a whole, so its text, icon and background read as one disabled control.

  • Keep phone warnings readable at large sizes

    At the largest phone text sizes, a suspended-account banner keeps its words whole and the message log retains room for a complete line.

  • Name pop-ups in your language

    Settings and status pop-ups now have names in the person’s selected language, including the names presented to assistive software.

  • Explain an update refusal even with a long folder name

    If Lowfire cannot replace an app in its current folder, the update explanation and the way out remain readable even when the installation path is very long. The folder name is shortened safely instead of cutting off the useful reason.

  • Explain leaving and removing a person

    Leaving an organisation now explains what disappears from your devices, what other people keep and how you could return. Removing a member also explains whether shared invitations could let them back in and what turning those invitations off changes.

  • Preserve long people’s names

    Long names are kept intact when plugins read them, and Invite Links no longer replaces a valid long name with “Someone”. Where a name still cannot fit on screen, Linux now shortens the drawn name cleanly with an ellipsis.

  • Make file names readable with larger text

    File-card buttons move below the name when the row needs more room. A useful file name no longer shrinks to a tiny stub just to keep Open and Save beside it.

  • Keep calls usable beside panels and long drafts

    A side panel can stay beside a call at larger text sizes. When room gets tight, the composer gives up extra lines before hiding the header, and the call’s explanation of insufficient room remains visible.

  • Tab only to controls you can reach

    Keyboard navigation skips buttons covered by the side panel or by the sidebar sliding over the conversation. Focus no longer disappears behind something you opened.

  • Keep brief notices clear of dialogs

    Transient notices avoid open sheets, setup cards, update offers and window buttons together. In smaller windows, the placement uses the remaining clear space rather than covering an action you need.

  • Handle background work that cannot start

    File-transfer and other background workers now notice when the system refuses to start them, and enabling a connection to another program fails cleanly if its worker cannot start. Commands without arguments also receive the storage they need for their answer.

Designs and foundations

1 notes

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

  • Replacing an account’s identity key

    The design for replacing an identity key without starting over was accepted. It requires the current recovery kit, removes potentially stolen devices first and has explicit limits when an attacker holds the same keys; the feature itself is not implemented yet.

Behind the scenes

10 notes
Read all 10 notes behind the scenes
  • Check video decoding and call recovery

    The call-quality tools gained Mac decoding checks and clearer reports of which stream failed. Real-call checks wait for the state the app actually shows, including after an audio restart.

  • Make test runs independent

    Terminal invocations receive separate test executables; shared account fixtures are reused safely; reset returns image indexes; and pooled test apps are closed correctly. Conversation-rename tests now wait for their own required state.

  • Reduce the terminal tests’ avoidable work

    The terminal snapshot suite was reviewed and made less expensive while retaining the behaviours it needs to check.

  • Capture the frame a failed check judged

    A failed visual check keeps its complete explanation and the image it examined. Settling and comparison tools now account for pending layout work, motion after a pan and the precise frames used on each side.

  • Strengthen large-text and menu checks

    Large-text checks now continue through every intended case, identify the correct panel and member list, and judge menu scrolling and setup links after motion has settled. These changes improve the checks rather than claiming a new menu feature.

  • Detect text that is hidden or cut

    The inspection tools now report text completely hidden by a clipping edge and measure the glyphs actually drawn. The UI checks also prove that simulated panning has come to rest.

  • Make development commands and documentation dependable

    The UI-driving command prints help without starting work, handles its options in either supported position, and rejects malformed input clearly. The build forwards check options, documentation links resolve explicit anchors and heading names, and handoff checks remind workers about copied-code notes.

  • Read security-test time consistently

    Security-test helpers read the clock once for an entry and no longer let a clock tick decide whether a valid test record is accepted.

  • Keep failure evidence and parallel notes

    Failure reports retain their evidence at filing time, and shared findings use issue-based filenames so independent workers’ notes do not collide.

  • Record a narrow database-test exception

    A warning in the bundled database library was investigated and given a narrowly scoped testing exception. Secure deletion remains enabled, and unrelated warnings remain reportable.

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 ↑