Nightly
Any Desktop v0.1.5-nightly.20260930.1
New
- A callout block's icon can now be a real vector icon (not just an emoji), colored from the same palette used elsewhere in the app.
- The Agent row in the sidebar shows a small dot when Bao has replied and you have not seen it yet.
- New one-to-one chat requests now trigger a system notification when notifications are enabled and permitted. Requests already waiting at startup stay silent.
- Embed Google Maps places, searches and map views by pasting a supported address-bar link or using /googlemaps. Short sharing links are not supported.
- Edit repeated words or phrases together in a page, with controls to add, skip, or select matching occurrences.
- Select all with Shift+Cmd+L on macOS or Ctrl+Alt+L on Windows and Linux. In Edit occurrences, Cmd/Ctrl+D adds the next match and Shift+Cmd/Ctrl+D skips one. Shortcuts also work with non-Latin layouts.
- Type, delete, paste or format selected matches together while preserving each match's existing formatting.
- Edits to matching occurrences are saved together and can be undone in one step.
- Unsupported or oversized pastes in Edit occurrences leave existing text unchanged and explain why the paste was rejected.
- On Windows and Linux, hide the menu bar from Settings → Preferences → Appearance; tap Alt to show it temporarily.
- Bao can read the source of saved programs.
Improved
- The emoji picker groups skin-tone variants into one cell per emoji, with a tone strip to refine your selection.
- Choose a different skin tone for each person in supported two-person emoji, including handshakes.
- Toggle titles support all four heading levels.
- Chat file attachments now use a smaller loading spinner.
- Enter starts a line below a selected embed, unsupported block, non-editable synced block or captioned image.
- The arrow keys move straight into a synced block's text from the line above or below it.
- Single-row Markdown tables without headers now split at every unescaped
|, including those inside formulas. - At the edge of a callout, quote or toggle body, arrow keys from a selected card or embed open a new line inside it.
- Nested Markdown lists now retain their nesting when imported.
- Custom text linked to a page from the selection toolbar keeps its wording after a rename. Older aliases without an explicit custom title may instead show the current page name.
- The Scheduled screen keeps checking for a few minutes when setup is unavailable, allowing it to recover without being reopened if setup becomes available.
- Bao setup retries slow down during temporary failures, reducing repeated network requests while settings, credentials or scheduled tasks are unavailable.
- Unsupported blocks show "Couldn’t turn the block into a link" if that action fails.
- Clicking "sync issues" in the status bar lists affected objects and why their changes could not be saved, using plain language for common problems. Select an object to open it.
- The "Couldn't save changes" notification explains common problems in plain language and offers an Open button for the affected object.
- Dismiss all sync issue notices at once from the status bar menu.
- Inline code in table cells now reads
\|as|, including in previously saved content. - When Bao's credential setup has not synced yet, the save error explains the delay and asks you to try again shortly.
- Bao loads more guidance on demand and reuses more context between turns, reducing token usage.
- Bao can request longer, fuller results when reading documents, skills and help.
- Bao gets targeted help after tool errors, can inspect record collections and fields, and has clearer guidance on property formats, choice options, space names and app setup.
- Bao has clearer context about the page you are viewing and can refer to saved request context and action summaries in its history.
Fixed
- The cursor stays inside a synced block when applying a heading and continuing to type after a save.
- Paragraphs inside synced blocks have handles for selecting, moving, and opening their context menu, including paragraphs created with Enter after a heading.
- Page saves preserve the undo history of unchanged synced blocks.
- Pasting a large web page whose text shows a character code such as
$now keeps that text as written, instead of turning it into the character ($). - Large web-page pastes no longer fail because their text contains an invalid character code such as
�. - Picture links that show as text, such as an old
photo link after other words on a line, no longer gain an extra backslash (IMG\_1.png) every time the page saves. - Picture links displayed as text after other words keep dollar signs and written character codes intact after saving, including in table cells.
- Changing a toggle's title to Text or Heading 1–4 preserves its body, nested toggles and open state.
- Removing a toggle keeps its heading and all body content in order.
- Pasting a block link as a synced block now works across blank or one-character paragraphs when usable surrounding text is available, without removing the intervening content.
- Photos still uploading in a chat's Media tab show a non-clickable waiting icon with a "Waiting for sender" tooltip instead of a blank square. They become available automatically when the upload finishes.
- Messages with a file, object or bookmark attachment and no caption no longer show an empty colored bubble or a standalone timestamp above the attachment.
- A long object name in a chat attachment now wraps onto a second line instead of cutting off early.
- Object and file attachment chips in chat no longer show redundant name tooltips or raw internal addresses.
- A bullet list item made only of dashes, like
---, no longer turns into a divider after the document saves. - Selecting text with Shift and the arrow keys now highlights empty blocks within the selection, making its extent visible.
- A bullet or numbered list item whose text starts with
[x],[ ]or[]no longer turns into a checkbox after the document saves. - Clicking the empty space above an embed, divider or picture at the top of a page now starts a new line above it.
- Pressing Enter at the end of a page title now opens a text line before a leading upload instead of placing the cursor in the upload row.
- ArrowUp and ArrowDown can select and move past embeds, unsupported blocks and non-editable synced blocks, opening a line at either end of the page when needed.
- Clicking the title or strip of an embed or unsupported block selects the block instead of leaving an unusable cursor in its title.
- Selected embeds, unsupported blocks and synced blocks selected as a whole now show a clear highlight.
- ArrowUp from a selected captioned image reaches the start of the line above it.
- The editor no longer draws a text cursor inside non-editable block content.
- The arrow keys reach cards, dividers and embeds inside a column, and leave them again.
- Arrow keys enter a synced block's text inside a column at the start of the reached line.
- Backspace and Delete next to a picture inside a column remove it without crossing the column boundary.
- Deleting the only card in a column leaves an empty line with the cursor ready to type.
- Backspace and Delete next to a synced block inside a column now move into the synced block, as they do outside columns, instead of doing nothing.
- Backspace and Delete no longer jump into synced content outside the current column or table cell.
- The block menu for a table (Duplicate, Delete block) now opens next to the table, like it does for other blocks, instead of at the far left of the page.
- Headerless tables, including spreadsheet pastes, keep dollar-sign cells separate on reopen when a later row establishes their width or the table has only one row.
- Backspace and Delete next to a synced block inside a callout or a toggle list now move into the synced block, as they do elsewhere, instead of doing nothing.
- Backspace at the start of a callout, quote or toggle list after a synced block now unwraps the container before entering synced content.
- Delete at the end of a callout or toggle list no longer jumps into a synced block after it.
- A wide table that is scrolled sideways keeps its drag handle on screen, at the table's visible left edge, so you can still open its block menu and drag it.
- The insertion indicator before a scrolled table inside a callout now keeps the callout's indentation.
- ArrowUp and ArrowDown now select pictures, file and object cards and embeds inside a callout, quote or toggle list, and step over dividers there, as they do elsewhere on the page.
- Backspace or Delete next to a picture inside a callout, quote or toggle list removes the picture in one press, instead of first merging the text line into the picture's line.
- ArrowUp from a selected picture below a closed toggle list no longer puts the cursor inside the toggle's hidden content.
- Delete at the end of a callout or toggle list no longer removes a picture that follows it.
- Arrow keys enter synced-block text inside callouts and toggle lists at the start of the reached line.
- A dollar sign beside an italic dollar sign,
a$bbeside boldc$, and inline code$followed by$now reopen correctly. Dollar signs separated by a link also stay text. - A backtick in plain text after an equation no longer combines with a backtick in that equation to turn part of the line into inline code.
- Fenced code and display math imported inside list items no longer include the list's indentation in their content.
- Code highlighting no longer pulls the cursor out of another block.
- Incoming one-to-one chat requests now appear even when another device received them first.
- References to pages inside paragraphs now update when the page is renamed.
- Inline code containing dollar signs, including bold, italic and strikethrough code, no longer starts an unintended formula that consumes the following text when you reopen a page.
- Pasting an indented paragraph's block link as a synced block now preserves its indentation.
- Pasting a block link as a synced block no longer leaves stray formatting text on the source page.
- Tables keep their identity when their block links are pasted as synced blocks on another page.
- Bao settings, credentials and Scheduled stop retrying after a few minutes when the server permanently rejects their setup.
- Going Back to a page returns you to where you were reading instead of jumping to another part of the page.
- Turn into link keeps the page where it is and leaves the cursor on the new link.
- A collection's List layout and its count in the sidebar now show the same items as its table, including chats and wiki folders filed in it.
- Collection table totals now exclude hidden system items.
- Callouts, quotes, table cells and synced blocks keep the right number of empty lines when a line holds only spaces.
- Empty synced-block content now opens with a blank paragraph.
- After picking an emoji in the message field, pressing Enter sends the message instead of reopening the emoji picker.
- A collection named Program, Applet, Agent skill or Agent connector now shows in the Library sidebar, the collection picker and every other place collections are listed.
- Newly saved inline code in table cells keeps
|after reopening instead of showing|. Previously affected content is not repaired automatically. - If Bao's requested key cannot be saved while the app is still syncing, you can retry once sync finishes without reloading the app.
- Temporary sync delays no longer leave other affected saves stuck until reload, including Bao settings, scheduled tasks, mail notes, contact layouts and mini-app state.
- Bao is prevented from posting an extra final answer into the chat it is already replying to.
- Scheduled tasks now flag unsupported options as invalid instead of silently ignoring them.
- Corrected day handling in date properties written by Bao and errors in requests for counts and other summaries.
Build: v0.1.5-nightly.20260930.1 · Bundled server: v0.2.4-nightly.20260930.1 · Bundled agent: a3d42f31cc1b
