Alpha
Any Desktop v0.1.5
New
- Turn on Justify document text in Settings → Preferences to align both edges of paragraphs and lists, including right-to-left writing. The preference affects this device only, not saved content.
- Insert Mermaid diagrams and LaTeX equations from the slash menu.
- Embed OpenStreetMap maps, SoundCloud tracks, and Draw.io diagrams from supported public links.
- Sort a table's rows by any column, ascending or descending, from the cell's right-click menu or the column grip menu. The header row stays put; blank cells go last.
- Insert images and code blocks inside table cells.
- In a collection's side peek, press ↓ / ↑ to move to the next or previous item in the table or list.
/mediaand/filenow open a picker with a Library tab, so a file already in the space can be reused instead of uploaded again.- Choose whether Enter sends a chat message or inserts a new line in Preferences. Use Ctrl+Enter, Cmd+Enter, or Send to send when Enter inserts a line.
- In-app notifications have a close button so you can dismiss them immediately, except loading and Undo notifications.
- Create a Page directly from the editor’s @ menu and link it without leaving your document.
- Move a block or selected group up or down with Command+Shift+Up/Down on Mac, or Ctrl+Shift+Up/Down on Windows and Linux.
- Move blocks to the adjacent cell in the same table row with Command+Shift+Left/Right on Mac, or Ctrl+Shift+Left/Right on Windows and Linux.
- Select an entire word from anywhere inside it with ⌘⇧D on Mac or Ctrl⇧D on Windows/Linux. Find the combination under Editor in Keyboard Shortcuts.
- In documents, press Command+Enter on Mac or Ctrl+Enter on Windows/Linux to insert a line below the current block without splitting it. Add Shift to insert above.
- Settings ▸ Agent ▸ Devices offers a “Use” action for other online devices running Bao. Handing Bao to another device requires a compatible server.
- Choose a different skin tone for each person in supported two-person emoji, including handshakes.
- Choose a colored icon from the icon packs for a callout, not just an emoji. The callout's background stays unchanged.
- The sidebar's Agent row shows a dot for a finished Bao reply you have not viewed on this device. Existing history is not marked when the feature first starts.
- New one-to-one chat requests show a 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. Shortened sharing links are not supported.
- Use Dismiss all in the sync-issues menu to clear the notices.
- Edit repeated words or phrases together in a page, with controls to add, skip, or select matching occurrences.
- On Windows and Linux, hide the menu bar from Settings → Preferences → Appearance; tap Alt to show it temporarily.
- A help button in the bottom-left corner opens keyboard shortcuts, a link to share feedback, and technical information.
- Turn a YouTube link or plain-text YouTube URL into an embed from its block menu.
- Drag spaces and direct chats in the sidebar to arrange them; the order follows you across devices.
- Wiki folders have a "…" menu with Rename, Move to and Delete folder only — deleting a folder keeps the pages inside and puts them where the folder was.
- Move to on Wiki pages, to put a page into a folder or back at the top of the Wiki without dragging.
- The Library brings Recents, types and collections together in each space, replacing Formats and Collections. Existing collection links and history open in the new Library.
- Recents lists the space's objects newest first, by creation or by last edit, with an All / Mine switch.
- Type and Collections can be added as columns to any table; a type's table shows which collections each object is filed under.
- Collections in the Library can be grouped into folders (kept on this device).
- Right-click an object in a chat message to open it in a new tab.
Improved
- In an empty callout, the first Backspace removes its icon and the second removes the callout, so you can make a callout without an icon from the keyboard.
- Opening an app in a space for the first time makes far fewer requests to the server.
- Images uploaded into a table cell stay attached to that cell while you continue editing. If the destination disappears, an error lets you recover instead of inserting elsewhere.
- Icons picked from the Lucide set now use the same line weight as the built-in icons.
- The member profile card in chat is narrower and has rounder corners.
- The member count no longer appears next to the space name in a space chat's header.
- The "New direct chat" contact list can now be searched by typing a name or identity, and sorts alphabetically.
- Connect explains when Bao is unavailable or running on another device, and offers to use this device when it can take over.
- If a connection request does not complete within four minutes, a notification points you to Bao's chat.
- Typing and marquee selection are faster in long documents.
- Long documents stay more responsive during continuous typing by preparing changes for saving after a short pause rather than after every keystroke.
- Typing and pressing Enter in long documents take less processing time, while links to blocks remain ready to copy immediately.
- Long member names are shortened in the hint, while screen readers still receive the full roster.
- Tooltips keep a small margin from the window edge.
- In-app notifications appear beside Bao or the right panel instead of covering them.
- Hovering a reaction in chat shows the names of the people who reacted.
- The emoji picker shows each emoji once, with skin tones available in a strip after you select it.
- Toggle titles support all four heading levels.
- Chat file attachments use a smaller loading indicator.
- File, object and bookmark attachments without captions currently have no timestamp. Photo and video timestamps remain visible.
- Enter on a selected embed starts a new line right under it.
- The arrow keys move straight into a synced block's text from the line above or below it.
- Shift-click an embed or unsupported block's title or strip to toggle its selection without activating its controls.
- Arrow keys enter editable synced-block text inside columns and follow the document's order between columns.
- Arrow keys enter editable synced-block text inside callouts and toggle bodies, following the surrounding text order.
- Custom wording chosen when linking selected text stays unchanged when the target page is renamed.
- An unavailable Scheduled view retries for a few minutes without requiring you to reopen it.
- Click “sync issues” in the status bar to see affected objects and reasons, then choose an object to open it.
- The “Couldn't save changes” notification explains recognized problems in plain language and offers Open when an affected object is available.
- If a requested key cannot yet be saved because its data has not synced, Bao asks you to try again in a moment.
- Inline object references show page, chat or collection icons beside their live titles, making linked objects easier to scan.
- App headers in the sidebar columns show the app name without an icon.
- Next and Previous space shortcuts, and numbered space shortcuts, follow your personal sidebar order.
- Your last known sidebar order appears at startup without first jumping from creation order. New, unmoved spaces appear at the top.
- Sidebar apps and bookmarks are rearranged by dragging; their menus no longer have Move up and Move down.
- Bookmark rows no longer open a context menu. Reordering sidebar apps and bookmarks now requires pointer dragging.
- In Favorites, Move to lists the top level first, then folders by their full paths. The folder deletion action reads “Delete folder”.
- Favorites folders can no longer be moved inside another folder. Previously nested folders keep their existing positions.
- Collection row menus no longer include Move up or Move down; drag rows to reorder them.
- "Edit" in a page's menu now reads "Rename".
- Counts in Bookmarks, the right panel and the collection sidebar use a consistent compact style, showing 99+ for larger counts.
- Wiki folders no longer show an item count.
- A collection's table shows the collection's own properties; a type's properties live in the type's table and on the object.
- Tasks show a checkbox in place of their icon in tables and lists.
- Created by shows the member's avatar.
- Task is now called Task rather than Action throughout the app.
- Nightly build release notes now appear on the public changelog as soon as the build ships.
- Previously drafted nightly release notes are published under their original release dates.
- Bao uses substantially less model context for routine conversations and loads skills when needed, reducing token usage.
- Bao can read longer tool results, including documents and skill instructions, without truncating them as early.
- Bao's conversation history retains the page context and a summary of actions for each turn.
- Bao receives targeted guidance when a tool request is invalid, including valid property formats and when it needs a space name.
- Bao can inspect saved program source and available data fields, with clearer guidance for creating skills and programs.
- Bao's device-switch guidance points to Settings ▸ Agent ▸ Devices, including choosing another device when supported.
Fixed
- You can now drag blocks to the top inside a callout or quote.
- Dragging blocks into an empty callout or quote replaces its blank placeholder line.
- Captioned images can now be dragged into a column of a multi-column page.
- You can add or edit captions on images already in columns.
- Dragging captioned images beside other blocks can create or extend a column layout.
- Dragging a captioned image over a callout or collapsible section no longer offers an inside drop that lands elsewhere.
- Deleting a page now takes you back to where you were, such as the collection you opened it from, instead of jumping to the space's Wiki.
- Back and Forward no longer reopen the page you just deleted.
- Deleting a parent page also takes you away from an open subpage deleted with it.
- A slow deletion no longer pulls you away if you have already navigated elsewhere.
- Deleted areas, projects and tasks no longer remain in the Tasks app.
- Deleted bookmarks no longer remain in Bookmarks.
- A project whose area has been archived appears without that area.
- A card or picture pasted into a collapsible section's title now moves into the section's body, instead of breaking the whole section the next time the page opens.
- Pasting or choosing an object reference in an empty section title no longer breaks the section when the page reopens.
- Typing inline math in a section title moves the equation into the body instead of breaking the section on reopening.
- Pasting a card into a section title now checks the final document size before accepting the paste.
- Files and the Archive's Files tab no longer claim there are no files while their lists are still loading.
- The Files list no longer opens with only the files a chat has shown, as if they were every file in the space.
- The Archive's Files tab says when the file list could not be loaded, instead of claiming the Archive holds no files.
- Opening Journal in a space for the first time no longer flashes "No entries yet." and an empty page for today before your entries appear.
- Bookmarks no longer flashes an empty list or zero saved links while a space is loading.
- A bookmark opened in an Area stays open while the space loads.
- An object or file card you copy and paste into a list item or a heading now turns into a link in the text straight away, so the line looks the same after you reopen the page.
- Backspace at the start of a card below a list item leaves an inline link that looks the same after reopening.
- Turning a card's line into a heading or list item immediately converts the card to an inline link.
- Turning a picture in a list item into a file immediately shows an inline file link, matching the reopened page.
- A chat's Details no longer says there are no photos, files or links while it is still loading them.
- A video sent to a chat no longer shows up under Files in Details before Details knows what the file is.
- When a chat's photos, files or links cannot be loaded, Details says so instead of showing an empty chat.
- Chat Details waits for file names before showing incomplete file cards or claiming a search has no matches.
- Opening or closing a reply or an edit in the chat composer no longer shows an empty gap between the quoted message and the input.
- In Tasks, collapsing an area, opening a task, completing a task and dragging several tasks no longer leave empty gaps under the rows as they fold.
- A new reaction under a message grows from the same line as the reactions beside it instead of floating above them.
- In Tasks, opening or closing an area with the keyboard now happens at once, instead of sliding as it does for a click.
- Dragging a project over a closed area in Tasks now opens the area at once, while the rows around it slide into place.
- Opening or closing a task in the desktop app no longer makes the tasks below it jump before the details slide open.
- Undo after inserting or deleting a table row or column, toggling a header, or inserting a formula from a table menu now restores the table as it was.
- Creating an object from a collection's table, group, toolbar or List view keeps the existing Side peek open instead of returning to the full table.
- At either edge of inline code, arrow keys let you step out to type regular text and back in, following the line's writing direction. The cursor appears outside the code when you step out.
- Enter or Shift+Enter at the end of inline code starts the next line as regular text instead of more code.
- On the same device, every copy of a synced-block table shares its column widths, row heights and header column. Changes in any copy update the others immediately.
- Tables inside synced blocks retain their sizes and header-column setting after reopening on the same device.
- Opening a Journal entry, a contact's notes, a skill or a connector no longer flashes the empty prompt (like "What happened today?") for a moment before the text appears.
- Reopening a Journal entry you just wrote no longer flashes the empty-day prompt before its text.
- Copy Markdown on a Journal entry you just started now includes what you wrote.
- When a Journal draft joins an entry created elsewhere, the entry opens with your newly added text already visible.
- A YouTube link you selected and copied yourself (from Anytype, a web page, or a chat) now offers to paste as an embed, like a link copied from the browser's address bar.
- On Windows, a link or Markdown text copied from another app now pastes as a link or formatted text instead of plain text.
- A block link you selected and copied now offers to paste as a synced block.
- Bullet dots and list numbers sit closer to their text with more consistent alignment.
- Pasting a heading from a page into an object's name no longer adds the heading's
##marks to the name. - When you paste a heading and following content into an object's title, the extra content keeps its rich formatting in the body.
- Pasting several lines into an object's title no longer merges the extra lines into the first block of the body, or turns a heading there into plain text.
- Pasting a title followed by a block link or YouTube URL keeps the first line as the title and places the link above the existing body, without duplicating it in the title or opening Paste as.
- New rows revealed in grouped tables are no longer hidden beneath the pinned column headings.
- Shift-click in a grouped table selects rows in their on-screen order, skipping collapsed sections.
- Select all, selection counts and Delete cover only open sections. Collapsing a section removes its hidden rows from the selection.
- Pressing Back after following a link from a Side peek returns to the collection with the same object still open in the Side peek.
- The Linux app no longer opens to a blank window on newer distributions such as Ubuntu 26.04, Fedora 44 and Arch.
- A reply to someone else's message now shows the quote in grey; only quotes of your own messages are blue.
- Connecting a Google account from the desktop app now asks Bao to handle sign-in instead of calling an unavailable service.
- Disconnecting an account also goes through Bao and remains available when Bao is running on another device.
- Search fields in pickers no longer show spell-check and autocorrect suggestions that block moving through results with the arrow keys.
- The "Bao's device is offline" prompt no longer appears when Bao has not been set up.
- Bao's offline notices no longer show an incorrect duration for a device this app has not heard from since it started.
- Following a link to a Wiki page from inside Wiki keeps the Wiki menu open.
- Following a link to another item in the open collection keeps its Library menu available, including when opening the link in a new tab.
- Opening a collection table row full-screen keeps the Library menu available.
- Block handles inside a callout or quote now follow the row next to the pointer instead of jumping to the callout's own handle.
- Editor link menus keep their initial selection until you move the mouse and no longer jump when a row is highlighted by the pointer.
- Typing
---,***or___and pressing Enter now makes a divider, just like pressing Space, with the cursor ready on the line below. - On macOS and Linux, the ✕ on a single-select, multi-select or relation value in a collection table removes the value instead of closing the picker.
- On macOS and Linux, clicking a linked object's name while editing a relation cell in a collection table opens the object.
- Backspace and Delete now clear a single-select value when nothing is typed in its picker.
- The cursor no longer jumps out of a synced block while you type when the page saves or is edited elsewhere.
- Hovering the member avatars in a large space now shows three names and "+N" instead of a list that ran off the screen.
- “Link an object” in chat, the editor's link menus and the Wiki's “Add existing” no longer offer “Untitled” rows or app pages such as “Collections” and “Meetings” that you can't find anywhere else in the space.
- Views results no longer include these unwanted system-created entries and empty app pages.
- A web address copied by triple-clicking its line or from inside a list pastes as a link without splitting your sentence or inserting an unwanted bullet.
- Supported site addresses copied with their line or list item offer Paste as embed in an empty paragraph.
- Block links copied with their line or list item offer Paste as synced block.
- A YouTube or Vimeo embed plays on the first press of its poster's Play mark, instead of loading a paused player that needs a second press.
- Search no longer lists an app such as Collections, Meetings or Tasks as an empty page.
- Sorting by a checkbox now switches checked and unchecked items when you change direction.
- After naming a new object in a collection table, press Enter again to open it without reaching for the mouse.
- A paragraph that starts like Markdown block syntax (
---,-,#,>,1.,[ ]) now stays a paragraph after a reload. Undoing the divider shortcut, for example, no longer turns the dashes into a divider the next time the page loads. - Typing text that resembles a block's saved markup inside a synced block no longer causes a “Blocks can’t be nested here” error.
- Backspacing from the line below an object block now highlights the object block.
- Backspace into an object block removes an empty following line but keeps authored text in its own block. A second Backspace deletes the selected object block.
- Unsyncing a synced block no longer deletes the empty lines on the rest of the page or inside the block.
- Unsyncing an empty block leaves only the page's existing blank lines.
- Turning an embed or unsupported block with no fallback content into a link no longer adds extra blank lines.
- Empty lines inside a synced block are still there after you leave the page and come back.
- Turning several blocks into a synced block keeps the empty lines between them and each paragraph's indentation.
- A paragraph line that shows
$$or$$…$$as text no longer turns into an equation, or takes the paragraphs after it along, when the page reloads. - Text in a table cell with dollar signs on two different lines no longer turns into one broken formula after reopening the page. The lines and paragraphs stay as typed, and cells already saved this way read back correctly again.
- A table no longer splits in two after reopening a page when two of its header cells contain dollar signs, such as "Cost ($)" and "Total ($)".
- A formula in a table cell followed straight away by text with a dollar sign, like
$\nu$b$, keeps its formula when you reopen the page. It no longer turns into a line break and a different formula. - Typing right after opening a math block with
$$(or a code block in a language such as Ruby or YAML) no longer sends the cursor back to the start after the first character. - On the device where you convert it, a table keeps its column widths, row heights and header column when turned into a synced block, including after reopening or Undo and Redo.
- You can open Bao from an empty Wiki or Library view without selecting an object.
- The "Type text or press / for commands" prompt no longer stays painted inside a callout made with Turn into → Callout.
- Moving a paragraph into a table cell clears a placeholder prompt that no longer belongs there.
- Opening a page containing a table no longer steals keyboard focus into the page or a synced block.
- After turning a table and surrounding blocks into a synced block, Undo immediately reverses the conversion without first clicking the page.
- A page with inline math ending in a TeX control space (such as
$a\ $) no longer fails to open. Pasting or typing such a formula no longer fails either. - An inline equation can no longer be saved ending in a lone backslash, which reopened as plain text. The equation editor now asks for
\backslashinstead. - A backslash typed before punctuation no longer disappears after reopening a page when the same line has a link, an inline formula, or bold, italic or struck-through text.
- Inline code at the start of a line keeps its backslashes after reopening a page.
- Undo inside a synced block now continues to the page once the block's own edits are undone — it removes a block you just inserted instead of showing “Can’t undo because this changed elsewhere.”.
- Redo from a synced block can also continue through the page's history once the block has no step of its own.
- Inline code containing consecutive backticks, but not both a single backtick and a pair, stays inline at the start of a paragraph or list continuation line instead of turning the rest of the page into a code block.
- A display equation written as
$$a\ $$, ending in a TeX control space, now keeps that space and renders instead of showing "Invalid LaTeX". - Literal dollar signs next to an inline equation, or around a backslash, no longer turn into unintended formulas after saving and reopening.
- Text that spells out a character code, such as
$, no longer turns into the character it names ($) after reopening a page. This covers paragraphs, headings, lists, quotes, callouts, collapsible sections, table cells, links and formatted text. - Newly typed character codes such as
�are saved as literal text instead of making the page fail to reopen. - List views now respect the property order set in Property visibility, including properties placed before Name.
- Text in square brackets before a link, like "[note] see docs", no longer merges into the link when the page is reopened, and a backslash next to it is no longer doubled.
- A bracket typed just before a link to an object or a file no longer turns the line into that object's or file's card when the page is reopened.
- Unfinished bracketed text before a file link no longer mistakenly turns that link into an image on reopening.
- 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.
- 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 containing written character codes such as
�no longer fail because those codes name nonexistent characters. - 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. - Changing a toggle title to Text or another heading level preserves its body, nested toggles and open state.
- Removing a toggle keeps its heading style and all body content in order.
- Pasting a block link as a synced block works across blank or one-character neighboring paragraphs when safe surrounding text is available, preserving the intervening content.
- Media waiting for the sender's upload shows a “Waiting for sender” icon in chat Details instead of a blank square, and becomes available when the upload arrives.
- A chat message with an attachment and no text no longer shows an empty colored bubble above the attachment.
- A long object name in a chat attachment now wraps onto a second line instead of cutting off early.
- Attachment chips in chat no longer show a tooltip that just repeats their own visible name.
- 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 the empty lines inside the selection, so you can see how far it reaches and where the cursor is.
- 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 no longer mistakes an in-progress upload for an empty first line.
- The arrow keys now reach an embed: they select it, then move past it, and above the first embed on a page they open a new line.
- Clicking an embed's title or strip selects the embed, instead of leaving a caret in the title that typed nothing.
- Arrow keys can also select unsupported blocks and synced blocks whose bodies cannot be edited.
- Selected embeds, unsupported blocks and whole synced blocks show a visible selection highlight.
- The arrow keys reach cards, dividers and embeds inside a column, and leave them again.
- Deleting the only selected card in a column leaves an empty line with the cursor ready to type.
- Backspace and Delete beside a picture inside a column remove it without merging across the column boundary.
- 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 at column or table-cell boundaries no longer jump into a synced block outside them.
- 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 text in separate first-row cells when a later row establishes the column count, instead of splitting the table on reopening.
- Single-row tables without headers use their column separators to keep cells separate, even when the cells contain dollar signs.
- 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 unwraps the container before entering the synced block.
- 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 drop indicator before a horizontally scrolled table keeps the correct indentation inside containers.
- 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.
- Dollar signs in text next to formatting, inline code or a link stay text when you reopen the page. Examples:
$next to an italic$,a$bnext to a boldc$, or inline code$followed by$. Before, part of the text could turn into a formula. - Backticks typed after an inline equation no longer turn that equation and surrounding text into an unintended code span after reopening.
- Imported nested lists retain their nesting instead of becoming separate top-level lists in affected documents.
- Code and display-math blocks inside list items no longer retain indentation belonging to the surrounding list.
- Refreshing code highlighting no longer pulls a cursor from another paragraph into the code block.
- One-to-one chat requests received on another device now appear on this device too.
- References to pages inside paragraphs now update when the page is renamed.
- Inline code that starts with a dollar sign, like
$HOMEor$PATH, stays code when you reopen the page. Part of the line no longer turns into a formula. - Pasting a block link as a synced block preserves paragraph indentation and the table's saved identity, instead of dropping formatting or leaving formatting instructions visible on the source page.
- Bao spaces out repeated requests when setup data cannot be loaded and stops retrying persistent refusals after a few minutes.
- 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 no longer count hidden system entries that the table itself excludes.
- Callouts, quotes, table cells and synced blocks keep the right number of empty lines when a line holds only spaces.
- After choosing an emoji, focus stays in the message field, so Enter follows your send-or-newline preference 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 preserves
|after reopening instead of displaying|. Previously affected cells may still need editing. - Saving a key requested by Bao can recover after startup syncing finishes, without needing to reload the app.
- Bao settings, scheduled tasks and other mini-app writes no longer keep using a failed startup lookup after the missing data becomes available.
- Moving between collection properties with Tab or Shift+Tab keeps the next editable cell ready to type.
- Right-clicking a table cell now highlights only that cell, without leaving other cells or nearby tables selected.
- The icon picker no longer flashes the wrong colour or skin tone before you pick one — nothing changes until you choose a swatch.
- Clicking a reference icon opens its object.
- Pasted cards keep their shape inside collapsible sections.
- Keep every conversion option visible when there is enough room in the window.
- Blank lines and text between linked pages keep normal spacing in the editor.
- Full-screen pictures now follow the order they appear on the page.
- The picture viewer opens the occurrence you clicked, including repeated pictures and pictures reused from another object in the same space.
- Indenting or unindenting a parent list item updates the marker style of its nested items, including through Undo and Redo.
- Nested numbered lists keep their own starting numbers after saving and reopening instead of inheriting the parent list's start.
- Inline chat links stay attached to their text when you edit earlier in the message.
- Deleting within a chat link resizes its linked text correctly; deleting across its edge follows the existing unlinking behavior.
- Inline code, code blocks and quotes in your own chat messages are easier to read.
- Command-click on Mac, Ctrl-click on Windows/Linux, or middle-click an object attached to a chat message to open it in a new tab.
- Clicking an attached chat or collection opens its chat or collection view, matching links in message text.
- YouTube embeds now play inside the desktop app on macOS and Linux.
- Chat messages follow conversation order rather than the sender's clock, so messages arriving after offline use no longer appear above messages you've already read.
- A message edited within the same second it was sent now shows the "(edited)" marker.
- Chat day groups remain stable when messages arrive out of date order.
- A message with an earlier timestamp no longer receives the compact spacing used for consecutive messages sent close together.
- Bao is prevented from posting an extra final reply into the conversation it is already answering.
- Scheduled tasks with unsupported options are marked invalid instead of silently ignoring those options.
- Bao preserves the intended calendar day when writing date properties.
Build: v0.1.5 · Bundled server: v0.2.3 · Bundled agent: a3d42f31cc1b
Shipped Features
1
Go back when you delete a pageDone1
Side Peak Layout: creating new Objects switches to normal table layoutDone1
No "Bao's device" message if no agent configuredDone2
WIKI : Opening a page via a link hides the miniapp menuIn Progress3
Chat: allow line breaks by pressing Enter, instead of direct sending the messageDone2
Google map embedDone1
Unable to drop elements to the top of a calloutDone1
Cannot drop image into a multiple columns pageDone1
Deleted Areas are still present within the Tasks appDone1
Problem with array sizing in synchronized blocksDone1
Pasting a Header into an Object's Name field, includes the "##"Done1
The Back button in Side Peak mode ends this mode if you've followed a linkDone2
Blank screen on Ubuntu 26.04Done1
Cannot enable Google connectionDone1
Editor - Divider shortcut `---` does nothingDone1
Can't unselect a checkbox valueDone1
Link not recognized as a linkDone1
Order of properties in the list view not working as intendedDone1
Add option to hide menu barDone1
Youtube Embed showing "Live Youtube content can't play in this app"Done