42 lines
1.2 KiB
Markdown
42 lines
1.2 KiB
Markdown
---
|
|
id: TASK-118.5
|
|
title: Add local-first-client to rschedule
|
|
status: Done
|
|
assignee: []
|
|
created_date: '2026-03-16 00:06'
|
|
updated_date: '2026-03-16 00:50'
|
|
labels:
|
|
- multiplayer
|
|
- tier-2
|
|
milestone: Multiplayer Everything
|
|
dependencies: []
|
|
parent_task_id: TASK-118
|
|
priority: medium
|
|
---
|
|
|
|
## Description
|
|
|
|
<!-- SECTION:DESCRIPTION:BEGIN -->
|
|
rschedule already has Automerge schemas but lacks a local-first-client.ts for client-side sync. Add the client and wire it into the 3 components (automation-canvas, reminders-widget, schedule-app).
|
|
|
|
## New file:
|
|
- `modules/rschedule/local-first-client.ts` — wraps existing schemas with sync methods
|
|
|
|
## Component updates:
|
|
- All 3 components init the client, subscribe, and react to remote changes
|
|
- Scheduled jobs, reminders, and automations sync in real-time between space members
|
|
<!-- SECTION:DESCRIPTION:END -->
|
|
|
|
## Acceptance Criteria
|
|
<!-- AC:BEGIN -->
|
|
- [ ] #1 local-first-client.ts created following established pattern
|
|
- [ ] #2 All 3 components sync via Automerge
|
|
- [ ] #3 Reminders and scheduled jobs visible to all space members in real-time
|
|
<!-- AC:END -->
|
|
|
|
## Implementation Notes
|
|
|
|
<!-- SECTION:NOTES:BEGIN -->
|
|
schemas.ts + local-first-client.ts created
|
|
<!-- SECTION:NOTES:END -->
|