Changes from v0.55.5 to v0.56.0
Summary: 48 tasks, 240 commits, 48 merged PRs
Urgent
- JS-9795: Update invite UX for auto-approved links (4 commits)
High Priority
- GO-7387: Collection sorting is broken on alphabetical
- JS-9320: Backspace and del don't work
- GO-7222: [audit] Research invites revocation logic on file nodes
- JS-9821: Don't call ObjectOpen for chat objects (drive open from subscription) — ~8s faster big-chat open (2 commits)
- JS-9818: Chat: render/scroll performance — de-thrash renderDates, IO read-scan, observer rows
- JS-9815: Space switch opens stale objectId from previous space → "tree does not exist" (2 commits)
Medium Priority
- JS-9832: Invite popup: fix oversized role dropdown arrow and explain disabled controls
- JS-9831: Warn when Vault data location is in a cloud-synced or network folder
- JS-9829: Pasting URL into empty block loses text: 'Paste as' menu options wiped by empty BlockTextSetText after BlockReplace fork
- JS-9828: Tabs: switching space (channel) doesn't update the tab name until an object is opened
- JS-9827: Chat: race conditions in event handling (read counters, sync status, live messages, uploads) (2 commits)
- JS-9826: Prevent concurrent text loss in empty blocks (virtual last block + BlockReplace fork)
- JS-9819: Chat: pasted text over-detects non-domain words as links
- JS-9817: Sidebar auto-hide collapses the widget panel immediately after opening it
- JS-9813: Chat: Download option missing in message context menu when message has more than one file (2 commits)
- JS-9807: Markdown styling going past its format limit (community post)
- JS-9806: do not subscribe to space search results
- JS-9805: Preferred space on accountselect
- JS-9803: Multi text block range selection
- JS-9801: Admin role (phase 2): extend owner-only space checks to owner-or-admin
Low Priority
- JS-9702: Pressing “Enter” to create a new block line behaves as if though I were pressing “Shift+Enter” (community post) (3 commits)
- JS-7238: Markdown inline code blocks with
<atag are broken (3 commits) - JS-9196: Bug while typing code and '<', '>' characters (community post) (3 commits)
- JS-9747: Kanban View reveals '+' icon but does not show new object created when 'show more objects' is active. (3 commits)
- JS-9714: Kanban as Inline-Collection is not fully displayed (community post) (4 commits)
- JS-9762: Creat object in property field does not store object title (2 commits)
- JS-9285: Code block text reverts on blur when editing inline (race condition) (community post) (2 commits)
- JS-9377: Cannot Drag Objects into a new column Page in Linux (community post) (3 commits)
- JS-8598: Using 'Paste' in the Block's content menu causes a jump to the end of Page and pastes there (community post) (2 commits)
- JS-8420: Moving a Block into an empty Toggle by using the keyboard fails. And there's also a second bug, see text (community post) (2 commits)
- JS-7786: Italic formatting is not contained withing code snippets (community post) (2 commits)
- JS-8540: Clicking in/out of properties fields in grid view for queries and collections (2 commits)
- JS-7510: A conflict occurs between input and reference (community post) (2 commits)
- JS-9764: Kanban layout, newly added object doesn't display (2 commits)
- JS-8462: Problemas with Excalidraw (community post) (2 commits)
- JS-9298: Notification blinks when actively in chat (4 commits)
- JS-9071: Backtick formatting with dead-key layouts includes leading space (community post)
- JS-8919: Toggle behaviour is a little inconsistent
- JS-8898: Space at bottom and scroll bar gets messed up
- JS-8599: Pasting a Toggle by using the context menu deletes the Toggle's content! (community post)
- JS-9720: Сan't edit ChartJS charts in split blocks (community post)
- JS-9181: Pasting text into newly created item in a Type view in its name box will close the box (un-focus) (community post)
- JS-9812: Chat: "Copy Link" on a message always copies the message link, even when right-clicking a URL in the text (3 commits)
Other Changes
- GO-7386: Spacebar suddenly stops working
- JS-9811: Horizontal scroll bar is not visible (community post)
- JS-9825: Inlince code formatting remanent on previous line (community post)
- GO-7323: Explicit cascade deletion
Other Commits
10f26920.56.07b33e4efix(onboarding): correct sync status tooltip target selectorfcaf8b7docs(whatsNew): credit psalmsdove for toggle focus and switcher fixes25e60db0.55.28-alpha2eb7ae5docs(whatsNew): add vault warning and recent bug fixes to 0.56.0 notes3c59435Rename Cleanup suggestions tab to Cleanup and Keep it to Dismiss suggestionf27525dMerge pull request #2312 from anyproto/js-9832-invite-popup-disabled-controls26364d5Merge pull request #2311 from anyproto/js-9831-vault-data-location-safety-warningb08fbfd0.55.27-alphae944626Merge pull request #2310 from anyproto/go-7387-collection-sorting-is-broken-on-alphabeticald57a07bMerge pull request #2307 from anyproto/go-7386-spacebar-suddenly-stops-working5e93e57Merge pull request #2306 from psalmsdove/fix/switcher-resize-229340816fcMerge pull request #2305 from psalmsdove/fix/toggle-breakout-focus-2287c154c8cfix: defer window resize dispatch to after route commit on popup close (#2293)5d912e8fix: restore cursor focus when breaking out of a toggle block (#2287)c69108f0.55.26-betaf90eef0Merge pull request #2304 from anyproto/l10n/source-rename-channel-property4c36a65l10n: clarify native menu labels (behavior-accurate, non-technical)59977fadocs(whatsNew): note in-chat search fix in 0.56.0 notesb2135f9l10n: normalize native menu labels to Title Case2fe76afl10n: name non-chat Channel type "Data" in type-toggle strings8021304l10n: fix leftover container terms found in rename review883c008l10n: normalize source terminology Space→Channel, Relation→Property5624a87docs(whatsNew): add 0.56.0 'Fast Forward' release notes1f135580.55.25-alpha5e9df73Merge pull request #2303 from anyproto/fix/js-9829-paste-url-empty-block835f2790.55.24-alpha77822fbBump middleware to v0.50.1781d5ad8feat(bin): rename Suggestions tab, add dismissible cleanup note6b964e3Merge pull request #2297 from anyproto/worktree-agent-a9f45abe4db193f291700013Merge pull request #2302 from anyproto/fix/inline-grid-h-scrollbar-js-9811fc0ea0dMerge pull request #2291 from anyproto/js-9795-invite-flow6f56957Merge pull request #2298 from anyproto/worktree-agent-a5967696e17965e19c63065eMerge pull request #2300 from anyproto/worktree-agent-ae01d343f68a384aa2f9cfb6Merge pull request #2299 from anyproto/worktree-agent-a8af38928a8fe84e0ee4aa05Merge pull request #2295 from anyproto/worktree-agent-a1cf8c4c1fe9031e075d2f37Merge pull request #2296 from anyproto/worktree-agent-ab0b5a54c80707345708fb9eMerge pull request #2294 from anyproto/worktree-agent-a73d92756da581aea9598011Merge pull request #2292 from anyproto/fix/tab-title-space-switch-js-9828b047d73Merge pull request #2289 from anyproto/fix/chat-event-races-js-982746583b6fix(invite): editor-upgrade note for anyone-can-join editor links; correct share-confirm copya1dcee6fix(invite): borderless permission value with chevron in Manage invite linke0cb637fix(invite): style Add Members role select as a pill, hide role + button when list is empty06f174adocs: invite popups, participant-candidates hook, S.Common invite map1537cc3feat(invite): owner-held invites, request-to-join default, Members redesign59b7a2bchore: update middleware to 0.50.15 and bump version to 0.55.23-alpha889bc7fMerge pull request #2288 from anyproto/js-cascade-deletion-orphans1291c36feat(bin): collapsible source groups + per-navigation tab memory765d9f6feat(bin): move cleanup suggestions into a tab0db67affix(toast): stop dark theme painting a background on toast buttons68f12e4Merge pull request #2284 from anyproto/fix/js-9826-empty-block-concurrency91d04a6Merge pull request #2283 from anyproto/perf/detail-store87f53d5Merge pull request #2282 from anyproto/perf/protobuf-codec9a93ce1fix(store): dedupe forceKeys cache key, bound getCache growth2144168perf(store): cheaper detail storage and cached Detail.get()0d15912perf(api): faster, leaner protobuf encode/decode9907827Merge pull request #2279 from anyproto/fix/chat-forward-prefetch-stall1e4e8bafix(chat): don't snap to bottom during forward pagination (keep scroll position)13972b0fix(chat): keep loading newer batches when fast-scrolled to the hard bottom3895923docs: clarify Linux protobuf setup for fresh checkoutsa6484aachore: update middleware to 0.50.13 and bump version to 0.55.22-alphaf5f06e00.55.21-alphaf3dabdaMerge pull request #2276 from anyproto/perf/scroll-restore-flash3e19033chore: drop scroll-restore design docs from the PR (still in branch history)27795d5perf(chat): prefetch 2 viewports ahead of edges to reduce fast-scroll stalls1686190fix(chat): keep loading older batches when fast-scrolled to the hard topd07c6a9fix(chat): keep attachments on batch load (subscribe deps for full window)c1bebabfix(chat): pre-paint scroll on re-open to remove stale-scroll jumpe5c96b3Merge pull request #2275 from anyproto/js-9821-chat-skip-objectopen2ce0701fix(editor): resolve settle observe-target live from nodeRef (pre-paint safe)f617261perf(editor): remove 0.12s open fade for instant, flash-free opene08be44feat(editor): pre-paint element-anchored scroll restore (no flash, no jump)981d153feat(hook): useScrollRestore — pre-paint element-anchored scroll restore15de541feat(dom): add U.Dom.elementFromPoint wrapperc86a6d4feat(storage): additive setScrollAnchor/getScrollAnchor for element-anchored restoreff47732feat(scroll): pure restore math + settle tracker for flash-free restorea2840ebdocs(perf): implementation plan for flash-free scroll restoration (foundation + editor)5f65470docs(perf): design spec for flash-free scroll restoration on open3e490e50.55.20-alpha6676c76Merge pull request #2274 from anyproto/js-9821-chat-skip-objectopenbfb16cdMerge pull request #2272 from anyproto/perf/js-9820-last-edited-widget-rerender7bc03bcperf(widget): complete re-render fix + repair scroll restore (review follow-up)a781f87perf(widget): stop Last Edited widget re-rendering + refetching icons on chat reaction5db8b76Merge pull request #2271 from anyproto/perf/chat-render-performance732fbdaperf(chat): stop forcing layout for bookmark .isWide on every mount2394315fix(chat): per-section wrapper so sticky date headers swap cleanly (no ghosting)df7a20bfix(chat): review must-fixes — store reactivity + IO over-marking + cleanupsdf82ffeperf(chat): memoize message HTML transform (Mark.toHtml + sanitize)0221b88perf(chat): stabilize Message props so memo holds (stop full-list re-render cascade)1391659perf(chat): O(1) getMessageById index + observable isFirst/isLastb3fe1a7fix(chat): gate bare-domain auto-linking behind a TLD allowlist503140cperf(chat): IntersectionObserver read-receipt visibility (drop per-frame layout scan)ee93374perf(chat): sticky-position date headers; drop per-frame renderDates layout workd0323850.55.19-alphafbdd8270.55.18-alpha0c6bb80Merge pull request #2269 from anyproto/fix/chat-message-windowing81ef610Merge pull request #2268 from jmpnop/fix/login-phrase-trailing-spacecee0472fix(chat): keep window cap at 500; drop stale in-flight responses613bc4dfix(chat): address 6-agent review findingse630be8feat(chat): raise in-memory window to 1000 messagesf26d3b3perf(chat): coalesce scroll handler to one run per frame2c7a2d2fix(chat): show new-messages button when window bottom is not the chat enda041cc4feat(chat): bidirectional scroll-down re-fetch with in-flight guarddfa2e21fix(chat): gate scroll-down re-fetch on atChatEnd, derive edges from fetches30e6c35feat(chat): suppress out-of-order live inserts past an evicted tailb785ed3feat(chat): store tracks window edges and reports eviction1758b3afeat(chat): add pure windowing decision helpers07cc05cfeat(chat): scroll-up prefetch + native anchoring; windowing spec+plan9bb9312Count the in-progress word in phrase getValue()a25da26fix(sidebar): keep explicitly-opened panels from auto-hiding instantlyf64f3260.55.17-alphacebcfd0Merge pull request #2240 from anyproto/feat/my-favorites-show-asf24ab36fix(sidebar): guard Show-as widget cards against crashes and dead draga7fc25bfix(sidebar): harden My Favorites Show-as data path784cc2bfeat(sidebar): add "Show as" toggle for My Favorites section2082afc0.55.16-alpha596e5fdMerge pull request #2266 from anyproto/fix/js-9815-space-switch-stale-objectaf7911eMerge pull request #2249 from anyproto/startup-perf-tracing-and-chunk-splitting
... and 40 more commits