Changelog

Organisations tell you when they can send again

When an operator lifts an organisation’s suspension, connected apps notice at once and offer the refused actions again. Refusal reasons read in Swedish, and desktop text goes one size larger.

Lowfire on the Mac, light: a group conversation with the sidebar and the message composer.
A conversation on the Mac.
New

Know when an organisation can send again

When an operator resumes an organisation, connected apps clear the stale suspension state; an offline device learns on reconnect. Lowfire offers the actions that had been refused without silently resending them.

New

Read organisation refusal reasons in Swedish

Organisation refusals now carry a consistent reason that the app can translate. In Swedish, the covered organisation refusals read in Swedish instead of as an untranslated server sentence.

New

Desktop text goes one size larger

The desktop text-size range now reaches a larger step, with body text at 27 points instead of the previous 23-point maximum. Message timestamps get a gutter wide enough for them, and update cards scroll when they cannot fit; phones keep their own system text-size range.

4 fixes and 3 more changes

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.

14 fixes and 18 more changes

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.

16 fixes and 11 more changes

Thursday

Open at the first unread, and drafts that survive Quit

Conversations open at the first message you have not read, and an unsent draft is still there after you quit. Linux gains camera capture and hardware video where the device and driver support it.

New

Manage channel members from People

Administrators can make someone an admin or remove them directly from the People sheet.

New

Unsent drafts survive quitting

Draft text is saved across Quit, a normal termination signal and session end, so an unsent message remains when you return.

New

Camera and hardware video on Linux

Linux gains PipeWire camera capture and Vulkan Video encoding and decoding, where the device and driver report support for them.

Also new

  • Closing the Mac window keeps the app available. Closing the Mac window leaves Lowfire running in the Dock. Clicking the Dock icon, choosing its Window menu entry or opening a notification brings the window back.
  • Open at the first unread message. A conversation opens at its first unread message. Only messages actually shown count as read, so messages you have not seen stay unread.

34 fixes and 7 more changes

Wednesday

Make Text Bigger, and copied pictures paste as pictures

The View menu gains Make Text Bigger, Make Text Smaller and Actual Size; Mac menus gain Enter Full Screen and more editing commands. Copied picture messages paste as pictures, with the caption in the draft.

Lowfire on the Mac, dark: a group conversation with the sidebar and the message composer.
A conversation on the Mac.
New

More standard Mac editing commands

Text fields support the Mac’s yank and transpose commands. The Edit menu gains Delete, Transformations and Speech commands.

New

Paste copied picture messages as pictures

Copying a picture message and pasting it now inserts the picture, with its caption placed in the draft.

New

Desktop text-size commands

The desktop View menu gains Make Text Bigger, Make Text Smaller and Actual Size.

Also new

  • Standard Mac window commands. The Mac menus gain Enter Full Screen with its standard shortcut and Bring All to Front.
  • Scroll from the keyboard. Page Up, Page Down, Home, End and Space scroll the currently focused scroll view.

19 fixes and 9 more changes

Tuesday

Screen readers hear new messages, and full disks keep drafts

Toasts and incoming messages are announced to screen readers. When the disk is full, Lowfire waits and retries without losing your draft, and closing the app during a call asks first.

New

Screen readers hear new activity

Toasts, announcements and incoming messages are delivered as accessibility announcements.

35 fixes and 11 more changes

Steadier video on slow links, and regional dates and times

Shared screens sharpen after scrolling, and video copes better with a slow connection. Dates and times follow your region, Linux gives back idle graphics memory, and large text leaves room for messages.

26 fixes and 12 more changes

VoiceOver and text editing on iPhone

On iPhone, VoiceOver can read Lowfire, and text fields use Lowfire’s own editor for selection, caret and keyboard. Linux text draws at the right weight, and emoji draw correctly on real iPhones.

New

iPhone screen-reader support

The iPhone bridge exposes the shared accessibility information to VoiceOver. Floating interface regions appear in their reading position, so a compact screen’s Back control is encountered in the right place.

New

iPhone text selection and keyboard input

The iPhone’s text input connects to Lowfire’s own editor, including selection, caret placement and keyboard handling. Hardware-keyboard input and app shortcuts work even when no text field is focused.

10 fixes and 10 more changes

Saturday

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.

New

iPhone navigation gestures

On iPhone, navigation animates forward and back, including an interactive swipe from the edge to go back.

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.

12 fixes and 17 more changes

Lowfire detects a restored older copy of its store

Lowfire keeps a store generation in the system’s secure key storage, so it notices a restored older copy. An account’s protected recovery mode is fixed when it is created.

New

Detect an older local store

The app records a store generation in the system’s secure key storage so it can detect a restored older copy of the local store.

New

Enforce protected recovery rules

An account’s protected recovery mode is fixed when it is created. Protected imports and recovery-kit actions now follow that mode, and device removal waits for effective revocation rather than treating a pending change as complete.

New

Encrypted connections for local automation

Attaching an automation client to a running Lowfire gets a local endpoint, encrypted connections and shared session handling. Queued arguments and results are held in encrypted temporary storage.

10 fixes and 8 more changes

Thursday

Backups use less memory and restore every file copy

Backup and restore no longer hold a whole attachment history in memory, and a file attached several times restores every copy. Message lists keep their spacing, and dark-mode popups show their selection.

Lowfire on the Mac, light: a conversation with picture previews, a PDF and a ZIP file.
Pictures and files on the Mac.

14 fixes and 5 more changes

Wednesday

Rejoin after a long absence, and Chinese in PingFang

Devices away long enough for old server records to expire can rejoin their conversations. On Apple systems, Chinese characters can be drawn from PingFang.

New

More complete slash commands

The terminal gains the shared formatting commands, and slash-command suggestions include arguments and file paths for attachment commands.

New

Chinese text in PingFang

On Apple systems, Lowfire can draw Chinese characters from PingFang faces whose outlines were previously unreadable, while keeping its own text layout and drawing.

New

Rejoin conversations after a long absence

The account keeps a list of its conversations and lets eligible new member devices join automatically. Returning devices can rejoin after older server records expire, keeping their previous verified state until the new join succeeds; large groups can republish the information needed to rejoin.

9 fixes and 3 more changes

Tuesday

Sharper screen sharing and safer setup after joining

Screen sharing sharpens text once a page stops scrolling. A pinned date no longer covers a message line, and acting quickly during setup no longer runs ahead of your account.

4 fixes and 4 more changes

Pictures, files and Vim keys in the terminal

The terminal client can link a device, restore from a recovery kit, show pictures and send or save files. A plain line mode works with screen readers, and Vim keys are optional.

New

Pictures in supported terminals

The terminal client displays pictures using the terminal’s supported image protocol, with block-based or file-card fallbacks. Capabilities and tmux limit which display method is available.

New

Send, save and open files from the terminal

The terminal supports /attach and asks before turning pasted file paths into attachments. Received files can be saved or opened locally; opening is refused over SSH before decrypting the file for that action.

New

Set up, link and recover in the terminal

Terminal setup can link a device with a QR code and restore from a recovery kit. Showing or copying a kit is an explicit action because a terminal can retain what it displays, while typed recovery secrets stay hidden.

Also new

  • Whole, readable QR codes. Kit and device-link QR codes use a dedicated terminal view so they are shown whole or accompanied by a request to resize. Mac inline QR codes continue to use their normal view.
  • Optional Vim-style keys. The terminal has a Vim keymap with normal, insert and visual modes, familiar motions and editing operators, and a command line. The keys sheet and status line show the current mode and available actions.
  • An emoji picker in the terminal. The shared emoji picker renders as a searchable terminal grid. The composer’s Emoji button also waits for the field to regain focus, fixing “Choose a text field first” failures with the portable picker.
  • A plain line mode for screen readers. The terminal can present conversations and prompts as ordinary lines, without screen-control sequences or colour. It supports messaging, commands, files and audio-call actions, with protected input for sensitive fields.
  • Read or send from a single terminal command. Single commands can send a message, show recent messages or list unread conversations. Reads can briefly borrow a profile already in use; sending is refused while another client owns that profile, with a clear explanation that nothing was sent.
  • Install the terminal command from the app. Install Terminal Command makes the terminal executable available from the command search path, reducing manual setup.
  • Terminal notifications and useful status text. Supported terminals receive notifications under the same privacy and pause rules as the app, with a bell fallback where needed. Hover descriptions appear in the status line, and the terminal title shows Lowfire’s unread count.
  • Switch organisations in the terminal. The terminal can switch organisations at every width and remember the conversation last open in each. Opening a conversation from another organisation also updates the list to match.
  • Search with Jump to in the terminal. The terminal’s header search opens Jump to, covering conversations, locally stored messages and commands. Choosing a message result opens its conversation.

11 fixes and 7 more changes

Chat and audio calls from the terminal

The terminal client gets a conversation list, composer, slash commands and audio calls. On the desktop, list sections collapse, conversations drag into order, and Linux installs signed updates.

New

Organise the conversation list

Conversation-list sections can collapse, and conversations can be dragged into a preferred order within a section.

New

Signed updates for the Linux desktop app

The Linux desktop app can install an update through the signed feed using the shared installer and its update card.

New

An interactive terminal shell

The terminal client gets a conversation list, message area and composer, and presents commands and interactions the same way as the app. The shared interface renders in terminal cells.

Also new

  • Audio calls from the terminal. The terminal client can make and receive audio calls using the same call core as the app.
  • Completions and slash commands in the terminal. The terminal composer shows completion lists and recognises the slash commands you type. It uses the same completer and command rules as the app.

10 fixes and 7 more changes

Saturday

Quiet hours, and alerts for keywords and replies

Choose keywords and replies that alert you, and set the hours when notifications may arrive. Link previews can carry a picture, and channels keep shared bookmarks.

New

Alerts for keywords and replies to you

Choose keywords that count as alerts, and treat replies to your messages as attention-worthy. Matching ignores case and accents, and the existing notification level decides whether those alerts notify you.

New

Schedule quiet hours

Set the days and local hours when notifications are allowed. Outside them, notifications are paused and colleagues can see when that pause ends; the schedule syncs encrypted to your devices.

New

Pictures in encrypted link previews

Link previews can include a picture inside the encrypted message record, extending the earlier text-only preview. Displaying it does not require recipients to fetch the original site.

Also new

  • Bookmarks for a channel. Keep useful shared links as bookmarks on a channel. They live in the channel’s encrypted conversation state, so the server can’t read them.
  • Signed updates for the terminal client. The terminal client gets signed updates and an update command. It can replace itself on Linux; on the Mac it follows updates to the app bundle instead of installing a separate copy.

9 fixes and 8 more changes

Friday

Threads, pinned messages and group mentions

Reply chains open in their own thread, with a Threads list for new replies. Messages can be pinned, @channel and @here alert a group, and each conversation can notify for mentions only.

New

Replies in threads

Open a reply chain in its own thread view with a separate composer, synced drafts and file replies. Followed threads have their own unread state and a Threads list for finding new replies.

New

Richer message formatting

Messages support bold, italic, strikethrough, code, code blocks, lists and quotes, with a Format menu and keyboard shortcuts. Copy and paste preserve supported rich text, while formatting markers and mentions inside code are handled correctly.

New

Mention the group

Group mentions such as @channel, @here and @everyone are interpreted by receiving clients under the conversation’s rules, bringing shared alerts into group messages.

Also new

  • Choose which messages notify you. Each conversation can notify for Every Message, Mentions Only or Mute. The choice follows the account’s encrypted device sync and applies consistently to unread and notification behavior.
  • Keep important messages pinned. Messages can be pinned and unpinned, with a count in the header and a list in conversation details. Pinning permissions and encrypted history preserve who may pin and what was pinned.
  • Commands from the composer. Type slash commands in the composer with completion and forms when arguments are needed. Pasted text does not become a command, and the same command definitions are prepared for the terminal client.
  • Use arrow keys to choose people. Both people-selection sheets support arrow-key selection of matching people.
  • More proxy networks supported. Connections support proxies that request a password and SOCKS5 proxies, including chat and call relay traffic. Mac proxy passwords available only through a system Keychain prompt are not supported yet.
  • A client without a graphics window. A GPU-free client is built from the same shared runtime as the desktop app.

20 fixes and 17 more changes

Thursday

Group calls for up to six, presence and reminders

Group and channel calls take up to six people, with video and one screen share. You can see who is active, set a status, pause notifications and get reminders about messages.

New

Small group and channel calls

Group and channel calls gain their shared audio and video implementation, protected participant connections and a single active screen share. They support small calls of up to six people.

New

A call layout that follows the participants

A call with two people uses the familiar one-to-one stage; larger calls use a grid with stable places. Participants can be pinned, with the conversation and call controls still available.

New

Presence, status and paused notifications

See whether someone is active or has paused notifications, their status and, where space permits, their local time. Set your own status, appear away or pause notifications; a message can offer Notify anyway when someone has paused.

Also new

  • Mute a conversation. Conversations can be muted from the Mac interface, with a dimmed row and muted-bell indicator. The choice applies to this device only: mentions can still alert and desktop calls still ring.
  • Invitations for more than one person. Invitation links can allow multiple uses, track accepted joins and be revoked with a verified change.
  • Reminders and a Later list. Set a reminder from a message, choose a suggested or custom time, and manage it from Later with Done, Snooze, Change and Remove. Reminders sync encrypted between your devices and bring the message back when due.
  • Mac reminders can fire while Lowfire is closed. The Mac can schedule reminder notifications with the system so they appear while Lowfire is quit. Linux cannot schedule them this way yet and shows a due reminder on the next launch.
  • Clear controls for broadcast channels. Channels where only chosen people may post show that policy and explain it to readers in place of the composer. Admins can manage posting and reaction permissions; readers can start a private reply quoting a post.
  • Keep a turned-off account as an archive. An account turned off by its server can stay as a read-only archive beside a new working account on that server. Its local history remains readable; a kit made for the working account does not also restore the archive.
  • Advance warning when an update is required. The app warns before its version stops being accepted by a server and checks promptly for an update. Offered downloads can prepare quietly in the background; installing remains the person’s choice.
  • A call privacy preference. Always use a relay is available as a privacy preference for calls, so the other participant does not receive a direct connection to your network address.
  • Use the network’s proxy. Chat connections honor system proxy settings, including automatic proxy selection on the Mac and supported environment or desktop settings on Linux. Call relay connections can also travel over the proxy when direct network access is restricted.
  • Send less audio during silence. Silent speakers use a quieter transmission mode, with comfort noise at the receiving end so silence does not sound like a broken call.
  • Read long histories without loading them all. Long conversations keep only a limited working set of messages in memory and can load the area around a chosen message. Screen-reader access follows that working set, so a large history does not require keeping every row active.
  • Capacity limits for hosted organisations. Server operators can set organisation limits for conversation count and stored message bytes as well as attachments. The server reports which limit was reached and keeps member-removal work bounded in large organisations.
  • Sharper colour in supported Mac screen shares. Mac screen sharing can preserve full colour detail when both devices support the required codec, improving fine coloured text. It negotiates support and falls back for other devices rather than assuming every decoder can display it.
  • Subscribe to changes through automation. Automation clients can subscribe to committed changes and read them through the same commands on each transport. Events carry structural information rather than message contents or keys, and a client is told to resynchronise if it falls behind.

32 fixes and 24 more changes

Wednesday

Video calls and screen sharing on the Mac

Mac calls can use video, with camera choice and up to 1080p, and share a screen or window. Audio calls get a compact floating strip, and the conversation can sit beside a call.

New

Video calls on the Mac

Video calling is available on the Mac without a developer switch. Camera selection and higher picture quality, including 1080p when the connection permits, are part of the call controls.

New

Share a screen or window

Mac calls can share a screen or window chosen with the system picker, and participants can watch it in the call. Capture follows the current selection and stops safely when that selection is no longer valid.

New

Screen sharing adapts separately

Shared screens now have their own picture quality and connection handling, including a sharper refresh after movement stops. Fine text and difficult connections still need more work.

Also new

  • A compact window for audio calls. Audio calls have a compact floating strip with call status and controls, making it easier to keep chatting while a call continues.
  • Keep the conversation beside a call. The conversation can appear in the right panel during a call, so messages stay within reach alongside the call.
  • Recovery for the last remaining member. A recovery kit can bring back the organisation and its groups even when the restoring person was their sole member. Recovery still depends on the person’s kit and encrypted backup.
  • Restore beside a working account. Restore from Recovery Kit is available while another account is already working. It can restore a different server’s account or resume an unfinished restore without replacing the working accounts.
  • Finish an interrupted account setup. Settings shows accounts whose registration did not finish, with Try again and Remove actions. A failure in the final setup step now leaves the account in that recoverable state.
  • Conversation menus from the sidebar. Right-clicking a conversation opens its action menu. Show Details and Hide Details are also available from the Conversation menu.
  • Emoji while you type. The composer gains emoji shortcodes and emoticon completion, offering a faster way to enter familiar emoji.
  • Familiar text editing keys. Text fields use the platform’s usual editing key bindings, so everyday keys behave as they do in the system’s own fields.
  • Updated app artwork. Lowfire uses new app artwork, fitted consistently for the icon sizes the app needs.
  • Storage information for server operators. Server operators can inspect storage use and limits for each organisation. This provides administration information without access to message contents.
  • Organisation removal for operators. The operator interface can delete an organisation. The app explains when its server operator has removed one, instead of leaving people with an unexplained failure.
  • Conversations belong to an organisation. Every direct conversation and group belongs to one organisation. This strengthens the separation between workspaces and makes membership and removal apply consistently to their conversations.
  • Read and navigate a shared screen. A viewer can choose actual size, fit or full screen, and zoom or pan the shared picture. Clear permission and capture-failure messages offer system settings or Share Again where supported.

26 fixes and 22 more changes

Tuesday

Chatlet becomes Lowfire, and calls survive network changes

The app is renamed from Chatlet to Lowfire. Calls and connections recover by themselves after waking or a network change, and the sidebar adapts to narrow windows and can be resized.

New

Chatlet is now Lowfire

The application, protocol names and local profile identity were renamed from Chatlet to Lowfire. Old test profiles and accounts were not carried over to the new name.

New

Resize the sidebar and details panel

The sidebar and right-hand panel gained draggable edges and remembered preferred widths. Double-clicking a divider reset its width, and the shell preserved usable room for the conversation.

New

A sidebar that fits narrow windows

When the sidebar could not sit beside a conversation with enough room, it opened over the conversation instead. Its button stayed in a stable position while resizing and used a quieter appearance without a persistent grey fill.

Also new

  • One column at a time in compact layouts. Very narrow layouts showed the list, conversation or Details one at a time, with a shared Back action. This was the compact layout for small screens, before an iPhone bridge existed.
  • Dates stay visible while scrolling. The current day label stayed pinned beneath the header while scrolling the transcript, then gave way to the next day’s label. Screen readers received the day dividers in the correct reading order.
  • Checked channel-history handover. Members could hand encrypted, signed channel history to a newcomer, whose client checked it before importing. The first handover did not yet request older pages, recover files whose server copies were gone or reuse pages.
  • Warnings for missing or inconsistent messages. Messages carried authenticated records of their order and of what their senders had seen, and receivers checked them. The transcript could show missing-message rows or warn when people had received inconsistent message histories. It cannot detect every message the server withholds.
  • A documented server administration interface. The first versioned operator interface covered per-organisation limits and organisation state. Its responses were documented and checked as an explicit server-administration contract.

27 fixes and 17 more changes

Monday

Accounts on several servers, linked and recovered together

One app now holds accounts on several servers, and device linking and the recovery kit cover them all. If local history can’t open, the app says why and offers linking or a kit restore.

Lowfire on the Mac, light: Settings with two accounts on different servers and their linked devices.
Accounts and devices on the Mac.
New

Several servers in one application

The organisation rail and account settings could work across accounts on several servers. Connection notices and account removal identified the relevant server, and the shared plugin interface gained account-aware access.

New

Setup and recovery adopt the new design

Account setup and recovery sheets adopted the flatter interface styling, including the recovery-kit presentation.

Also new

  • Clear recovery when local history cannot open. The application distinguished a locked keychain, missing key, damaged history, busy profile, newer database and disk problem in plain language. Where history was unreadable, it offered linking or recovery-kit restore and could set the old copy aside without deleting it.
  • A new kit after device revocation. Revoking a device offered creation of a new recovery kit. This made renewing recovery access part of the device-removal flow.
  • Direct conversations appear in shared organisations. A direct conversation appeared under every organisation shared with the other person. It no longer disappeared from one shared workplace simply because it had been associated with another.
  • More private notification defaults. New and unreadable preferences defaulted to showing only the sender in local notifications. An explicit choice to show message text was preserved.
  • Native Mac popup menus. Popup menus used the Mac’s own menu presentation, with real cascading submenus. The application’s own menu renderer also gained cascading submenus for environments that use it.
  • An explicit large-group limit. Client and server imposed a safety limit of 10,000 devices per group.
  • Server policy for limits and suspension. Server operators gained organisation membership limits and suspension policy. The server could also be imported as a reusable implementation for another deployment.
  • Understand a full or suspended organisation. Joining a full organisation explained that it was full and that the invite could work later. A suspended organisation showed the operator’s cleaned plain-text explanation and an optional link, while avoiding endless automatic retries.
  • Clients verify organisation membership. Clients checked signed organisation-membership changes and invite grants instead of trusting the server’s member list. Joining, inviting, leaving and changing administrators used that checked log, closing the route by which a server alone could introduce an organisation member.
  • Explain an inconsistent organisation roster. If the server showed conflicting membership records or a change the client could not verify, the client stopped following those member changes. A calm sidebar or conversation notice explained the problem while existing conversations continued.

27 fixes and 20 more changes

Sunday

Flatter message rows and a first Linux desktop client

Messages sit in flat rows beside an organisation rail, Command-K searches conversations, messages and commands on the device, and Linux gets its first desktop version, on Wayland and Vulkan.

New

A consistent desktop appearance

The new visual foundation adopted one spacing density, system fonts, themed controls and stable avatar colours. On the Mac, appearance could follow the system and use its selected accent colour.

New

An organisation rail and focused sidebar

An organisation rail switched between workplaces while the sidebar showed the selected organisation’s channels, groups and direct conversations. Unread indicators, people counts, connection status and a sidebar visibility command were integrated into the new shell.

New

A flatter conversation transcript

Messages moved from bubbles to aligned rows with names, avatars, times and hover actions. Replies, formatted text, mentions, reactions, attachments, unread markers and call records were carried into the new layout.

Also new

  • A redesigned composer. The message box grew to ten lines before scrolling and included attachment, emoji and mention controls. Reply and edit modes stayed inside the box, with explicit Cancel and Save controls while editing.
  • Conversation details in a side panel. A Details panel brought together the topic, membership, roles, join requests and management actions for the conversation. When the window was too narrow, it overlaid the conversation instead of squeezing the message column.
  • People by name. People lists and new-conversation searches showed colleagues by display name. Opening a person from the organisation’s searchable People list opened or started the direct conversation.
  • A correction proposal while typing. A short pause could show a proposed correction or text replacement below the word. People could dismiss it, accept it at the next word boundary or undo it back to exactly what they typed.
  • Select text in dialogs and notices. Informational text in generated dialogs, link confirmations, alerts and toasts became selectable and copyable. Selections behind a modal dialog turned inactive, and copying while the dialog was open followed its own text.
  • Move text with a visible drop caret. Dragging text into a field showed the insertion position before dropping. Text could be moved within a field or copied with Option, with the drop treated as one undo step.
  • Closer integration with Mac text input. Input-method clauses, candidate placement, Look Up and keyboard context menus were integrated with the focused text field. Mac Services could act on selected editable text; dictation alternatives were supported if the operating system supplied them.
  • Protected copying of recovery secrets. On the Mac, copying from a secret field kept the clipboard item on that Mac and marked it concealed for clipboard managers. The visible recovery-kit text could still be copied and pasted deliberately.
  • Names hidden from the mailbox server. Accounts gained random identifiers instead of chosen account names, while organisation names moved into encrypted directory content. Administrators could name an organisation without making that name readable by the mailbox server.
  • Joining with a private invite card. Invite links carried what the client needed to open an encrypted organisation-name card before joining. Setup accepted the link and then the person’s name, and the installation guide was updated for that route.
  • The first Linux desktop bridge. Linux gained a Wayland and Vulkan desktop bridge, on-demand PipeWire audio, clipboard and drag services, file portals, keyring support and accessibility connections. Optional tray support, application-link routing and Linux release archives were included.
  • Tools can page through older history. Tools and plugins gained bounded pages beyond the latest-message limit, without changing the selected conversation or its unread state. The local page position was scoped to its account and conversation and expired on restart.

23 fixes and 11 more changes

Saturday

Hover message actions, spellcheck and live call records

Message actions appear on hover and work from the keyboard, the Mac composer checks spelling, and a live call shows its running time in the conversation. Unsent files survive quitting.

New

Incoming calls ring once

Incoming calls gained a single ringing path whether the application was in front or behind other windows. On the Mac, notification ringing respected the system’s notification and Focus behaviour, with an application sound as the fallback when notifications were off.

New

Keyboard text selection and word boundaries

Shift with the arrow keys extended message-text selections, and word selection improved for Chinese, Japanese and Thai. Double-clicking text no longer briefly flashed a message-selection outline.

New

A live call record in the conversation

The call’s elapsed time counted in its message row while it was live. When the call ended, that same row became its lasting call record.

Also new

  • Familiar message actions. Message actions appeared on hover, and clicking a message stopped selecting it as a whole. Keyboard focus provided access to the actions while ordinary clicks and drags remained available for text.
  • Spelling and text substitutions. The Mac composer gained spellcheck, autocorrection, text replacements and smart substitutions. The text menu retained Look Up alongside the other editing actions.
  • A readable preview while dragging text. Dragging selected text showed the actual text as the drag preview, following the Mac’s familiar behaviour.
  • Open the people list from its count. Clicking a conversation’s member count opened its people list. This made the number itself a useful way to inspect who was present.
  • Keyboard access to message actions. A focused message could be navigated with the arrow keys and acted on with shortcuts for reply, edit, reactions, copying and preview. Up in an empty composer could begin editing the latest message.
  • Organisation people counts open their lists. The organisation’s sidebar member count also opened its read-only people list. Group and channel counts opened their conversation members, giving both kinds of count a direct action.

9 fixes and 7 more changes

Friday

Encrypted conversations and audio calls on the Mac

The first Mac client brings encrypted conversations, organisations and channels, files, device linking, recovery kits and one-to-one audio calls. Messages get replies, reactions, formatting and search.

New

Encrypted local history

Local history was connected to an encrypted database, with its key held in the Mac keychain. Reading that key was moved into background work so it would not hold up the first window.

New

The first encrypted conversations

The chat core gained accounts, encrypted conversations and message sending and receiving. A client without a graphical window and real-server tests exercised the same underlying chat behaviour.

New

Account setup and chat screens

The first chat screens covered account setup, conversation lists, messages, composing and starting a conversation. They were built as first-party plugins over the shared chat core.

Also new

  • Unread messages and local notifications. New messages gained local notifications, a Dock badge, an unread divider and a way to jump back to the newest message. Notification content is prepared on the device rather than put into a server push.
  • Managing a conversation. People could copy a message, add participants and rename a conversation. These controls accompanied the first round of message-list polish.
  • Text across writing systems. The Mac text renderer gained shaping, fallback fonts, colour emoji and right-to-left text support. Editing and word-selection refinements came later.
  • Organisations and channels. An account could belong to several organisations, browse their encrypted channel directories, request to join channels and leave them. Organisation administrators and channel membership became part of the chat model.
  • Replies, edits and reactions. Messages gained replies, reactions, editing and deletion for everyone, with edits and deletion restricted to the original author. The composer could enter reply or edit mode, and people could mention colleagues by name.
  • Encrypted attachments. Files and pictures could be attached, sent encrypted and previewed using the client’s image decoders. Deleting for everyone and leaving a conversation gained confirmation before the action went through.
  • Recovery kits and encrypted backups. Account setup gained a recovery kit shown once and checked by typing it back, with an option to skip it. Encrypted backups and restore could recover history and backed-up attachments using that kit; the server alone could not restore it.
  • Preferences and drafts across devices. Linked devices gained synchronisation for read markers, drafts, preferences, device names and conversations the person had left. Settings also gained device management and backup controls.
  • Safer device and organisation management. Revoking a device gained a confirmation sheet, and administrators could approve or decline private-channel join requests. Leaving an organisation was added, with checks that prevent its sole administrator from abandoning it.
  • One-to-one audio calls on the Mac. Direct conversations gained encrypted audio calls with call, answer, decline, mute and hang-up controls, plus a call record in the conversation. Video, screen sharing, group calls and calling on other platforms were still design work at this point.
  • Calls find their own connection. Audio calls tried a direct connection and relay alternatives automatically, including relay connections over UDP, TCP and TLS. Nobody had to choose a connection mode.
  • Selecting and copying message text. Messages gained text selection instead of requiring the whole message to be copied. Keyboard and multilingual word-selection gaps were addressed in later work.
  • Drag, drop and paste. The Mac gained drag and drop for files and text, plus pasting, copying, Quick Look and undo. More fixes followed for keeping staged files and for exporting.
  • Photo details removed before sending. Pictures had location and other photo metadata removed by default before upload, while preserving their intended orientation. Attachment names, keys and previews travelled inside the encrypted conversation, and received files stayed encrypted on disk.
  • Files wait in the draft until Send. Dropped and pasted files, pictures and screenshots were staged with previews and remove controls instead of sending immediately. Dropping onto a conversation in the sidebar put the item into that conversation’s draft, while folders received a clear refusal.
  • Copy and preview attachments. Pictures and files could be copied or dragged back out to other applications, with Quick Look available from the keyboard.

6 fixes and 11 more changes