Feat v0.5.0 realtime primitive + dialog audit + permissions UI
All checks were successful
CI/CD / detect-changes (pull_request) Successful in 18s
CI/CD / test-frontend (pull_request) Successful in 5s
CI/CD / test-go-pg (pull_request) Successful in 2m42s
CI/CD / test-sqlite (pull_request) Successful in 2m59s
CI/CD / build-and-deploy (pull_request) Successful in 1m24s
All checks were successful
CI/CD / detect-changes (pull_request) Successful in 18s
CI/CD / test-frontend (pull_request) Successful in 5s
CI/CD / test-go-pg (pull_request) Successful in 2m42s
CI/CD / test-sqlite (pull_request) Successful in 2m59s
CI/CD / build-and-deploy (pull_request) Successful in 1m24s
Add realtime pub/sub: Starlark realtime.publish() module gated by new realtime.publish permission, WS room protocol (room.subscribe/ room.unsubscribe intercepted in readPump with 100-room cap), and SDK sw.realtime.subscribe() with auto room join/leave and reconnect recovery. Migrate 5 bare confirm() calls to sw.confirm() with destructive styling in tasks, schedules, notes (×2), and editor packages. Add admin permissions UI: per-permission grant/revoke drawer, Grant All bulk action, pending_review/suspended status badges, disabled enable toggle when pending. Closes v0.4.7 permissions UI gap. 8 new Go tests, all passing. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -1035,6 +1035,19 @@ paths:
|
||||
ticket:
|
||||
type: string
|
||||
|
||||
# WebSocket Realtime Protocol (v0.5.0)
|
||||
# ──────────────────────────────────────────────
|
||||
# Room Management (client → server, intercepted before bus):
|
||||
# { "event": "room.subscribe", "payload": { "room": "conversation:abc" } }
|
||||
# { "event": "room.unsubscribe", "payload": { "room": "conversation:abc" } }
|
||||
#
|
||||
# Realtime Events (server → client, room-scoped):
|
||||
# { "event": "realtime.<name>", "room": "<channel>", "payload": { "_pkg": "...", ... }, "ts": 1234567890 }
|
||||
#
|
||||
# Starlark extensions publish via: realtime.publish(channel, event, data)
|
||||
# SDK clients subscribe via: sw.realtime.subscribe(channel, [event], callback)
|
||||
# Max 100 rooms per connection. Payload limit: 7KB.
|
||||
|
||||
# ──────────────────────────────────────────────
|
||||
# Extension Assets
|
||||
# ──────────────────────────────────────────────
|
||||
|
||||
Reference in New Issue
Block a user