Server-side realtime SSE on per-app pub/sub topics, plus the three
v1.1.5 follow-ups and the version bumps.
Realtime:
- topics registry (0021) + admin endpoints + Capability::AppTopicManage
(-> app:admin; no new scope).
- GET /realtime/topics/{topic} SSE endpoint (orchestrator-core data
plane): Host -> app, RealtimeAuthority gate (404 missing/internal,
401 bad/absent token), broadcast::Receiver stream + heartbeat.
- RealtimeBroadcaster / RealtimeEvent / RealtimeAuthority traits
(picloud-shared); InProcessBroadcaster + GC (orchestrator-core);
DB-backed RealtimeAuthorityImpl (manager-core). Publish path fans out
to in-process subscribers after the durable outbox commit (best-effort,
panic-isolated).
- HMAC subscriber tokens (subscriber_token.rs) + app_secrets table (0022)
+ pubsub::subscriber_token SDK (schema 1.6 -> 1.7). TTL clamp + env
overrides.
- Dashboard Topics tab (register/list/edit/delete, prominent external
badge, flip confirmation).
v1.1.5 follow-ups:
- Empty blobs accepted (NewFile/FileUpdate::validate) + round-trip test.
- Orphan *.tmp.* sweeper (spawn_files_orphan_sweep).
- Dispatcher e2e tests, one per trigger kind (DATABASE_URL-gated).
Versions: workspace 1.1.6, SDK 1.7, dashboard 0.12.0. Schema-snapshot
golden re-blessed.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
57 lines
975 B
Plaintext
57 lines
975 B
Plaintext
# Rust
|
|
/target
|
|
**/*.rs.bk
|
|
Cargo.lock.bak
|
|
|
|
# IDE
|
|
/.idea
|
|
/.vscode
|
|
*.swp
|
|
*.swo
|
|
.DS_Store
|
|
|
|
# Claude Code — team-wide settings go in .claude/settings.json (tracked);
|
|
# personal grants from in-session prompts live in settings.local.json.
|
|
.claude/settings.local.json
|
|
|
|
# Env / secrets
|
|
.env
|
|
.env.*
|
|
!.env.example
|
|
|
|
# Local config overrides
|
|
config.local.toml
|
|
/data
|
|
# Files-root blob storage created when integration tests run build_app
|
|
# from the picloud crate dir (PICLOUD_FILES_ROOT default ./data).
|
|
/crates/picloud/data
|
|
/postgres-data
|
|
|
|
# Dashboard
|
|
/dashboard/node_modules
|
|
/dashboard/.svelte-kit
|
|
/dashboard/build
|
|
/dashboard/.env
|
|
|
|
# Dashboard — Playwright E2E
|
|
/dashboard/tests/e2e/.auth
|
|
/dashboard/tests/e2e/.results
|
|
/dashboard/playwright-report
|
|
/dashboard/test-results
|
|
/dashboard/.playwright
|
|
# When playwright is invoked from the repo root by accident, these
|
|
# also land here.
|
|
/playwright-report
|
|
/test-results
|
|
|
|
# Caddy
|
|
/caddy/data
|
|
/caddy/config
|
|
|
|
# Logs
|
|
*.log
|
|
/logs
|
|
|
|
# OS
|
|
Thumbs.db
|