mirror of
https://github.com/Memo-2023/mana-monorepo.git
synced 2026-05-14 19:01:08 +02:00
Server-side: - sync_changes gains a nullable space_id TEXT column + partial index on (user_id, space_id, app_id, created_at) WHERE space_id IS NOT NULL. - RecordChange takes spaceID as a first-class parameter; *string so empty strings land as real SQL NULL and the partial index skips them. - ChangeRow + all three SELECTs (GetChangesSince, GetAllChangesSince, StreamAllUserChanges) propagate space_id through to clients. - changeFromRow surfaces SpaceID on the wire Change shape. - New extractSpaceID helper reads the incoming payload — prefers top- level spaceId, falls back to data.spaceId (inserts) or fields.spaceId.value (updates). Tolerates pre-v28 clients. - 6 Go tests cover the helper + round-trip. Client-side: - PendingChange gains an optional spaceId. - Dexie creating hook stamps spaceId from the active record onto the pending-change row (already set by the v28 scope hook). - Dexie updating hook reads spaceId from the pre-update record and stamps it on the pending-change so updates carry space context even though spaceId itself is immutable and never in `fields`. - buildChangeset forwards spaceId to the server. Explicitly NOT in scope this pass: - RLS remains user_id-scoped; multi-member shared-space reads need a second policy that joins against auth.members. Follow-up once shared spaces are actually used — today everything is personal. - Subscription fan-out is still per-user; fan-out to all members of a shared space is part of the same follow-up. Go tests: 6/6 pass. Web type-check clean (0 errors across 7139 files). Plan: docs/plans/spaces-foundation.md Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| mana-ai | ||
| mana-analytics | ||
| mana-api-gateway | ||
| mana-auth | ||
| mana-crawler | ||
| mana-credits | ||
| mana-events | ||
| mana-geocoding | ||
| mana-image-gen | ||
| mana-landing-builder | ||
| mana-llm | ||
| mana-mail | ||
| mana-media | ||
| mana-notify | ||
| mana-research | ||
| mana-search | ||
| mana-stt | ||
| mana-subscriptions | ||
| mana-sync | ||
| mana-tts | ||
| mana-user | ||
| mana-video-gen | ||
| mana-voice-bot | ||
| news-ingester | ||