@ultimat3/realtime 11.2.0 → 11.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CLAUDE.md +1 -1
- package/package.json +3 -3
- package/src/sync-upgrade.ts +1 -1
package/CLAUDE.md
CHANGED
|
@@ -461,7 +461,7 @@ Tier 3 package. Channels, live queries, local-first sync. One protocol for all t
|
|
|
461
461
|
guard `onClose` already had.
|
|
462
462
|
- **The grant is recorded BEFORE `server.upgrade`, and released on the path that never opens.**
|
|
463
463
|
Bun runs `websocket.open` SYNCHRONOUSLY inside `server.upgrade` and does not return until it has
|
|
464
|
-
(bun 1.
|
|
464
|
+
(bun 1.4.0), and `open` is where `sync-node` reads the `GrantBook` for the socket's actor.
|
|
465
465
|
Recorded on the line after the upgrade — which it was — every authenticated socket on a real node
|
|
466
466
|
carried `actor: null`: `ChannelHub.#authorize` denied every topic with `X_TOPIC_FORBIDDEN`,
|
|
467
467
|
`authorize`/`visible` decided about nobody, `maxPerTenant` never applied and `hello.actorId` was
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ultimat3/realtime",
|
|
3
|
-
"version": "11.
|
|
3
|
+
"version": "11.3.0",
|
|
4
4
|
"description": "Three-tier realtime: channels, live queries, local-first sync — one protocol, one mutator shape",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"type": "module",
|
|
@@ -36,8 +36,8 @@
|
|
|
36
36
|
"test": "bun test"
|
|
37
37
|
},
|
|
38
38
|
"dependencies": {
|
|
39
|
-
"@ultimat3/core": "11.
|
|
40
|
-
"@ultimat3/query": "11.
|
|
39
|
+
"@ultimat3/core": "11.3.0",
|
|
40
|
+
"@ultimat3/query": "11.3.0",
|
|
41
41
|
"nats": "2.29.3"
|
|
42
42
|
}
|
|
43
43
|
}
|
package/src/sync-upgrade.ts
CHANGED
|
@@ -39,7 +39,7 @@ export interface UpgradeDeps {
|
|
|
39
39
|
readonly authenticate?: SyncAuthenticator | undefined;
|
|
40
40
|
/**
|
|
41
41
|
* Recorded BEFORE `server.upgrade`, because Bun runs `websocket.open` synchronously inside it
|
|
42
|
-
* (measured on bun 1.
|
|
42
|
+
* (measured on bun 1.4.0) and `open` is where the node reads this grant to build the socket's
|
|
43
43
|
* actor. Recorded after, every authenticated socket carried `actor: null` — the topic guard,
|
|
44
44
|
* `authorize`, `visible` and the per-tenant cap all deciding about nobody — and it never
|
|
45
45
|
* repaired, because the re-auth sweep only visits grants with an `expiresAt`.
|