Video on receive-only devices, and GNOME’s Large Text
A device that can decode but not encode video now shows the other person. Lowfire follows GNOME’s text size, and your recovery kit still opens the last complete backup while the backup key is replaced.
New
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.
New
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.
Fixed
- 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.
- Name pop-ups in your language. Settings and status pop-ups now have names in your language, including the names assistive software reads out.
- 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.
In the works 1 change · designs and groundwork
- Replacing an account’s identity key. The design for replacing an identity key without starting over is settled. It requires the current recovery kit, removes potentially stolen devices first and has explicit limits when an attacker holds the same keys.
Under the hood 10 changes · tests, tools and the server
- 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 client’s screen tests now do less avoidable work while still checking the behaviours they need.
- 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.
- 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 records and parallel notes. Failure reports keep their records as they were when filed, and shared findings use per-task filenames so notes written in parallel 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.