jazz-tools 0.18.17 → 0.18.19

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.
Files changed (99) hide show
  1. package/.svelte-kit/__package__/jazz.class.svelte.d.ts +14 -0
  2. package/.svelte-kit/__package__/jazz.class.svelte.d.ts.map +1 -1
  3. package/.svelte-kit/__package__/jazz.class.svelte.js +37 -0
  4. package/.svelte-kit/__package__/testing.d.ts +1 -1
  5. package/.svelte-kit/__package__/testing.d.ts.map +1 -1
  6. package/.svelte-kit/__package__/testing.js +1 -1
  7. package/.svelte-kit/__package__/tests/TestConnectionStatus.svelte +8 -0
  8. package/.svelte-kit/__package__/tests/TestConnectionStatus.svelte.d.ts +27 -0
  9. package/.svelte-kit/__package__/tests/TestConnectionStatus.svelte.d.ts.map +1 -0
  10. package/.svelte-kit/__package__/tests/sync-connection-status.svelte.test.d.ts +2 -0
  11. package/.svelte-kit/__package__/tests/sync-connection-status.svelte.test.d.ts.map +1 -0
  12. package/.svelte-kit/__package__/tests/sync-connection-status.svelte.test.js +47 -0
  13. package/.turbo/turbo-build.log +57 -57
  14. package/CHANGELOG.md +27 -0
  15. package/dist/better-auth/auth/client.d.ts.map +1 -1
  16. package/dist/better-auth/auth/client.js +3 -2
  17. package/dist/better-auth/auth/client.js.map +1 -1
  18. package/dist/browser/BrowserContextManager.d.ts +4 -0
  19. package/dist/browser/BrowserContextManager.d.ts.map +1 -1
  20. package/dist/browser/createBrowserContext.d.ts +4 -0
  21. package/dist/browser/createBrowserContext.d.ts.map +1 -1
  22. package/dist/browser/index.js +36 -4
  23. package/dist/browser/index.js.map +1 -1
  24. package/dist/{chunk-OTWWOZMB.js → chunk-RN3Y24WX.js} +9 -4
  25. package/dist/chunk-RN3Y24WX.js.map +1 -0
  26. package/dist/index.js +1 -1
  27. package/dist/react/hooks.d.ts +1 -1
  28. package/dist/react/hooks.d.ts.map +1 -1
  29. package/dist/react/index.d.ts +1 -1
  30. package/dist/react/index.d.ts.map +1 -1
  31. package/dist/react/index.js +4 -2
  32. package/dist/react/index.js.map +1 -1
  33. package/dist/react-core/hooks.d.ts +26 -0
  34. package/dist/react-core/hooks.d.ts.map +1 -1
  35. package/dist/react-core/index.js +16 -1
  36. package/dist/react-core/index.js.map +1 -1
  37. package/dist/react-core/testing.d.ts +1 -1
  38. package/dist/react-core/testing.d.ts.map +1 -1
  39. package/dist/react-core/testing.js +3 -1
  40. package/dist/react-core/testing.js.map +1 -1
  41. package/dist/react-core/tests/useSyncConnectionStatus.test.d.ts +2 -0
  42. package/dist/react-core/tests/useSyncConnectionStatus.test.d.ts.map +1 -0
  43. package/dist/react-native-core/ReactNativeContextManager.d.ts +4 -0
  44. package/dist/react-native-core/ReactNativeContextManager.d.ts.map +1 -1
  45. package/dist/react-native-core/hooks.d.ts +1 -1
  46. package/dist/react-native-core/hooks.d.ts.map +1 -1
  47. package/dist/react-native-core/index.js +38 -6
  48. package/dist/react-native-core/index.js.map +1 -1
  49. package/dist/react-native-core/platform.d.ts +4 -0
  50. package/dist/react-native-core/platform.d.ts.map +1 -1
  51. package/dist/svelte/jazz.class.svelte.d.ts +14 -0
  52. package/dist/svelte/jazz.class.svelte.d.ts.map +1 -1
  53. package/dist/svelte/jazz.class.svelte.js +37 -0
  54. package/dist/svelte/testing.d.ts +1 -1
  55. package/dist/svelte/testing.d.ts.map +1 -1
  56. package/dist/svelte/testing.js +1 -1
  57. package/dist/svelte/tests/TestConnectionStatus.svelte +8 -0
  58. package/dist/svelte/tests/TestConnectionStatus.svelte.d.ts +27 -0
  59. package/dist/svelte/tests/TestConnectionStatus.svelte.d.ts.map +1 -0
  60. package/dist/svelte/tests/sync-connection-status.svelte.test.d.ts +2 -0
  61. package/dist/svelte/tests/sync-connection-status.svelte.test.d.ts.map +1 -0
  62. package/dist/svelte/tests/sync-connection-status.svelte.test.js +47 -0
  63. package/dist/testing.js +34 -4
  64. package/dist/testing.js.map +1 -1
  65. package/dist/tools/coValues/coMap.d.ts +2 -2
  66. package/dist/tools/coValues/coMap.d.ts.map +1 -1
  67. package/dist/tools/implementation/ContextManager.d.ts +4 -0
  68. package/dist/tools/implementation/ContextManager.d.ts.map +1 -1
  69. package/dist/tools/subscribe/SubscriptionScope.d.ts.map +1 -1
  70. package/dist/tools/testing.d.ts +8 -0
  71. package/dist/tools/testing.d.ts.map +1 -1
  72. package/dist/tools/types.d.ts +4 -0
  73. package/dist/tools/types.d.ts.map +1 -1
  74. package/package.json +4 -4
  75. package/src/better-auth/auth/client.ts +3 -2
  76. package/src/better-auth/auth/tests/client.test.ts +22 -0
  77. package/src/browser/createBrowserContext.ts +34 -4
  78. package/src/react/hooks.tsx +1 -0
  79. package/src/react/index.ts +1 -0
  80. package/src/react-core/hooks.ts +42 -0
  81. package/src/react-core/testing.tsx +1 -0
  82. package/src/react-core/tests/useAccountWithSelector.test.ts +98 -2
  83. package/src/react-core/tests/useSyncConnectionStatus.test.ts +48 -0
  84. package/src/react-native-core/hooks.tsx +1 -0
  85. package/src/react-native-core/platform.ts +32 -4
  86. package/src/svelte/jazz.class.svelte.ts +44 -0
  87. package/src/svelte/testing.ts +1 -0
  88. package/src/svelte/tests/TestConnectionStatus.svelte +8 -0
  89. package/src/svelte/tests/sync-connection-status.svelte.test.ts +61 -0
  90. package/src/tools/coValues/coMap.ts +5 -5
  91. package/src/tools/implementation/ContextManager.ts +8 -0
  92. package/src/tools/subscribe/SubscriptionScope.ts +5 -1
  93. package/src/tools/subscribe/index.ts +1 -1
  94. package/src/tools/testing.ts +29 -0
  95. package/src/tools/tests/ContextManager.test.ts +2 -2
  96. package/src/tools/tests/coMap.test.ts +68 -2
  97. package/src/tools/tests/subscribe.test.ts +42 -4
  98. package/src/tools/types.ts +4 -0
  99. package/dist/chunk-OTWWOZMB.js.map +0 -1
package/dist/testing.js CHANGED
@@ -6,7 +6,7 @@ import {
6
6
  createAnonymousJazzContext,
7
7
  createJazzContext,
8
8
  randomSessionProvider
9
- } from "./chunk-OTWWOZMB.js";
9
+ } from "./chunk-RN3Y24WX.js";
10
10
 
11
11
  // src/tools/testing.ts
12
12
  import { LocalNode } from "cojson";
@@ -124,6 +124,23 @@ async function createJazzTestGuest() {
124
124
  guest: ctx.agent
125
125
  };
126
126
  }
127
+ var _MockConnectionStatus = class _MockConnectionStatus {
128
+ static setIsConnected(isConnected) {
129
+ _MockConnectionStatus.connected = isConnected;
130
+ for (const listener of _MockConnectionStatus.connectionListeners) {
131
+ listener(isConnected);
132
+ }
133
+ }
134
+ static addConnectionListener(listener) {
135
+ _MockConnectionStatus.connectionListeners.add(listener);
136
+ return () => {
137
+ _MockConnectionStatus.connectionListeners.delete(listener);
138
+ };
139
+ }
140
+ };
141
+ _MockConnectionStatus.connected = true;
142
+ _MockConnectionStatus.connectionListeners = /* @__PURE__ */ new Set();
143
+ var MockConnectionStatus = _MockConnectionStatus;
127
144
  var TestJazzContextManager = class _TestJazzContextManager extends JazzContextManager {
128
145
  static fromAccountOrGuest(account, props) {
129
146
  if (account && "guest" in account) {
@@ -157,7 +174,11 @@ var TestJazzContextManager = class _TestJazzContextManager extends JazzContextMa
157
174
  logOut: async () => {
158
175
  await storage.clear();
159
176
  node.gracefulShutdown();
160
- }
177
+ },
178
+ addConnectionListener: (listener) => {
179
+ return MockConnectionStatus.addConnectionListener(listener);
180
+ },
181
+ connected: () => MockConnectionStatus.connected
161
182
  },
162
183
  {
163
184
  credentials
@@ -176,7 +197,11 @@ var TestJazzContextManager = class _TestJazzContextManager extends JazzContextMa
176
197
  },
177
198
  logOut: async () => {
178
199
  node.gracefulShutdown();
179
- }
200
+ },
201
+ addConnectionListener: (listener) => {
202
+ return MockConnectionStatus.addConnectionListener(listener);
203
+ },
204
+ connected: () => MockConnectionStatus.connected
180
205
  });
181
206
  return context;
182
207
  }
@@ -204,7 +229,11 @@ var TestJazzContextManager = class _TestJazzContextManager extends JazzContextMa
204
229
  },
205
230
  logOut: () => {
206
231
  return context.logOut();
207
- }
232
+ },
233
+ addConnectionListener: (listener) => {
234
+ return MockConnectionStatus.addConnectionListener(listener);
235
+ },
236
+ connected: () => MockConnectionStatus.connected
208
237
  };
209
238
  }
210
239
  };
@@ -239,6 +268,7 @@ async function setupJazzTestSync({
239
268
  return account;
240
269
  }
241
270
  export {
271
+ MockConnectionStatus,
242
272
  TestJSCrypto,
243
273
  TestJazzContextManager,
244
274
  createJazzTestAccount,
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/tools/testing.ts"],"sourcesContent":["import { LocalNode } from \"cojson\";\nimport { cojsonInternals } from \"cojson\";\nimport { PureJSCrypto } from \"cojson/dist/crypto/PureJSCrypto\";\nimport {\n Account,\n AccountClass,\n type AnonymousJazzAgent,\n AuthCredentials,\n CoValueFromRaw,\n CoreAccountSchema,\n InstanceOfSchema,\n JazzContextManager,\n JazzContextManagerAuthProps,\n JazzContextManagerBaseProps,\n activeAccountContext,\n coValueClassFromCoValueClassOrSchema,\n createAnonymousJazzContext,\n createJazzContext,\n randomSessionProvider,\n} from \"./internal.js\";\n\nconst syncServer: { current: LocalNode | null; asyncPeers: boolean } = {\n current: null,\n asyncPeers: false,\n};\n\nexport class TestJSCrypto extends PureJSCrypto {\n static async create() {\n if (\"navigator\" in globalThis && navigator.userAgent?.includes(\"jsdom\")) {\n // Mocking crypto seal & encrypt to make it work with JSDom. Getting \"Error: Uint8Array expected\" there\n const crypto = new PureJSCrypto();\n\n crypto.seal = (options) =>\n `sealed_U${cojsonInternals.stableStringify(options.message)}` as any;\n crypto.unseal = (sealed) =>\n JSON.parse(sealed.substring(\"sealed_U\".length));\n crypto.encrypt = (message) =>\n `encrypted_U${cojsonInternals.stableStringify(message)}` as any;\n crypto.decryptRaw = (encrypted) =>\n encrypted.substring(\"encrypted_U\".length) as any;\n\n return crypto;\n }\n\n // For non-jsdom environments, we use the real crypto\n return new PureJSCrypto();\n }\n}\n\nexport function getPeerConnectedToTestSyncServer() {\n if (!syncServer.current) {\n throw new Error(\"Sync server not initialized\");\n }\n\n const [aPeer, bPeer] = cojsonInternals.connectedPeers(\n Math.random().toString(),\n Math.random().toString(),\n {\n peer1role: \"client\",\n peer2role: \"server\",\n },\n );\n\n if (syncServer.asyncPeers) {\n const push = aPeer.outgoing.push;\n\n aPeer.outgoing.push = (message) => {\n setTimeout(() => {\n push.call(aPeer.outgoing, message);\n });\n };\n\n bPeer.outgoing.push = (message) => {\n setTimeout(() => {\n push.call(bPeer.outgoing, message);\n });\n };\n }\n\n syncServer.current.syncManager.addPeer(aPeer);\n\n return bPeer;\n}\n\nconst SecretSeedMap = new Map<string, Uint8Array>();\nlet isMigrationActive = false;\n\nexport async function createJazzTestAccount<\n S extends\n | (AccountClass<Account> & CoValueFromRaw<Account>)\n | CoreAccountSchema,\n>(options?: {\n isCurrentActiveAccount?: boolean;\n AccountSchema?: S;\n creationProps?: Record<string, unknown>;\n}): Promise<InstanceOfSchema<S>> {\n const AccountClass = options?.AccountSchema\n ? coValueClassFromCoValueClassOrSchema(options.AccountSchema)\n : Account;\n const peers = [];\n if (syncServer.current) {\n peers.push(getPeerConnectedToTestSyncServer());\n }\n\n const crypto = await TestJSCrypto.create();\n const secretSeed = crypto.newRandomSecretSeed();\n\n const { node } = await LocalNode.withNewlyCreatedAccount({\n creationProps: {\n name: \"Test Account\",\n ...options?.creationProps,\n },\n initialAgentSecret: crypto.agentSecretFromSecretSeed(secretSeed),\n crypto,\n peersToLoadFrom: peers,\n migration: async (rawAccount, _node, creationProps) => {\n if (isMigrationActive) {\n throw new Error(\n \"It is not possible to create multiple accounts in parallel inside the test environment.\",\n );\n }\n\n isMigrationActive = true;\n\n // @ts-expect-error - AccountClass doesn't infer the fromRaw static method\n const account = AccountClass.fromRaw(rawAccount) as InstanceOfSchema<S>;\n\n // We need to set the account as current because the migration\n // will probably rely on the global me\n const prevActiveAccount = activeAccountContext.maybeGet();\n activeAccountContext.set(account);\n\n await account.applyMigration?.(creationProps);\n\n if (!options?.isCurrentActiveAccount) {\n activeAccountContext.set(prevActiveAccount);\n }\n\n isMigrationActive = false;\n },\n });\n\n const account = AccountClass.fromNode(node);\n SecretSeedMap.set(account.$jazz.id, secretSeed);\n\n if (options?.isCurrentActiveAccount) {\n activeAccountContext.set(account);\n }\n\n return account as InstanceOfSchema<S>;\n}\n\nexport function setActiveAccount(account: Account) {\n activeAccountContext.set(account);\n}\n\n/**\n * Run a callback without an active account.\n *\n * Takes care of restoring the active account after the callback is run.\n *\n * If the callback returns a promise, waits for it before restoring the active account.\n *\n * @param callback - The callback to run.\n * @returns The result of the callback.\n */\nexport function runWithoutActiveAccount<Result>(\n callback: () => Result,\n): Result {\n const me = Account.getMe();\n activeAccountContext.set(null);\n const result = callback();\n\n if (result instanceof Promise) {\n return result.finally(() => {\n activeAccountContext.set(me);\n return result;\n }) as Result;\n }\n\n activeAccountContext.set(me);\n return result;\n}\n\nexport async function createJazzTestGuest() {\n const ctx = await createAnonymousJazzContext({\n crypto: await PureJSCrypto.create(),\n peersToLoadFrom: [],\n });\n\n return {\n guest: ctx.agent,\n };\n}\n\nexport type TestJazzContextManagerProps<Acc extends Account> =\n JazzContextManagerBaseProps<Acc> & {\n defaultProfileName?: string;\n AccountSchema?: AccountClass<Acc> & CoValueFromRaw<Acc>;\n isAuthenticated?: boolean;\n };\n\nexport class TestJazzContextManager<\n Acc extends Account,\n> extends JazzContextManager<Acc, TestJazzContextManagerProps<Acc>> {\n static fromAccountOrGuest<Acc extends Account>(\n account?: Acc | { guest: AnonymousJazzAgent },\n props?: TestJazzContextManagerProps<Acc>,\n ) {\n if (account && \"guest\" in account) {\n return this.fromGuest<Acc>(account, props);\n }\n\n return this.fromAccount<Acc>(account ?? (Account.getMe() as Acc), props);\n }\n\n static fromAccount<Acc extends Account>(\n account: Acc,\n props?: TestJazzContextManagerProps<Acc>,\n ) {\n const context = new TestJazzContextManager<Acc>();\n\n const provider = props?.isAuthenticated ? \"testProvider\" : \"anonymous\";\n const storage = context.getAuthSecretStorage();\n const node = account.$jazz.localNode;\n\n const credentials = {\n accountID: account.$jazz.id,\n accountSecret: node.getCurrentAgent().agentSecret,\n secretSeed: SecretSeedMap.get(account.$jazz.id),\n provider,\n } satisfies AuthCredentials;\n\n storage.set(credentials);\n\n context.updateContext(\n {\n AccountSchema: account.constructor as AccountClass<Acc> &\n CoValueFromRaw<Acc>,\n ...props,\n },\n {\n me: account,\n node,\n done: () => {\n node.gracefulShutdown();\n },\n logOut: async () => {\n await storage.clear();\n node.gracefulShutdown();\n },\n },\n {\n credentials,\n },\n );\n\n return context;\n }\n\n static fromGuest<Acc extends Account>(\n { guest }: { guest: AnonymousJazzAgent },\n props: TestJazzContextManagerProps<Acc> = {},\n ) {\n const context = new TestJazzContextManager<Acc>();\n const node = guest.node;\n\n context.updateContext(props, {\n guest,\n node,\n done: () => {\n node.gracefulShutdown();\n },\n logOut: async () => {\n node.gracefulShutdown();\n },\n });\n\n return context;\n }\n\n async getNewContext(\n props: TestJazzContextManagerProps<Acc>,\n authProps?: JazzContextManagerAuthProps,\n ) {\n if (!syncServer.current) {\n throw new Error(\n \"You need to setup a test sync server with setupJazzTestSync to use the Auth functions\",\n );\n }\n\n const context = await createJazzContext({\n credentials: authProps?.credentials,\n defaultProfileName: props.defaultProfileName,\n newAccountProps: authProps?.newAccountProps,\n peersToLoadFrom: [getPeerConnectedToTestSyncServer()],\n crypto: await TestJSCrypto.create(),\n sessionProvider: randomSessionProvider,\n authSecretStorage: this.getAuthSecretStorage(),\n AccountSchema: props.AccountSchema,\n });\n\n return {\n me: context.account,\n node: context.node,\n done: () => {\n context.done();\n },\n logOut: () => {\n return context.logOut();\n },\n };\n }\n}\n\nexport async function linkAccounts(\n a: Account,\n b: Account,\n aRole: \"server\" | \"client\" = \"server\",\n bRole: \"server\" | \"client\" = \"server\",\n) {\n const [aPeer, bPeer] = cojsonInternals.connectedPeers(\n b.$jazz.id,\n a.$jazz.id,\n {\n peer1role: aRole,\n peer2role: bRole,\n },\n );\n\n a.$jazz.localNode.syncManager.addPeer(aPeer);\n b.$jazz.localNode.syncManager.addPeer(bPeer);\n\n await a.$jazz.waitForAllCoValuesSync();\n await b.$jazz.waitForAllCoValuesSync();\n}\n\nexport async function setupJazzTestSync({\n asyncPeers = false,\n}: {\n asyncPeers?: boolean;\n} = {}) {\n if (syncServer.current) {\n syncServer.current.gracefulShutdown();\n }\n\n const account = await Account.create({\n creationProps: {\n name: \"Test Account\",\n },\n crypto: await TestJSCrypto.create(),\n });\n\n syncServer.current = account.$jazz.localNode;\n syncServer.asyncPeers = asyncPeers;\n\n return account;\n}\n"],"mappings":"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","names":["AccountClass","account"]}
1
+ {"version":3,"sources":["../src/tools/testing.ts"],"sourcesContent":["import { LocalNode } from \"cojson\";\nimport { cojsonInternals } from \"cojson\";\nimport { PureJSCrypto } from \"cojson/dist/crypto/PureJSCrypto\";\nimport {\n Account,\n AccountClass,\n type AnonymousJazzAgent,\n AuthCredentials,\n CoValueFromRaw,\n CoreAccountSchema,\n InstanceOfSchema,\n JazzContextManager,\n JazzContextManagerAuthProps,\n JazzContextManagerBaseProps,\n activeAccountContext,\n coValueClassFromCoValueClassOrSchema,\n createAnonymousJazzContext,\n createJazzContext,\n randomSessionProvider,\n} from \"./internal.js\";\n\nconst syncServer: { current: LocalNode | null; asyncPeers: boolean } = {\n current: null,\n asyncPeers: false,\n};\n\nexport class TestJSCrypto extends PureJSCrypto {\n static async create() {\n if (\"navigator\" in globalThis && navigator.userAgent?.includes(\"jsdom\")) {\n // Mocking crypto seal & encrypt to make it work with JSDom. Getting \"Error: Uint8Array expected\" there\n const crypto = new PureJSCrypto();\n\n crypto.seal = (options) =>\n `sealed_U${cojsonInternals.stableStringify(options.message)}` as any;\n crypto.unseal = (sealed) =>\n JSON.parse(sealed.substring(\"sealed_U\".length));\n crypto.encrypt = (message) =>\n `encrypted_U${cojsonInternals.stableStringify(message)}` as any;\n crypto.decryptRaw = (encrypted) =>\n encrypted.substring(\"encrypted_U\".length) as any;\n\n return crypto;\n }\n\n // For non-jsdom environments, we use the real crypto\n return new PureJSCrypto();\n }\n}\n\nexport function getPeerConnectedToTestSyncServer() {\n if (!syncServer.current) {\n throw new Error(\"Sync server not initialized\");\n }\n\n const [aPeer, bPeer] = cojsonInternals.connectedPeers(\n Math.random().toString(),\n Math.random().toString(),\n {\n peer1role: \"client\",\n peer2role: \"server\",\n },\n );\n\n if (syncServer.asyncPeers) {\n const push = aPeer.outgoing.push;\n\n aPeer.outgoing.push = (message) => {\n setTimeout(() => {\n push.call(aPeer.outgoing, message);\n });\n };\n\n bPeer.outgoing.push = (message) => {\n setTimeout(() => {\n push.call(bPeer.outgoing, message);\n });\n };\n }\n\n syncServer.current.syncManager.addPeer(aPeer);\n\n return bPeer;\n}\n\nconst SecretSeedMap = new Map<string, Uint8Array>();\nlet isMigrationActive = false;\n\nexport async function createJazzTestAccount<\n S extends\n | (AccountClass<Account> & CoValueFromRaw<Account>)\n | CoreAccountSchema,\n>(options?: {\n isCurrentActiveAccount?: boolean;\n AccountSchema?: S;\n creationProps?: Record<string, unknown>;\n}): Promise<InstanceOfSchema<S>> {\n const AccountClass = options?.AccountSchema\n ? coValueClassFromCoValueClassOrSchema(options.AccountSchema)\n : Account;\n const peers = [];\n if (syncServer.current) {\n peers.push(getPeerConnectedToTestSyncServer());\n }\n\n const crypto = await TestJSCrypto.create();\n const secretSeed = crypto.newRandomSecretSeed();\n\n const { node } = await LocalNode.withNewlyCreatedAccount({\n creationProps: {\n name: \"Test Account\",\n ...options?.creationProps,\n },\n initialAgentSecret: crypto.agentSecretFromSecretSeed(secretSeed),\n crypto,\n peersToLoadFrom: peers,\n migration: async (rawAccount, _node, creationProps) => {\n if (isMigrationActive) {\n throw new Error(\n \"It is not possible to create multiple accounts in parallel inside the test environment.\",\n );\n }\n\n isMigrationActive = true;\n\n // @ts-expect-error - AccountClass doesn't infer the fromRaw static method\n const account = AccountClass.fromRaw(rawAccount) as InstanceOfSchema<S>;\n\n // We need to set the account as current because the migration\n // will probably rely on the global me\n const prevActiveAccount = activeAccountContext.maybeGet();\n activeAccountContext.set(account);\n\n await account.applyMigration?.(creationProps);\n\n if (!options?.isCurrentActiveAccount) {\n activeAccountContext.set(prevActiveAccount);\n }\n\n isMigrationActive = false;\n },\n });\n\n const account = AccountClass.fromNode(node);\n SecretSeedMap.set(account.$jazz.id, secretSeed);\n\n if (options?.isCurrentActiveAccount) {\n activeAccountContext.set(account);\n }\n\n return account as InstanceOfSchema<S>;\n}\n\nexport function setActiveAccount(account: Account) {\n activeAccountContext.set(account);\n}\n\n/**\n * Run a callback without an active account.\n *\n * Takes care of restoring the active account after the callback is run.\n *\n * If the callback returns a promise, waits for it before restoring the active account.\n *\n * @param callback - The callback to run.\n * @returns The result of the callback.\n */\nexport function runWithoutActiveAccount<Result>(\n callback: () => Result,\n): Result {\n const me = Account.getMe();\n activeAccountContext.set(null);\n const result = callback();\n\n if (result instanceof Promise) {\n return result.finally(() => {\n activeAccountContext.set(me);\n return result;\n }) as Result;\n }\n\n activeAccountContext.set(me);\n return result;\n}\n\nexport async function createJazzTestGuest() {\n const ctx = await createAnonymousJazzContext({\n crypto: await PureJSCrypto.create(),\n peersToLoadFrom: [],\n });\n\n return {\n guest: ctx.agent,\n };\n}\n\nexport class MockConnectionStatus {\n static connected: boolean = true;\n static connectionListeners = new Set<(isConnected: boolean) => void>();\n static setIsConnected(isConnected: boolean) {\n MockConnectionStatus.connected = isConnected;\n for (const listener of MockConnectionStatus.connectionListeners) {\n listener(isConnected);\n }\n }\n static addConnectionListener(listener: (isConnected: boolean) => void) {\n MockConnectionStatus.connectionListeners.add(listener);\n return () => {\n MockConnectionStatus.connectionListeners.delete(listener);\n };\n }\n}\n\nexport type TestJazzContextManagerProps<Acc extends Account> =\n JazzContextManagerBaseProps<Acc> & {\n defaultProfileName?: string;\n AccountSchema?: AccountClass<Acc> & CoValueFromRaw<Acc>;\n isAuthenticated?: boolean;\n };\n\nexport class TestJazzContextManager<\n Acc extends Account,\n> extends JazzContextManager<Acc, TestJazzContextManagerProps<Acc>> {\n static fromAccountOrGuest<Acc extends Account>(\n account?: Acc | { guest: AnonymousJazzAgent },\n props?: TestJazzContextManagerProps<Acc>,\n ) {\n if (account && \"guest\" in account) {\n return this.fromGuest<Acc>(account, props);\n }\n\n return this.fromAccount<Acc>(account ?? (Account.getMe() as Acc), props);\n }\n\n static fromAccount<Acc extends Account>(\n account: Acc,\n props?: TestJazzContextManagerProps<Acc>,\n ) {\n const context = new TestJazzContextManager<Acc>();\n\n const provider = props?.isAuthenticated ? \"testProvider\" : \"anonymous\";\n const storage = context.getAuthSecretStorage();\n const node = account.$jazz.localNode;\n\n const credentials = {\n accountID: account.$jazz.id,\n accountSecret: node.getCurrentAgent().agentSecret,\n secretSeed: SecretSeedMap.get(account.$jazz.id),\n provider,\n } satisfies AuthCredentials;\n\n storage.set(credentials);\n\n context.updateContext(\n {\n AccountSchema: account.constructor as AccountClass<Acc> &\n CoValueFromRaw<Acc>,\n ...props,\n },\n {\n me: account,\n node,\n done: () => {\n node.gracefulShutdown();\n },\n logOut: async () => {\n await storage.clear();\n node.gracefulShutdown();\n },\n addConnectionListener: (listener) => {\n return MockConnectionStatus.addConnectionListener(listener);\n },\n connected: () => MockConnectionStatus.connected,\n },\n {\n credentials,\n },\n );\n\n return context;\n }\n\n static fromGuest<Acc extends Account>(\n { guest }: { guest: AnonymousJazzAgent },\n props: TestJazzContextManagerProps<Acc> = {},\n ) {\n const context = new TestJazzContextManager<Acc>();\n const node = guest.node;\n\n context.updateContext(props, {\n guest,\n node,\n done: () => {\n node.gracefulShutdown();\n },\n logOut: async () => {\n node.gracefulShutdown();\n },\n addConnectionListener: (listener) => {\n return MockConnectionStatus.addConnectionListener(listener);\n },\n connected: () => MockConnectionStatus.connected,\n });\n\n return context;\n }\n\n async getNewContext(\n props: TestJazzContextManagerProps<Acc>,\n authProps?: JazzContextManagerAuthProps,\n ) {\n if (!syncServer.current) {\n throw new Error(\n \"You need to setup a test sync server with setupJazzTestSync to use the Auth functions\",\n );\n }\n\n const context = await createJazzContext({\n credentials: authProps?.credentials,\n defaultProfileName: props.defaultProfileName,\n newAccountProps: authProps?.newAccountProps,\n peersToLoadFrom: [getPeerConnectedToTestSyncServer()],\n crypto: await TestJSCrypto.create(),\n sessionProvider: randomSessionProvider,\n authSecretStorage: this.getAuthSecretStorage(),\n AccountSchema: props.AccountSchema,\n });\n\n return {\n me: context.account,\n node: context.node,\n done: () => {\n context.done();\n },\n logOut: () => {\n return context.logOut();\n },\n addConnectionListener: (listener: (isConnected: boolean) => void) => {\n return MockConnectionStatus.addConnectionListener(listener);\n },\n connected: () => MockConnectionStatus.connected,\n };\n }\n}\n\nexport async function linkAccounts(\n a: Account,\n b: Account,\n aRole: \"server\" | \"client\" = \"server\",\n bRole: \"server\" | \"client\" = \"server\",\n) {\n const [aPeer, bPeer] = cojsonInternals.connectedPeers(\n b.$jazz.id,\n a.$jazz.id,\n {\n peer1role: aRole,\n peer2role: bRole,\n },\n );\n\n a.$jazz.localNode.syncManager.addPeer(aPeer);\n b.$jazz.localNode.syncManager.addPeer(bPeer);\n\n await a.$jazz.waitForAllCoValuesSync();\n await b.$jazz.waitForAllCoValuesSync();\n}\n\nexport async function setupJazzTestSync({\n asyncPeers = false,\n}: {\n asyncPeers?: boolean;\n} = {}) {\n if (syncServer.current) {\n syncServer.current.gracefulShutdown();\n }\n\n const account = await Account.create({\n creationProps: {\n name: \"Test Account\",\n },\n crypto: await TestJSCrypto.create(),\n });\n\n syncServer.current = account.$jazz.localNode;\n syncServer.asyncPeers = asyncPeers;\n\n return account;\n}\n"],"mappings":"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","names":["AccountClass","account"]}
@@ -1,6 +1,6 @@
1
1
  import { type CoValueUniqueness, type JsonValue, type RawCoMap } from "cojson";
2
2
  import { AnonymousJazzAgent, CoFieldInit, CoValue, CoValueClass, Group, ID, PartialOnUndefined, RefIfCoValue, RefsToResolve, RefsToResolveStrict, Resolved, Schema, Simplify, SubscribeListenerOptions, TypeSym, BranchDefinition } from "../internal.js";
3
- import { Account, CoValueBase, CoValueJazzApi, ItemsSym, inspect } from "../internal.js";
3
+ import { Account, CoValueBase, CoValueJazzApi, ItemsSym, NotNull, inspect } from "../internal.js";
4
4
  type CoMapEdit<V> = {
5
5
  value?: V;
6
6
  ref?: RefIfCoValue<V>;
@@ -547,7 +547,7 @@ declare class CoMapJazzApi<M extends CoMap> extends CoValueJazzApi<M> {
547
547
  get refs(): Simplify<{
548
548
  [Key in CoKeys<M> as NonNullable<M[Key]> extends CoValue ? Key : never]?: RefIfCoValue<M[Key]>;
549
549
  } & {
550
- [Key in CoKeys<M> as M[Key] extends undefined ? never : M[Key] extends CoValue ? Key : never]: RefIfCoValue<M[Key]>;
550
+ [Key in CoKeys<M> as NotNull<M[Key]> extends CoValue ? Key : never]: RefIfCoValue<M[Key]>;
551
551
  }>;
552
552
  /**
553
553
  * Get the edits made to the CoMap.
@@ -1 +1 @@
1
- {"version":3,"file":"coMap.d.ts","sourceRoot":"","sources":["../../../src/tools/coValues/coMap.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"coMap.d.ts","sourceRoot":"","sources":["../../../src/tools/coValues/coMap.ts"],"names":[],"mappings":"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"}
@@ -24,12 +24,16 @@ type PlatformSpecificAuthContext<Acc extends Account> = {
24
24
  node: LocalNode;
25
25
  logOut: () => Promise<void>;
26
26
  done: () => void;
27
+ addConnectionListener: (listener: (connected: boolean) => void) => () => void;
28
+ connected: () => boolean;
27
29
  };
28
30
  type PlatformSpecificGuestContext = {
29
31
  guest: AnonymousJazzAgent;
30
32
  node: LocalNode;
31
33
  logOut: () => Promise<void>;
32
34
  done: () => void;
35
+ addConnectionListener: (listener: (connected: boolean) => void) => () => void;
36
+ connected: () => boolean;
33
37
  };
34
38
  type PlatformSpecificContext<Acc extends Account> = PlatformSpecificAuthContext<Acc> | PlatformSpecificGuestContext;
35
39
  export declare class JazzContextManager<Acc extends Account, P extends JazzContextManagerBaseProps<Acc>> {
@@ -1 +1 @@
1
- {"version":3,"file":"ContextManager.d.ts","sourceRoot":"","sources":["../../../src/tools/implementation/ContextManager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ContextManager.d.ts","sourceRoot":"","sources":["../../../src/tools/implementation/ContextManager.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"SubscriptionScope.d.ts","sourceRoot":"","sources":["../../../src/tools/subscribe/SubscriptionScope.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SubscriptionScope.d.ts","sourceRoot":"","sources":["../../../src/tools/subscribe/SubscriptionScope.ts"],"names":[],"mappings":"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"}
@@ -25,6 +25,12 @@ export declare function runWithoutActiveAccount<Result>(callback: () => Result):
25
25
  export declare function createJazzTestGuest(): Promise<{
26
26
  guest: AnonymousJazzAgent;
27
27
  }>;
28
+ export declare class MockConnectionStatus {
29
+ static connected: boolean;
30
+ static connectionListeners: Set<(isConnected: boolean) => void>;
31
+ static setIsConnected(isConnected: boolean): void;
32
+ static addConnectionListener(listener: (isConnected: boolean) => void): () => void;
33
+ }
28
34
  export type TestJazzContextManagerProps<Acc extends Account> = JazzContextManagerBaseProps<Acc> & {
29
35
  defaultProfileName?: string;
30
36
  AccountSchema?: AccountClass<Acc> & CoValueFromRaw<Acc>;
@@ -47,6 +53,8 @@ export declare class TestJazzContextManager<Acc extends Account> extends JazzCon
47
53
  node: LocalNode;
48
54
  done: () => void;
49
55
  logOut: () => Promise<void>;
56
+ addConnectionListener: (listener: (isConnected: boolean) => void) => () => void;
57
+ connected: () => boolean;
50
58
  }>;
51
59
  }
52
60
  export declare function linkAccounts(a: Account, b: Account, aRole?: "server" | "client", bRole?: "server" | "client"): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"testing.d.ts","sourceRoot":"","sources":["../../src/tools/testing.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AAEnC,OAAO,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAC/D,OAAO,EACL,OAAO,EACP,YAAY,EACZ,KAAK,kBAAkB,EAEvB,cAAc,EACd,iBAAiB,EACjB,gBAAgB,EAChB,kBAAkB,EAClB,2BAA2B,EAC3B,2BAA2B,EAM5B,MAAM,eAAe,CAAC;AAOvB,qBAAa,YAAa,SAAQ,YAAY;WAC/B,MAAM;CAoBpB;AAED,wBAAgB,gCAAgC,0BAiC/C;AAKD,wBAAsB,qBAAqB,CACzC,CAAC,SACG,CAAC,YAAY,CAAC,OAAO,CAAC,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC,GACjD,iBAAiB,EACrB,OAAO,CAAC,EAAE;IACV,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC,aAAa,CAAC,EAAE,CAAC,CAAC;IAClB,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACzC,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAuD/B;AAED,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,OAAO,QAEhD;AAED;;;;;;;;;GASG;AACH,wBAAgB,uBAAuB,CAAC,MAAM,EAC5C,QAAQ,EAAE,MAAM,MAAM,GACrB,MAAM,CAcR;AAED,wBAAsB,mBAAmB;;GASxC;AAED,MAAM,MAAM,2BAA2B,CAAC,GAAG,SAAS,OAAO,IACzD,2BAA2B,CAAC,GAAG,CAAC,GAAG;IACjC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,aAAa,CAAC,EAAE,YAAY,CAAC,GAAG,CAAC,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC;IACxD,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B,CAAC;AAEJ,qBAAa,sBAAsB,CACjC,GAAG,SAAS,OAAO,CACnB,SAAQ,kBAAkB,CAAC,GAAG,EAAE,2BAA2B,CAAC,GAAG,CAAC,CAAC;IACjE,MAAM,CAAC,kBAAkB,CAAC,GAAG,SAAS,OAAO,EAC3C,OAAO,CAAC,EAAE,GAAG,GAAG;QAAE,KAAK,EAAE,kBAAkB,CAAA;KAAE,EAC7C,KAAK,CAAC,EAAE,2BAA2B,CAAC,GAAG,CAAC;IAS1C,MAAM,CAAC,WAAW,CAAC,GAAG,SAAS,OAAO,EACpC,OAAO,EAAE,GAAG,EACZ,KAAK,CAAC,EAAE,2BAA2B,CAAC,GAAG,CAAC;IA0C1C,MAAM,CAAC,SAAS,CAAC,GAAG,SAAS,OAAO,EAClC,EAAE,KAAK,EAAE,EAAE;QAAE,KAAK,EAAE,kBAAkB,CAAA;KAAE,EACxC,KAAK,GAAE,2BAA2B,CAAC,GAAG,CAAM;IAmBxC,aAAa,CACjB,KAAK,EAAE,2BAA2B,CAAC,GAAG,CAAC,EACvC,SAAS,CAAC,EAAE,2BAA2B;;uBA2EqpO,cAAc;;;;;;;;CA7C7sO;AAED,wBAAsB,YAAY,CAChC,CAAC,EAAE,OAAO,EACV,CAAC,EAAE,OAAO,EACV,KAAK,GAAE,QAAQ,GAAG,QAAmB,EACrC,KAAK,GAAE,QAAQ,GAAG,QAAmB,iBAgBtC;AAED,wBAAsB,iBAAiB,CAAC,EACtC,UAAkB,GACnB,GAAE;IACD,UAAU,CAAC,EAAE,OAAO,CAAC;CACjB,oBAgBL"}
1
+ {"version":3,"file":"testing.d.ts","sourceRoot":"","sources":["../../src/tools/testing.ts"],"names":[],"mappings":"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"}
@@ -19,6 +19,8 @@ export type JazzAuthContext<Acc extends Account> = {
19
19
  logOut: () => Promise<void>;
20
20
  done: () => void;
21
21
  isAuthenticated?: boolean;
22
+ addConnectionListener: (listener: (connected: boolean) => void) => () => void;
23
+ connected: () => boolean;
22
24
  };
23
25
  export type JazzGuestContext = {
24
26
  guest: AnonymousJazzAgent;
@@ -28,6 +30,8 @@ export type JazzGuestContext = {
28
30
  logOut: () => void;
29
31
  done: () => void;
30
32
  isAuthenticated?: boolean;
33
+ addConnectionListener: (listener: (connected: boolean) => void) => () => void;
34
+ connected: () => boolean;
31
35
  };
32
36
  export type JazzContextType<Acc extends Account> = JazzAuthContext<Acc> | JazzGuestContext;
33
37
  export type NewAccountProps = {
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/tools/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AACrD,OAAO,KAAK,EAAE,OAAO,EAAE,kBAAkB,EAAE,EAAE,EAAE,MAAM,eAAe,CAAC;AAErE,MAAM,MAAM,eAAe,GAAG;IAC5B,SAAS,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC;IACvB,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,aAAa,EAAE,WAAW,CAAC;IAC3B,QAAQ,CAAC,EAAE,WAAW,GAAG,OAAO,GAAG,MAAM,GAAG,SAAS,GAAG,YAAY,GAAG,MAAM,CAAC;CAC/E,CAAC;AAEF,MAAM,MAAM,2BAA2B,GAAG,CACxC,WAAW,EAAE,eAAe,KACzB,OAAO,CAAC,IAAI,CAAC,CAAC;AAEnB,MAAM,MAAM,uBAAuB,GAAG,CACpC,aAAa,EAAE,WAAW,EAC1B,aAAa,EAAE;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,KAC5B,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;AAE1B,iCAAiC;AACjC,MAAM,MAAM,eAAe,CAAC,GAAG,SAAS,OAAO,IAAI;IACjD,EAAE,EAAE,GAAG,CAAC;IACR,IAAI,EAAE,SAAS,CAAC;IAChB,YAAY,EAAE,2BAA2B,CAAC;IAC1C,QAAQ,EAAE,uBAAuB,CAAC;IAClC,MAAM,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5B,IAAI,EAAE,MAAM,IAAI,CAAC;IACjB,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC7B,KAAK,EAAE,kBAAkB,CAAC;IAC1B,IAAI,EAAE,SAAS,CAAC;IAChB,YAAY,EAAE,2BAA2B,CAAC;IAC1C,QAAQ,EAAE,uBAAuB,CAAC;IAClC,MAAM,EAAE,MAAM,IAAI,CAAC;IACnB,IAAI,EAAE,MAAM,IAAI,CAAC;IACjB,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B,CAAC;AAEF,MAAM,MAAM,eAAe,CAAC,GAAG,SAAS,OAAO,IAC3C,eAAe,CAAC,GAAG,CAAC,GACpB,gBAAgB,CAAC;AAErB,MAAM,MAAM,eAAe,GAAG;IAC5B,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,aAAa,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;CAClC,CAAC;AAEF,MAAM,MAAM,UAAU,GAClB;IACE,IAAI,EAAE,SAAS,MAAM,EAAE,GAAG,QAAQ,MAAM,EAAE,CAAC;IAC3C,IAAI,CAAC,EAAE,QAAQ,GAAG,UAAU,CAAC;CAC9B,GACD;IACE,IAAI,CAAC,EAAE,SAAS,MAAM,EAAE,GAAG,QAAQ,MAAM,EAAE,CAAC;IAC5C,IAAI,EAAE,OAAO,CAAC;CACf,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/tools/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AACrD,OAAO,KAAK,EAAE,OAAO,EAAE,kBAAkB,EAAE,EAAE,EAAE,MAAM,eAAe,CAAC;AAErE,MAAM,MAAM,eAAe,GAAG;IAC5B,SAAS,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC;IACvB,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,aAAa,EAAE,WAAW,CAAC;IAC3B,QAAQ,CAAC,EAAE,WAAW,GAAG,OAAO,GAAG,MAAM,GAAG,SAAS,GAAG,YAAY,GAAG,MAAM,CAAC;CAC/E,CAAC;AAEF,MAAM,MAAM,2BAA2B,GAAG,CACxC,WAAW,EAAE,eAAe,KACzB,OAAO,CAAC,IAAI,CAAC,CAAC;AAEnB,MAAM,MAAM,uBAAuB,GAAG,CACpC,aAAa,EAAE,WAAW,EAC1B,aAAa,EAAE;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,KAC5B,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;AAE1B,iCAAiC;AACjC,MAAM,MAAM,eAAe,CAAC,GAAG,SAAS,OAAO,IAAI;IACjD,EAAE,EAAE,GAAG,CAAC;IACR,IAAI,EAAE,SAAS,CAAC;IAChB,YAAY,EAAE,2BAA2B,CAAC;IAC1C,QAAQ,EAAE,uBAAuB,CAAC;IAClC,MAAM,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5B,IAAI,EAAE,MAAM,IAAI,CAAC;IACjB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,qBAAqB,EAAE,CAAC,QAAQ,EAAE,CAAC,SAAS,EAAE,OAAO,KAAK,IAAI,KAAK,MAAM,IAAI,CAAC;IAC9E,SAAS,EAAE,MAAM,OAAO,CAAC;CAC1B,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC7B,KAAK,EAAE,kBAAkB,CAAC;IAC1B,IAAI,EAAE,SAAS,CAAC;IAChB,YAAY,EAAE,2BAA2B,CAAC;IAC1C,QAAQ,EAAE,uBAAuB,CAAC;IAClC,MAAM,EAAE,MAAM,IAAI,CAAC;IACnB,IAAI,EAAE,MAAM,IAAI,CAAC;IACjB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,qBAAqB,EAAE,CAAC,QAAQ,EAAE,CAAC,SAAS,EAAE,OAAO,KAAK,IAAI,KAAK,MAAM,IAAI,CAAC;IAC9E,SAAS,EAAE,MAAM,OAAO,CAAC;CAC1B,CAAC;AAEF,MAAM,MAAM,eAAe,CAAC,GAAG,SAAS,OAAO,IAC3C,eAAe,CAAC,GAAG,CAAC,GACpB,gBAAgB,CAAC;AAErB,MAAM,MAAM,eAAe,GAAG;IAC5B,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,aAAa,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;CAClC,CAAC;AAEF,MAAM,MAAM,UAAU,GAClB;IACE,IAAI,EAAE,SAAS,MAAM,EAAE,GAAG,QAAQ,MAAM,EAAE,CAAC;IAC3C,IAAI,CAAC,EAAE,QAAQ,GAAG,UAAU,CAAC;CAC9B,GACD;IACE,IAAI,CAAC,EAAE,SAAS,MAAM,EAAE,GAAG,QAAQ,MAAM,EAAE,CAAC;IAC5C,IAAI,EAAE,OAAO,CAAC;CACf,CAAC"}
package/package.json CHANGED
@@ -177,7 +177,7 @@
177
177
  },
178
178
  "type": "module",
179
179
  "license": "MIT",
180
- "version": "0.18.17",
180
+ "version": "0.18.19",
181
181
  "dependencies": {
182
182
  "@manuscripts/prosemirror-recreate-steps": "^0.1.4",
183
183
  "@scure/base": "1.2.1",
@@ -194,9 +194,9 @@
194
194
  "prosemirror-transform": "^1.9.0",
195
195
  "use-sync-external-store": "^1.5.0",
196
196
  "zod": "3.25.76",
197
- "cojson": "0.18.17",
198
- "cojson-storage-indexeddb": "0.18.17",
199
- "cojson-transport-ws": "0.18.17"
197
+ "cojson": "0.18.19",
198
+ "cojson-storage-indexeddb": "0.18.19",
199
+ "cojson-transport-ws": "0.18.19"
200
200
  },
201
201
  "devDependencies": {
202
202
  "@scure/bip39": "^1.3.0",
@@ -122,9 +122,10 @@ export const jazzPluginClient = () => {
122
122
  if (context.request.url.toString().includes("/get-session")) {
123
123
  if (context.data === null) {
124
124
  if (authSecretStorage.isAuthenticated === true) {
125
- console.warn(
126
- "Jazz is authenticated, but the session is null",
125
+ console.info(
126
+ "Jazz is authenticated, but the session is null. Logging out",
127
127
  );
128
+ await jazzContext.logOut();
128
129
  }
129
130
  return;
130
131
  }
@@ -336,6 +336,28 @@ describe("Better-Auth client plugin", () => {
336
336
  );
337
337
  });
338
338
 
339
+ it("should log out from Jazz when the session is null", async () => {
340
+ const credentials = await authSecretStorage.get();
341
+ assert(credentials, "Jazz credentials are not available");
342
+
343
+ await jazzContextManager.authenticate({
344
+ ...credentials,
345
+ provider: "better-auth",
346
+ });
347
+ await authSecretStorage.set({
348
+ ...credentials,
349
+ provider: "better-auth",
350
+ });
351
+
352
+ expect(authSecretStorage.isAuthenticated).toBe(true);
353
+
354
+ customFetchImpl.mockResolvedValue(new Response(JSON.stringify(null)));
355
+
356
+ await authClient.getSession();
357
+
358
+ expect(authSecretStorage.isAuthenticated).toBe(false);
359
+ });
360
+
339
361
  describe("Race condition handling", () => {
340
362
  it("should handle multiple concurrent get-session calls without errors", async () => {
341
363
  const credentials = await authSecretStorage.get();
@@ -59,6 +59,8 @@ async function setupPeers(options: BaseBrowserContextOptions) {
59
59
 
60
60
  if (options.sync.when === "never") {
61
61
  return {
62
+ addConnectionListener: () => () => {},
63
+ connected: () => false,
62
64
  toggleNetwork: () => {},
63
65
  peersToLoadFrom,
64
66
  storage,
@@ -100,6 +102,16 @@ async function setupPeers(options: BaseBrowserContextOptions) {
100
102
 
101
103
  return {
102
104
  toggleNetwork,
105
+ addConnectionListener(listener: (connected: boolean) => void) {
106
+ wsPeer.subscribe(listener);
107
+
108
+ return () => {
109
+ wsPeer.unsubscribe(listener);
110
+ };
111
+ },
112
+ connected() {
113
+ return wsPeer.connected;
114
+ },
103
115
  peersToLoadFrom,
104
116
  storage,
105
117
  setNode,
@@ -110,8 +122,15 @@ async function setupPeers(options: BaseBrowserContextOptions) {
110
122
  export async function createJazzBrowserGuestContext(
111
123
  options: BaseBrowserContextOptions,
112
124
  ) {
113
- const { toggleNetwork, peersToLoadFrom, setNode, crypto, storage } =
114
- await setupPeers(options);
125
+ const {
126
+ toggleNetwork,
127
+ peersToLoadFrom,
128
+ setNode,
129
+ crypto,
130
+ storage,
131
+ addConnectionListener,
132
+ connected,
133
+ } = await setupPeers(options);
115
134
 
116
135
  const context = await createAnonymousJazzContext({
117
136
  crypto,
@@ -134,6 +153,8 @@ export async function createJazzBrowserGuestContext(
134
153
  logOut: () => {
135
154
  return context.logOut();
136
155
  },
156
+ addConnectionListener,
157
+ connected,
137
158
  };
138
159
  }
139
160
 
@@ -153,8 +174,15 @@ export async function createJazzBrowserContext<
153
174
  | (AccountClass<Account> & CoValueFromRaw<Account>)
154
175
  | AnyAccountSchema,
155
176
  >(options: BrowserContextOptions<S>) {
156
- const { toggleNetwork, peersToLoadFrom, setNode, crypto, storage } =
157
- await setupPeers(options);
177
+ const {
178
+ toggleNetwork,
179
+ peersToLoadFrom,
180
+ setNode,
181
+ crypto,
182
+ storage,
183
+ addConnectionListener,
184
+ connected,
185
+ } = await setupPeers(options);
158
186
 
159
187
  let unsubscribeAuthUpdate = () => {};
160
188
 
@@ -202,6 +230,8 @@ export async function createJazzBrowserContext<
202
230
  unsubscribeAuthUpdate();
203
231
  return context.logOut();
204
232
  },
233
+ addConnectionListener,
234
+ connected,
205
235
  };
206
236
  }
207
237
 
@@ -52,4 +52,5 @@ export {
52
52
  useAccount,
53
53
  useCoStateWithSelector,
54
54
  useAccountWithSelector,
55
+ useSyncConnectionStatus,
55
56
  } from "jazz-tools/react-core";
@@ -9,6 +9,7 @@ export {
9
9
  useAuthSecretStorage,
10
10
  useCoStateWithSelector,
11
11
  useAccountWithSelector,
12
+ useSyncConnectionStatus,
12
13
  } from "./hooks.js";
13
14
 
14
15
  export { createInviteLink, parseInviteLink } from "jazz-tools/browser";
@@ -719,6 +719,22 @@ export function useAccountWithSelector<
719
719
  select: (account: Loaded<A, R> | undefined | null) => TSelectorReturn;
720
720
  /** Equality function to determine if the selected value has changed, defaults to `Object.is` */
721
721
  equalityFn?: (a: TSelectorReturn, b: TSelectorReturn) => boolean;
722
+ /**
723
+ * Create or load a branch for isolated editing.
724
+ *
725
+ * Branching lets you take a snapshot of the current state and start modifying it without affecting the canonical/shared version.
726
+ * It's a fork of your data graph: the same schema, but with diverging values.
727
+ *
728
+ * The checkout of the branch is applied on all the resolved values.
729
+ *
730
+ * @param name - A unique name for the branch. This identifies the branch
731
+ * and can be used to switch between different branches of the same CoValue.
732
+ * @param owner - The owner of the branch. Determines who can access and modify
733
+ * the branch. If not provided, the branch is owned by the current user.
734
+ *
735
+ * For more info see the [branching](https://jazz.tools/docs/react/using-covalues/version-control) documentation.
736
+ */
737
+ unstable_branch?: BranchDefinition;
722
738
  },
723
739
  ): TSelectorReturn {
724
740
  const subscription = useAccountSubscription(AccountSchema, options);
@@ -783,3 +799,29 @@ export function experimental_useInboxSender<
783
799
 
784
800
  return sendMessage;
785
801
  }
802
+
803
+ /**
804
+ * Hook that returns the current connection status to the Jazz sync server.
805
+ *
806
+ * @returns `true` when connected to the server, `false` when disconnected
807
+ *
808
+ * @remarks
809
+ * On connection drop, this hook will return `false` only when Jazz detects the disconnection
810
+ * after 5 seconds of not receiving a ping from the server.
811
+ */
812
+ export function useSyncConnectionStatus() {
813
+ const context = useJazzContext();
814
+
815
+ const connected = useSyncExternalStore(
816
+ useCallback(
817
+ (callback) => {
818
+ return context.addConnectionListener(callback);
819
+ },
820
+ [context],
821
+ ),
822
+ () => context.connected(),
823
+ () => context.connected(),
824
+ );
825
+
826
+ return connected;
827
+ }
@@ -39,4 +39,5 @@ export {
39
39
  linkAccounts,
40
40
  setActiveAccount,
41
41
  setupJazzTestSync,
42
+ MockConnectionStatus,
42
43
  } from "jazz-tools/testing";