2026.2.2
Unified Resource Page & Side Panels
Complete overhaul of the document viewing experience. Desktop and web now share a single ResourcePage component with a resizable side panel for activity, discussions, directory, and collaborators. Mobile gets a dedicated bottom bar with slide-up panel sheets. Sticky document tools with scroll-aware shadow, breadcrumbs above content, and proper URL sync for panel state (?panel= param) round out the upgrade.
✨ Features
- Preserve panel param when pasting links — opens specified panel (collaborators, discussions, activity) on desktop deep links
- Update document tools tabs to Content, People, Comments with Document Versions & Directory in options dropdown
- Add breadcrumbs above title in draft editor page
- Update Omnibar styling
- Hide subdocument creation buttons for private documents
- Extract useRouteBreadcrumbs hook with 57 tests for all pure computation functions
- Backend can now resolve web URLs (SHM-2155)
- Experimental Vault deployment with production asset serving
- Add desktop stats (WIP)
🐛 Bug Fixes
- Fix resource page panel scrollability and comments routing issues
- Fix SSR hydration flash caused by useMedia reading window.matchMedia during init
- Fix SSR hydration: match prefetch query keys with useResource so hydrated data is found
- Fix dialog click events stealing Omnibar focus via React portal event bubbling
- Fix publish document tools error
- Restore missing validatePath import in publish-draft-button
- Restore authors rendering, tab padding, subscribe button, responsive versions menu, and query sync after publish
- Fix Feed text flash by replacing JS measurement with CSS media queries
- Address memory leak causing window blanking
- Performance fixes on long comment lists
- Fix building on Fedora
- Fix Vault dockerfile mistake
- Reduce spammy server logs for .well-known 404s
Full Changelog: 2026.2.1...2026.2.2