Changelog
Nightly

Any Desktop v0.1.3-nightly.20260922.2

New

  • The + at the end of a table opens a name field right in the table header, with the type list below it.
  • Copy a chat member's full ID using Copy ID in their profile card's “…” menu.
  • Click an @mention in a chat message, or activate it with Enter or Space, to open that person's profile card.
  • Right-click a reaction on a message to see who reacted; select a person to open their profile card.
  • You can also open the reaction list with the context-menu key or a long press.
  • Create a page or an object in a collection directly from a table cell using the / menu. The new object opens, except for collection objects created inside Wiki.

Improved

  • The text cursor is the same blue accent in every field.
  • The stop button in a bao chat is now a neutral button instead of a red one.
  • Link underlines in pages are lighter, matching links in chat.
  • The backdrop behind an opened photo or video is slightly lighter.
  • Adding a property now starts with its name — type the name, pick a type, and the property is created with that name, no rename step.
  • After adding a property in the collection's settings panel, its settings open right away.
  • The property name field no longer filters the type list. Text is selected by default: press Enter to create it or use the arrow keys to choose another type. Leave the name blank to use the type's name.
  • The property picker now groups choices under “Hidden in this view,” “Select type,” and “Filled in automatically.”.
  • The table's add-property field closes after creating or restoring a column. Escape or clicking outside cancels without changes and returns focus to the + button.
  • Opening Add new property in collection settings now puts the cursor in the name field.
  • The column name field now opens with the cursor at the end instead of selecting the name.
  • Every "are you sure?" dialog now looks the same — a bigger title, an outlined Cancel, and a red button for anything that deletes, including moving an object to the Archive.
  • While a delete or other confirmed action is running, its button shows a spinner and the dialog can't be closed halfway through.
  • Disabled delete buttons now use a muted outline instead of a filled background.
  • While a confirmed action is processing, extra clicks or Enter presses cannot submit it again, and keyboard focus stays on the action button.
  • Links in chat messages are now underlined, so they stand out from the text around them.
  • Links and mentions in your own messages are now bright white, while timestamps use a softer blue across themes.
  • Wider chat profile cards now show the member's ID at the top, a larger avatar above their name, and a full-width Send message button. Remove member has moved to the “…” menu.
  • File links in table cells now appear as inline links rather than cards.
  • The reaction people menu replaces the hover-only list of names.
  • Opening a reaction list keeps the message's own menu closed.
  • Member-removal confirmations opened from a reaction stay open even if that reaction disappears.
  • Object links on their own line in a table cell, including those added with /link, now appear as cards that track the linked object's name. Links within sentences stay inline.
  • The jump-to-latest arrow appears immediately with an unread count that decreases as you read. The count disappears at zero, and the arrow disappears at the bottom.
  • When streaming is enabled for an AI connection, Bao can allow active requests more time while ending stalled requests sooner.
  • Bao checks for Stop requests and run time limits while receiving AI responses; a stalled connection can still delay stopping.
  • Streamed AI replies preserve reasoning and tool calls, including calls in replies marked as finished. Bao also accepts a complete response when a provider does not send a stream.
  • Custom AI connections can use different waiting limits or turn off streaming. Local model connections keep streaming off by default.
  • Clearer errors now explain when Bao needs to call a tool directly, whether the failed request was a single call or a bulk operation.

Fixed

  • A collapsed space, direct chat or Agent in the sidebar now stays highlighted while something inside it is open, instead of the sidebar showing nothing selected.
  • Delete confirmations no longer change their item count or switch to a Close-only dialog while deletion is in progress.
  • In Dim and Dark themes, links, mentions and the time in your own messages no longer turn dark on the blue bubble.
  • The selected day and its marker dot in date pickers now stay white and legible on the blue background in Dark theme.
  • Object and file links in table cells retain their destinations after saving, navigating away, or reloading.
  • Images in table cells now remain visible after saving and reloading instead of turning into file names.
  • Images added to table cells from another client now display as pictures instead of an exclamation mark followed by a link.
  • Reopening a Bao chat no longer treats stale setup information as ready while reconnecting.
  • Viewing your own profile card no longer shows a "Send message" button that would fail.
  • Release notes with linked feedback or characters such as ~ now publish correctly on say.any.org.
  • Chats with unread messages now open at the “New messages” divider, below the pinned date, instead of at the bottom.
  • After a chat opens at the unread divider, resizing it no longer pulls you to the bottom.
  • During the current session, returning to a chat with no unread messages restores your reading position if the message is still loaded, even if earlier messages have changed height.
  • When streaming is enabled, Bao retries incomplete, empty or unreadable AI replies and temporary errors, but not permanent errors or requests past their overall time limit.
  • When a streamed AI reply omits usage totals, Bao estimates context use rather than treating it as zero.
  • For OpenAI-compatible providers, cached prompt tokens are no longer counted twice.
  • Invalid request time limits now return an error instead of crashing Bao. Responses from online services are also size-limited.
  • Bao now rejects an unsupported bulk request once, before processing any items, instead of repeating the same error for every item.

Build: v0.1.3-nightly.20260922.2 · Bundled server: v0.2.3-nightly.20260922.1 · Bundled agent: 42fb56786148

Shipped Features