Changelog

Saturday

Mark as read, and backups that wait for a connection

Mark a conversation, or the whole Unread list, as read without opening it. Back up now waits for a connection when offline, and Mac video keeps moving when the hardware stalls.

New

Mark conversations as read without opening them

A conversation’s menu now offers Mark as Read, and the Unread list can mark all its conversations as read. Read markers follow to your other devices, just as they do when you read normally.

New

Joining keeps trying while the server is away

If the server cannot be reached during setup, Lowfire explains that it is waiting and continues when the connection returns. You can retry immediately or cancel without losing the invitation review.

New

Ask for a backup while offline

Back up now can wait for the connection and run automatically when the app comes online. The card explains the wait; this manual request lasts for the current run of the app, while ordinary scheduled backups still cover changes after a restart.

Also new

  • Keep video moving when Mac hardware stalls. On Apple platforms, software can temporarily take over when the usual video hardware stops answering, then hand back once the hardware recovers. Limits on picture size and running time keep this fallback under control; eligible stuck video playback can also use software.
  • Permission before a program reads your profile. Programs can identify themselves with a local key. A launch targeting a personal profile must already have the required permission before it reads settings, accesses the store or prints personal output; unapproved launches stop without producing that output.
  • Confirm lasting permissions with Touch ID or password. On Mac, granting a keyed program permanent permission uses the system’s owner authentication. The prompt is cancelled if its request disappears; background windows cannot summon it. Other platforms do not have equivalent authentication yet.
  • Tell AppleScript callers apart. Mac automation now identifies AppleScript callers through the system’s verified caller information. Permission is tied to the actual sender rather than trusting a program’s claim about who it is.
  • Choose a status emoji from the picker. The emoji square in Set a Status opens the shared emoji picker, making it easier to choose a status symbol.
  • Keep command forms focused on the task. Automatically generated forms put their equivalent command behind Show command. People can expand and copy it when useful, while ordinary use stays focused on the fields; sensitive values stay redacted.

Fixed

  • Cancel linking and restore quietly. Cancel and Escape return from linking and recovery cards without a red error or an unnecessary stopped screen. The link card starts with Cancel selected, and focus returns to the place the action began.
  • Make confirmations behave like familiar Mac alerts. Return takes the default action and Escape cancels. A confirmation waits until Tab before drawing a keyboard focus ring, and keyboard focus is restored correctly when the alert ends.
  • Show which control opened a panel. Details, the Settings gear and the organisation rail’s add button keep their pressed appearance while what they opened remains open.
  • Keep organisation, group and device names intact. Long organisation names and group titles now fit the buffers that carry them. Lost-device lists preserve full valid names, and exceptionally long computer host names are shortened only at whole-character boundaries.
  • Protect recovery and other secret entry fields. Secret fields are protected consistently, including when the secret marking belongs to a containing panel. They do not use spelling correction, completion or retained dictation suggestions, and temporary copies made for display and layout are handled more tightly.
  • Remove devices marked lost during protected recovery. With the current recovery kit, a protected restore now removes devices you identify as lost immediately through the kit-authorised path, instead of waiting behind the ordinary security-change delay. If the required current kit is unavailable, the app keeps the recovery barrier and explains the action still needed.
  • Use the right explanation when removing a device. The confirmation avoids references to extra accounts or servers when you have only one account. With several accounts it names the relevant server correctly; what the removal itself does is unchanged.
  • Keep elapsed call time visible. In a narrow call header with larger text, optional camera and sharing controls move into the menu before elapsed time is lost. Mute, Hang Up and the call’s messages remain available.
  • Respect a dismissed iPhone keyboard. A character queued after Escape on the iPhone’s on-screen keyboard no longer pulls focus back into a composer you just dismissed. Physical-keyboard typing keeps its established behaviour.
  • Restore the whole sidebar immediately. Turning off Mentions or Unread now redraws the complete conversation list at once. It no longer waits for another mouse movement or unrelated update to fill the blank space.
  • Keep an unfinished status open. Clicking the status sheet’s background or changing its expiry no longer saves and closes it unexpectedly. The same focus repair helps other sheets keep the text you are still editing.
  • Keep interface inspection usable with damaged text. Automation’s interface inspection can answer even when a label contains invalid text, instead of failing the whole response.
  • Recover space when a connected program closes. A disconnected automation client now releases its place in the runtime’s client table, so finished connections do not keep taking room needed by later ones.
  • Connect programs even with a long temporary-folder path. The local connection endpoint now chooses a private socket directory that fits the system’s path limit. A long temporary-directory setting no longer prevents setup while the existing ownership checks remain in place.
In the works 9 changes · designs and groundwork
  • Controls for connected programs. Connection status, Disconnect and Reset commands and the first Settings → Programs controls are in place. The panel stays hidden while the connection endpoint is off; turning on the ordinary first-time setup is still to come.
  • One shared permissions design. The shared design for permissions and owner authentication is written down, with its decisions settled. It underlies the launch permissions and Mac authentication already in the app; the other platforms are still to follow.
  • Clearer screens for security changes that wait. The words and states for delayed device and recovery-kit changes are specified: when a change takes effect, what each device can do and how recovery-kit actions should be explained.
  • Joining an open channel yourself. A member will be able to join an open channel without another member completing the join for them. The design sets the checks, what happens with an empty or full channel, and how history is handled.
  • Private blocks and voluntary reports. The direction for blocking and reporting is settled, and how private blocks work is now written into the security and protocol documents.
  • Prepare shared encrypted lists. The design for Lists now sets their data shapes and capacity limits, and how permissions, offline editing and recovery must work.
  • Keep private beta updates separate. Builds have a separate trust channel for beta updates and refuse update requests before the device is enrolled. The beta key and feed are not set up yet.
  • Build the private Mac download service. The service that will hand out private beta builds, and its operator tools, are built and tested, with separate controls for granting access and publishing builds. It is not running yet.
  • Prepare signed nightly Mac builds. The trusted nightly-build workflow can resume signing and Apple notarisation work after an interruption and uses a separate beta signer. It still needs operator provisioning and a configured beta key before it can publish a usable feed.
Under the hood 9 changes · tests, tools and the server
  • Document where account authority changes. The account-authority endpoints and the lifetimes of recovery keys were inventoried so the remaining security-change work can be checked against one explicit contract.
  • Test security changes against a hostile server. End-to-end tests now exercise delayed security changes with both a cooperative server and one that misbehaves, proving that the existing rules hold.
  • Make text and image checks judge complete output. New checks cover damaged character sequences through text layout, drawing and interface inspection. Colour checks wait for a complete frame, and the demo’s device-link behaviour now waits for completion like the real core.
  • Keep test records reliable. Test records survive long suite names, a failed copy of them leaves no partial folder, and notes on copied code and findings use a separate file per task so work done in parallel does not collide.
  • Make targeted checks easier to run. A single check suite can be run uncached with its work count, and end-to-end commands can pass arguments to one selected script. The text-size gallery can compare a new run with a previous one.
  • Remove timing and identity assumptions from tests. Test clients receive allocated identities, call clocks are observed in each window, and interrupt/Linux-environment checks wait for the condition they need instead of guessing a wall-clock delay.
  • Explain what an automation read can observe. The automation contract now distinguishes a frame already presented on screen from interface state read later, so tests and integrations do not mistake two different moments for one.
  • Make an unresponsive test app diagnosable. When a driven app stops answering, the test tools end it and keep its thread stacks in the report, helping locate the hang without dumping field values.
  • Make terminal checks less expensive. The terminal client’s screen tests now do less work while keeping the coverage they need.