feat(editor, block-editor): comment UX — accordion cards, gutter avatars, paste fix — PR #228

feat(editor, api, block-editor): inline comments + threads system — PR #228

feat(editor): Vercel-style settings layout polish + URL scheme — PR #217

fix(editor, api): workspace & org switcher gap analysis — PR #214

feat(editor, api): workspace & org switcher overhaul — PR #214

feat(block-editor, editor): Find & Replace UX overhaul — PR #213

fix(block-editor): Find & replace UX fixes — PR #212

feat(block-editor): In-document find & replace with regex support — PR #211

fix(block-editor, api): Callout block layout, spacing & content restrictions — PR #210

fix(editor): prevent DocumentMeta avatar disappearing on title edit — PR #209

fix(editor): show document meta for public/unauthenticated users — PR #208

fix(editor, api): Show document header & author meta for public users — PR #207

feat(editor, api): Multi-Workspace Phase 2 — Frontend Integration — PR #206

feat(api): multi-workspace foundation — models, feature flag, migration

Field

Value

Type

Feature

Scope

api

PR

#201

Merge Commit

cac02bf

Date

2026-03-31

Changes:

feat(editor): 4-tier group pricing with expandable features — PR #203

feat(editor): redesign landing page with fluid wave canvas and expanded features — PR #203

fix(editor): stuck-loading recovery with 3-tier watchdog + auth error recovery — PR #202

feat(api): multi-workspace foundation models and feature flag — PR #201

fix(editor): Reposition favorite star with peer-based hover isolation — PR #200

fix(block-editor): Semantic spacing rhythm + backspace-to-paragraph — PR #199

chore(skills,mcp): remove H1 from skill templates + add document meta to MCP instructions — PR #198

fix(block-editor): fix hooks violation, layout mismatch, and wire up DocumentMeta author info — PR #196

feat(document): Y.js document meta separation — PR #195

fix(domains): Use HTTP SSL validation for custom domains — PR #189

feat(admin): Add organizations CRUD + fix plan upgrade transaction — PR #194

feat(block-editor,subdomain): shared CodeBlock viewer — DRY read-only components — PR #193

2026-03-22

feat(subdomain): replace Hono JSX worker with Astro 6 SSR — PR #192

Field

Details

Type

Feature

Scope

apps/subdomain, apps/api, packages/block-editor, turbo.json

Commits

0256cff, 4b51198, f240b3b → squash 2578208

What changed:

Knowledge Doc: Astro Subdomain SSR — Setup & Architecture


fix(editor): eliminate skeleton flash on document switch + rename readerMode — PR #191

refactor(editor): polish sidebar design — color system, spacing, typography — PR #190

refactor(domains): make subdomains opt-in with claim flow — PR #189

feat(editor): add readonly mode toggle — PR #188

refactor(editor): Move favorite star from sidebar to editor header — PR #187

feat(api,worker): Org subdomain SSR with Hono JSX + CF Cache — PR #186

feat(domains): Vercel-style domain settings UI + editable org subdomain — PR #185

refactor(skills): remove summary reports from pr-review and pr-resolve — PR #184

fix(auth): replace sessionStorage with OAuth state param for deterministic redirect — PR #183

feat(block-editor): add keyboard shortcuts for Mermaid fullscreen mode — PR #182

fix(editor): mobile UX improvements — PR #181

feat(document): Add user-specific document favorites — PR #180

fix(editor): Enable folder collapse toggle in sidebar — PR #179

feat(mcp): add language parameter to document create and update tools — PR #178

chore(infra): replace Vercel references with Cloudflare Pages — PR #177

fix(block-editor): restore dark mode syntax highlighting in code blocks — PR #176

chore(editor): remove broken panel system and execution engine — PR #175

refactor(editor): Centralize domain config, remove hardcoded colbin.com — PR #174

2026-03-20

fix(api,mcp): align Hocuspocus room names for real-time MCP sync — PR #172

feat(mcp): add prepend mode to document content updates — PR #170

feat(editor,api): add document comments system — PR #169

feat(api): token-based fuzzy document search across title + slug — PR #168

perf(editor,api,worker): org subdomain edge injection + cache headers — PR #167

fix(auth,api): OAuth redirect for preview URLs, custom domains & subdomains — PR #166

feat(editor): unified Command Palette (Cmd+K) — PR #165

feat(editor): add HTML export and print-optimized PDF export — PR #164

refactor(editor): unify DocumentInfo participants with store data — PR #163

feat(editor,api): add org subdomain public homepage — PR #162

2026-03-19

refactor(editor): redesign domains settings page — PR #161

feat(editor): Figma-style follow cursor for real-time collaboration — PR #159

fix(auth): eliminate double-click OAuth login — PR #158

feat(auth): route OAuth through auth.colbin.com for subdomain support — PR #157

chore(editor): remove Vercel config, complete Cloudflare Pages migration — PR #156

2026-03-18

feat(api,editor): migrate frontend from Vercel to Cloudflare Pages + Worker — PR #155

fix(api,editor): increase MCP OAuth token TTLs to fix re-authorization loop — PR #154

feat(api,editor): add custom domain support for organizations — PR #153

feat(api,editor): add approval-based plan upgrade flow + pricing page — PR #152

2026-03-17

fix(api): increase JWT access token expiration to 48 hours — PR #151

fix(api,editor): increase Free Plan team member limit to 25 — PR #150

2026-03-16

fix(editor): hide floating sidebar when cursor exits browser viewport — PR #149

fix(editor): add block-editor to Vercel build:packages script — PR #148

2026-03-15

feat(editor): promote orphaned docs to root in scope-filtered sidebar — PR #147

fix(block-editor): add visible gap between adjacent highlight marks — PR #146

feat(auth,org): fix invited user landing on personal workspace — PR #145

fix(api,auth): set isEmailVerified on social OAuth login for auto-join org — PR #144

fix(api): add Redis retry backoff to BullMQ workers — PR #143

2026-03-14

fix(block-editor): replace window.prompt with inline bookmark URL input — PR #142

feat(block-editor): Math/KaTeX block, Bookmark card, Callout & Toggle import — PR #141

fix(block-editor): hide block handle on non-colorable blocks — PR #140

2026-03-12

fix(block-editor,api): harden image upload — storageKey fix & architecture cleanup — PR #139

feat(block-editor): image upload with R2 storage, drag-drop, paste & optimistic UI — PR #138

2026-03-11

feat(editor): resizable sidebar + /bins -> /bin route consolidation — PR #137

refactor(api): replace hagen-file HTTP calls with @colbin/files R2 package — PR #137

feat(editor,api): document color, move-to-folder & inline rename UX — PR #136

fix(api): harden MCP OAuth — fix silent blockers & add Sentry alerting — PR #135

feat(editor): offline-first document support with IndexedDB persistence — PR #134

2026-03-10

feat(block-editor): add block handle color picker + fix overflow — PR #133

2026-03-09

fix(block-editor,editor,api): BubbleMenu scroll-aware positioning, settings polish & org stats — PR #132

fix(editor): resolve white screen after deploy — stale SW cache — PR #131

feat(api,editor): real-time document deletion redirect via WebSocket — PR #130

feat(editor): show child count badge on collapsed folder nodes — PR #129

fix(block-editor): handle checkbox/radio toggle on mousedown to fix first-click — PR #128

feat(api,editor): consolidate email domain settings — auto-join & invite restriction — PR #127

chore(editor): market-readiness cleanup — 404 page, error boundary, remove 4.8k lines dead code — PR #126

fix(editor): add navigateFallback to PWA for offline SPA routing — PR #125

2026-03-06

feat(editor): offline-first support — persist docs, prevent logout, enable PWA — PR #124

refactor(editor): clean DnD rewrite — DragOverlay + line indicator + optimistic settle — PR #123

2026-03-03

fix(block-editor): checkbox/radio first-click not toggling on unfocused editor — PR #122

feat(editor,api): cross-parent drag & drop, 3-level nesting, inline rename — PR #121

feat(block-editor): inline @ mention with type-ahead suggestions — PR #120

feat(api): add color/styling support to MCP markdown-to-Y.js converter — PR #119

2026-03-02

cleanup(editor): remove dead auth pages, canvas type, and fix broken redirects — PR #118

fix(editor,api): prevent WebSocket stale token reconnection loop — PR #117

fix(api,editor): MCP org scope leak + remove dead room:* scopes — PR #116

feat(api,editor): add org selector to Create API Key dialog — PR #115

fix(editor): optimistic sidebar title sync while typing — PR #114

2026-03-01

feat(editor): sidebar perf — memo, cached transforms, silent refresh — PR #113

chore(ship): add yarn install after version bumps to prevent stale lockfile — PR #112

refactor(api,editor): rename documentSlug → slug, documentType → type on Document model & DTOs — PR #111

fix(editor): move document:init to slice — eliminate pool-reuse stalls — PR #110

fix(editor): add reorder error toast and preserve folder icon in drag overlay — PR #109

fix(api,editor): persist sidebar drag-and-drop order across refresh — PR #108

feat(api,editor): server-pushed document access state with full-page UI — PR #107

feat(api,editor): add permission inheritance for child documents — PR #106

feat(mcp): consolidate tools & add org-scoped API keys — PR #105

feat(editor): dynamic folder/document icons in sidebar — PR #104

feat(editor): add sub-page creation with /page slash command — PR #103

feat(block-editor): add @ trigger with combined document + member search — PR #102

feat(api,editor): persist document reorder via batch PATCH endpoint — PR #99

2026-02-28

feat(api,editor): implement user profile endpoints — password change, avatar upload — PR #100

feat(block-editor): add documentEmbed node with /embed slash command — PR #101

fix(editor): make editor screen responsive — eliminate horizontal scrollbar — PR #98

feat(sentry): close all 7 integration gaps for full observability — PR #97

fix(editor): eliminate duplicate organization and my-documents API calls on pageload — PR #96

fix(sentry): propagate user/org context across all 4 entry points — PR #95

fix(editor): fix TypeScript errors and sync Sentry user context from Zustand store — PR #94

fix(mcp): resolve TypeScript error in participant tools — PR #93

fix(websocket): restore access control for WS-first document init — PR #92

2026-02-27

feat(sentry): enrich events with user, org & document context + unmask replays — PR #91

feat(sentry): unified distributed tracing across WebSocket — PR #90

refactor(mcp): use service layer as single source of truth for all access layers — PR #89

fix(mcp): update accessLevels when moving documents between scopes — PR #88

fix(sentry): close observability gaps — forceTransaction + dev tracing — PR #87

fix(mcp): correct Mongoose model name for org tools — PR #86

feat(mcp): add legacy SSE transport for mcp-remote compatibility — PR #85

perf(sentry): add custom spans for document switch lifecycle — PR #84

perf(sentry): increase tracing and replay sampling to 100% — PR #83

fix(websocket): reconnect on tab refocus via visibilitychange — PR #82

perf(websocket): send document:init via WebSocket to eliminate redundant HTTP calls — PR #81

fix(editor): set WebSocket reconnect delay >= minDelay (1000ms) — PR #80

fix(api): readiness probe architecture for zero-downtime deployments — PR #79

fix(editor): prevent floating sidebar from closing during dropdown interaction — PR #78

fix(websocket): zero-downtime WebSocket deployment — PR #77

2026-02-26

feat(skills): add auto-chaining shipping pipeline — PR #76

fix(web): show active org name in header and sync on rename — PR #75

feat: Sentry full-stack observability — PR #65

fix(block-editor, editor): fix scroll breakage and header push on large paste — PR #73

fix(mcp, block-editor): rewrite markdown parser and fix editor paste — PR #72


Updated automatically by /ship