rspace-online/backlog/tasks/task-118.11 - Add-space-sco...

50 lines
1.6 KiB
Markdown

---
id: TASK-118.11
title: 'Add space-scoped linking for external wrappers (rdesign, rdocs, rmeets)'
status: Done
assignee: []
created_date: '2026-03-16 00:06'
updated_date: '2026-03-16 00:50'
labels:
- multiplayer
- tier-4
milestone: Multiplayer Everything
dependencies: []
parent_task_id: TASK-118
priority: low
---
## Description
<!-- SECTION:DESCRIPTION:BEGIN -->
These 3 modules wrap external services (Affine, Docmost, Jitsi) via iframes. We can't sync their internal state, but we can add Automerge docs for space-scoped metadata: which projects/docs/rooms are linked to this space, access history, and meeting scheduling.
## rdesign (Affine)
- Schema: `DesignDoc { linkedProjects: Record<id, { url, name, addedBy }> }`
- Component: Show linked Affine projects, allow adding/removing
## rdocs (Docmost)
- Schema: `DocsDoc { linkedDocuments: Record<id, { url, title, addedBy }> }`
- Component: Show linked Docmost docs, allow adding/removing
## rmeets (Jitsi)
- Schema: `MeetsDoc { meetings: Record<id, { roomName, title, scheduledAt, hostDid, participants[] }>, meetingHistory[] }`
- Component: Schedule meetings, show history, quick-join links
Each needs: schemas.ts, local-first-client.ts, component integration.
<!-- SECTION:DESCRIPTION:END -->
## Acceptance Criteria
<!-- AC:BEGIN -->
- [ ] #1 Linked external projects/docs/rooms sync across space members
- [ ] #2 Meeting scheduling syncs in real-time
- [ ] #3 Adding/removing links requires authentication
- [ ] #4 Demo mode shows placeholder data
<!-- AC:END -->
## Implementation Notes
<!-- SECTION:NOTES:BEGIN -->
schemas.ts + local-first-client.ts created
<!-- SECTION:NOTES:END -->