Skip to content

feat: add six collaborative examples - #8

Merged
arjayby merged 11 commits into
mainfrom
feat/examples
Sep 12, 2026
Merged

arjayby merged 11 commits into
mainfrom
feat/examples

Conversation

@arjayby

@arjayby arjayby commented Sep 12, 2026

Copy link
Copy Markdown
Owner

Adds six collaborative examples so developers can try shared application state beyond the existing plain-text editor. Each example uses the same account, room, access, connection, and save controls, with navigation that keeps the current room.

Example Included behavior
Kanban board Shared cards, drag-and-drop columns, card editing activity, and local undo
Whiteboard Sticky notes and shapes, smooth live cursors and drag previews, selections, zoom, and object editing
Rich-text editor Collaborative formatting, lists, links, text carets and selections, and local undo
Multiplayer form Shared project briefs, character-level text merging, active-field presence, validation, and live previews
Flowchart builder Process, decision, and start/end nodes; labeled branches; connected arrows; live cursors and node selections
Collaborative table Shared text cells, editable columns, row/column controls, cell presence, keyboard navigation, and multi-cell paste

All examples keep their data separate within a room, enforce viewer permissions, merge offline changes after reconnecting, and recover saved state after a server restart. The plain-text editor remains available. The canvas examples use participant-colored cursors with white name labels, and empty CodeMirror fields place remote carets at the start of their placeholders.

The production build and Phoenix routes include every example. README instructions describe their behavior, data models, and limitations. These are examples: the flowchart does not execute workflows, the form does not submit to an external service, and the table uses text cells without formulas.

Validation:

  • npm test: 22 SDK and model tests passed.
  • Full Playwright suite: 59 browser tests passed, including two-client synchronization, offline merging, crash recovery, permissions, mobile layouts, cursor positioning, and canvas motion.
  • mix test: 58 tests passed, including routes for all packaged example pages.
  • npm run test:package: package contents, ESM imports, shared Yjs, TypeScript declarations, and a consumer Vite build passed.
  • mix format --check-formatted, npm run build, and git diff --check passed.

@arjayby
arjayby merged commit b8f2a1d into main Sep 12, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant