feat: legal review features, collab editing, upstream PR sync#1
Merged
yash-giantanalytics merged 21 commits intomainfrom Mar 28, 2026
Merged
feat: legal review features, collab editing, upstream PR sync#1yash-giantanalytics merged 21 commits intomainfrom
yash-giantanalytics merged 21 commits intomainfrom
Conversation
…licts resolved Full merge of eigenpal#132: - Ribbon UI components, config, actions, icons - StoredMarksSyncExtension, mark utils improvements - Perf flags infrastructure (PERF_ENABLED, recordLayoutPerf) - PageNavigator, ColorHistoryProvider, EditingModeDropdown extraction - E2E test coverage for ribbon features - Resolved 18 merge conflicts across 4 files (bun.lock, renderPage.ts, PagedEditor.tsx, DocxEditor.tsx) keeping both HEAD and pr-132 additions
… find-replace Cherry-pick of our features onto merged PR eigenpal#132 ribbon base. Conflicts resolved in DocxEditor.tsx (4 zones: imports, comment handlers, keyboard shortcut deps).
Three-workflow CI pipeline with single responsibilities: - ci.yml: typecheck, test, build, lint on PRs (unchanged) - release.yml: changesets creates version PR on merge to main, tags + GitHub Release when version PR merges - publish.yml: triggered by GitHub Release, builds and publishes to GitHub Packages (replaces upstream npm public publish) Includes changeset for the legal review features (minor bump).
…cate declarations)
Add mention dropdown to comment inputs (ReplyInput, AddCommentCard). When user types @ followed by a query, a dropdown of matching users appears. Provider callback is passed via mentionProvider prop on DocxEditor, threaded through useCommentSidebarItems to all comment and tracked change cards. New exports: MentionProvider, MentionUser types.
…, @mention cleanup - StylePicker always shows Title, Heading 1-3 even if document styles don't define them (merges DEFAULT_STYLES with document styles) - Remove unused Save as DOCX/PDF from File menu (handled at page level) - Clean up unused onSaveAsDocx/onSaveAsPdf props
New packages/collab/ package with: Server (import from '@eigenpal/docx-collab/server'): - createCollabServer() — Hocuspocus v3 WebSocket server - Supabase Postgres persistence via @hocuspocus/extension-database - Auth hook for Supabase JWT validation - Auto-start when run directly (tsx src/server.ts) Client (import from '@eigenpal/docx-collab'): - createCollabProvider() — Yjs + Hocuspocus client with ProseMirror plugins - useCollaboration() — React hook managing provider lifecycle - CollabPresence — component showing connected users' avatars - Cursor awareness (y-prosemirror yCursorPlugin) - Collaborative undo/redo (yUndoPlugin) Architecture: Yjs CRDT (client) ↔ Hocuspocus WebSocket (server) ↔ Supabase Postgres All dependencies MIT licensed, zero licensing cost. Includes ADR 0002 documenting the decision.
- Create packages/react/src/test-utils/happyDomSetup.ts using @happy-dom/global-registrator for DOM environment in bun tests - Run prettier on all files to fix formatting issues from PR eigenpal#132 merge
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
onTagSelectcallback for consumer edit dialogsreplaceWithTracking,replaceNextWithTracking)mentionProviderproppackages/collab/) — Yjs + Hocuspocus + Supabase PostgresTest plan
bun run typecheck)bun run build)