managarten/services
Till JS a9529bcf1b fix(mana-sync): enable row-level security on sync_changes
Defense-in-depth on top of the existing application-level WHERE clauses:

- Migrate() now ENABLE + FORCE row level security on sync_changes and
  installs a policy that gates rows on current_setting('app.current_user_id').
  FORCE makes the policy apply to the table owner too, so the application
  role used by mana-sync cannot bypass it regardless of grants.
- New withUser(ctx, userID, fn) helper opens a transaction and calls
  set_config('app.current_user_id', userID, true) before running fn.
  Empty userIDs are rejected up-front so an unauthenticated request can
  never reach the database with an empty RLS scope (which would match
  every row).
- RecordChange / GetChangesSince / GetAllChangesSince all run inside
  withUser. WITH CHECK on the policy double-validates the user_id column
  on insert against the active session, so a future code path that
  forgets the WHERE clause cannot leak data.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-07 13:07:26 +02:00
..
mana-analytics chore: complete ManaCore → Mana rename (docs, go modules, plists, images) 2026-04-07 12:26:10 +02:00
mana-api-gateway chore: complete ManaCore → Mana rename (docs, go modules, plists, images) 2026-04-07 12:26:10 +02:00
mana-auth chore: complete ManaCore → Mana rename (docs, go modules, plists, images) 2026-04-07 12:26:10 +02:00
mana-crawler chore: complete ManaCore → Mana rename (docs, go modules, plists, images) 2026-04-07 12:26:10 +02:00
mana-credits chore: complete ManaCore → Mana rename (docs, go modules, plists, images) 2026-04-07 12:26:10 +02:00
mana-image-gen fix: resolve port conflict (mana-image-gen 3025→3026) and replace APP_URLS with internal routes 2026-04-02 12:56:37 +02:00
mana-landing-builder chore: complete ManaCore → Mana rename (docs, go modules, plists, images) 2026-04-07 12:26:10 +02:00
mana-llm feat(mana-llm): add Google Gemini fallback provider with auto-routing 2026-03-23 22:44:09 +01:00
mana-matrix-bot chore: complete ManaCore → Mana rename (docs, go modules, plists, images) 2026-04-07 12:26:10 +02:00
mana-media chore: complete ManaCore → Mana rename (docs, go modules, plists, images) 2026-04-07 12:26:10 +02:00
mana-notify chore: complete ManaCore → Mana rename (docs, go modules, plists, images) 2026-04-07 12:26:10 +02:00
mana-search chore: complete ManaCore → Mana rename (docs, go modules, plists, images) 2026-04-07 12:26:10 +02:00
mana-stt chore: complete ManaCore → Mana rename (docs, go modules, plists, images) 2026-04-07 12:26:10 +02:00
mana-subscriptions chore: complete ManaCore → Mana rename (docs, go modules, plists, images) 2026-04-07 12:26:10 +02:00
mana-sync fix(mana-sync): enable row-level security on sync_changes 2026-04-07 13:07:26 +02:00
mana-tts chore: complete ManaCore → Mana rename (docs, go modules, plists, images) 2026-04-07 12:26:10 +02:00
mana-user chore: complete ManaCore → Mana rename (docs, go modules, plists, images) 2026-04-07 12:26:10 +02:00
mana-video-gen feat(mana-video-gen): add AI video generation service with LTX-Video 2026-04-02 01:17:47 +02:00
mana-voice-bot chore: complete ManaCore → Mana rename (docs, go modules, plists, images) 2026-04-07 12:26:10 +02:00