@towns-labs/sdk 2.0.11 → 2.0.13

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 (508) hide show
  1. package/dist/client.d.ts +13 -31
  2. package/dist/client.d.ts.map +1 -1
  3. package/dist/client.js +113 -328
  4. package/dist/client.js.map +1 -1
  5. package/dist/clientDecryptionExtensions.d.ts.map +1 -1
  6. package/dist/clientDecryptionExtensions.js +10 -28
  7. package/dist/clientDecryptionExtensions.js.map +1 -1
  8. package/dist/createApp.d.ts +1 -1
  9. package/dist/createApp.d.ts.map +1 -1
  10. package/dist/createApp.js +6 -2
  11. package/dist/createApp.js.map +1 -1
  12. package/dist/id.d.ts +1 -17
  13. package/dist/id.d.ts.map +1 -1
  14. package/dist/id.js +1 -53
  15. package/dist/id.js.map +1 -1
  16. package/dist/index.d.ts +0 -22
  17. package/dist/index.d.ts.map +1 -1
  18. package/dist/index.js +0 -22
  19. package/dist/index.js.map +1 -1
  20. package/dist/migrations/snapshotMigration0001.d.ts.map +1 -1
  21. package/dist/migrations/snapshotMigration0001.js +0 -4
  22. package/dist/migrations/snapshotMigration0001.js.map +1 -1
  23. package/dist/migrations/snapshotMigration0002.d.ts.map +1 -1
  24. package/dist/migrations/snapshotMigration0002.js +1 -19
  25. package/dist/migrations/snapshotMigration0002.js.map +1 -1
  26. package/dist/migrations/snapshotMigration0004.d.ts.map +1 -1
  27. package/dist/migrations/snapshotMigration0004.js +1 -27
  28. package/dist/migrations/snapshotMigration0004.js.map +1 -1
  29. package/dist/migrations/snapshotMigration0005.d.ts.map +1 -1
  30. package/dist/migrations/snapshotMigration0005.js +1 -26
  31. package/dist/migrations/snapshotMigration0005.js.map +1 -1
  32. package/dist/notificationsClient.d.ts +1 -5
  33. package/dist/notificationsClient.d.ts.map +1 -1
  34. package/dist/notificationsClient.js +2 -103
  35. package/dist/notificationsClient.js.map +1 -1
  36. package/dist/persistenceStore.d.ts.map +1 -1
  37. package/dist/persistenceStore.js +6 -18
  38. package/dist/persistenceStore.js.map +1 -1
  39. package/dist/streamEvents.d.ts +0 -6
  40. package/dist/streamEvents.d.ts.map +1 -1
  41. package/dist/streamStateView.d.ts +0 -9
  42. package/dist/streamStateView.d.ts.map +1 -1
  43. package/dist/streamStateView.js +3 -64
  44. package/dist/streamStateView.js.map +1 -1
  45. package/dist/streamStateView_MemberMetadata.d.ts +3 -36
  46. package/dist/streamStateView_MemberMetadata.d.ts.map +1 -1
  47. package/dist/streamStateView_MemberMetadata.js +3 -83
  48. package/dist/streamStateView_MemberMetadata.js.map +1 -1
  49. package/dist/streamStateView_Members.d.ts +1 -5
  50. package/dist/streamStateView_Members.d.ts.map +1 -1
  51. package/dist/streamStateView_Members.js +4 -91
  52. package/dist/streamStateView_Members.js.map +1 -1
  53. package/dist/streamStateView_User.d.ts.map +1 -1
  54. package/dist/streamStateView_User.js +1 -0
  55. package/dist/streamStateView_User.js.map +1 -1
  56. package/dist/streamStateView_UserInbox.d.ts.map +1 -1
  57. package/dist/streamStateView_UserInbox.js +1 -0
  58. package/dist/streamStateView_UserInbox.js.map +1 -1
  59. package/dist/streamStateView_UserMetadata.d.ts.map +1 -1
  60. package/dist/streamStateView_UserMetadata.js +1 -0
  61. package/dist/streamStateView_UserMetadata.js.map +1 -1
  62. package/dist/streamStateView_UserSettings.d.ts.map +1 -1
  63. package/dist/streamStateView_UserSettings.js +9 -1
  64. package/dist/streamStateView_UserSettings.js.map +1 -1
  65. package/dist/streamUtils.d.ts.map +1 -1
  66. package/dist/streamUtils.js +0 -8
  67. package/dist/streamUtils.js.map +1 -1
  68. package/dist/sync/SyncedStreamsControllerLite.d.ts.map +1 -1
  69. package/dist/sync/SyncedStreamsControllerLite.js +7 -11
  70. package/dist/sync/SyncedStreamsControllerLite.js.map +1 -1
  71. package/dist/sync-agent/db.d.ts +1 -6
  72. package/dist/sync-agent/db.d.ts.map +1 -1
  73. package/dist/sync-agent/db.js +0 -10
  74. package/dist/sync-agent/db.js.map +1 -1
  75. package/dist/sync-agent/gdms/gdms.d.ts +5 -6
  76. package/dist/sync-agent/gdms/gdms.d.ts.map +1 -1
  77. package/dist/sync-agent/gdms/gdms.js +12 -27
  78. package/dist/sync-agent/gdms/gdms.js.map +1 -1
  79. package/dist/sync-agent/gdms/models/gdm.d.ts +10 -8
  80. package/dist/sync-agent/gdms/models/gdm.d.ts.map +1 -1
  81. package/dist/sync-agent/gdms/models/gdm.js +29 -34
  82. package/dist/sync-agent/gdms/models/gdm.js.map +1 -1
  83. package/dist/sync-agent/members/members.d.ts +6 -18
  84. package/dist/sync-agent/members/members.d.ts.map +1 -1
  85. package/dist/sync-agent/members/members.js +25 -124
  86. package/dist/sync-agent/members/members.js.map +1 -1
  87. package/dist/sync-agent/members/models/member.d.ts +3 -45
  88. package/dist/sync-agent/members/models/member.d.ts.map +1 -1
  89. package/dist/sync-agent/members/models/member.js +15 -114
  90. package/dist/sync-agent/members/models/member.js.map +1 -1
  91. package/dist/sync-agent/members/models/myself.d.ts +1 -11
  92. package/dist/sync-agent/members/models/myself.d.ts.map +1 -1
  93. package/dist/sync-agent/members/models/myself.js +1 -84
  94. package/dist/sync-agent/members/models/myself.js.map +1 -1
  95. package/dist/sync-agent/river-connection/riverConnection.d.ts +6 -17
  96. package/dist/sync-agent/river-connection/riverConnection.d.ts.map +1 -1
  97. package/dist/sync-agent/river-connection/riverConnection.js +30 -37
  98. package/dist/sync-agent/river-connection/riverConnection.js.map +1 -1
  99. package/dist/sync-agent/syncAgent.d.ts +11 -22
  100. package/dist/sync-agent/syncAgent.d.ts.map +1 -1
  101. package/dist/sync-agent/syncAgent.js +3 -20
  102. package/dist/sync-agent/syncAgent.js.map +1 -1
  103. package/dist/sync-agent/user/models/userInbox.d.ts +4 -17
  104. package/dist/sync-agent/user/models/userInbox.d.ts.map +1 -1
  105. package/dist/sync-agent/user/models/userInbox.js +14 -61
  106. package/dist/sync-agent/user/models/userInbox.js.map +1 -1
  107. package/dist/sync-agent/user/models/userMemberships.d.ts +6 -22
  108. package/dist/sync-agent/user/models/userMemberships.d.ts.map +1 -1
  109. package/dist/sync-agent/user/models/userMemberships.js +16 -68
  110. package/dist/sync-agent/user/models/userMemberships.js.map +1 -1
  111. package/dist/sync-agent/user/models/userMetadata.d.ts +4 -17
  112. package/dist/sync-agent/user/models/userMetadata.d.ts.map +1 -1
  113. package/dist/sync-agent/user/models/userMetadata.js +14 -61
  114. package/dist/sync-agent/user/models/userMetadata.js.map +1 -1
  115. package/dist/sync-agent/user/models/userSettings.d.ts +5 -8
  116. package/dist/sync-agent/user/models/userSettings.d.ts.map +1 -1
  117. package/dist/sync-agent/user/models/userSettings.js +15 -42
  118. package/dist/sync-agent/user/models/userSettings.js.map +1 -1
  119. package/dist/sync-agent/user/user.d.ts +2 -6
  120. package/dist/sync-agent/user/user.d.ts.map +1 -1
  121. package/dist/sync-agent/user/user.js +9 -20
  122. package/dist/sync-agent/user/user.js.map +1 -1
  123. package/dist/syncedStreamsExtension.d.ts.map +1 -1
  124. package/dist/syncedStreamsExtension.js +10 -22
  125. package/dist/syncedStreamsExtension.js.map +1 -1
  126. package/dist/syncedStreamsLoop.d.ts.map +1 -1
  127. package/dist/syncedStreamsLoop.js +4 -18
  128. package/dist/syncedStreamsLoop.js.map +1 -1
  129. package/dist/tests/bob_testUtils.d.ts.map +1 -1
  130. package/dist/tests/bob_testUtils.js +35 -69
  131. package/dist/tests/bob_testUtils.js.map +1 -1
  132. package/dist/tests/multi_ne/aliceAndFriends10for10.test.js +1 -1
  133. package/dist/tests/multi_ne/aliceAndFriends10for10.test.js.map +1 -1
  134. package/dist/tests/multi_ne/aliceAndFriendslongAndRandom.test.js +1 -1
  135. package/dist/tests/multi_ne/aliceAndFriendslongAndRandom.test.js.map +1 -1
  136. package/dist/tests/multi_ne/bobFlushes.test.js.map +1 -1
  137. package/dist/tests/multi_ne/channels.test.js +6 -9
  138. package/dist/tests/multi_ne/channels.test.js.map +1 -1
  139. package/dist/tests/multi_ne/client.test.js +24 -98
  140. package/dist/tests/multi_ne/client.test.js.map +1 -1
  141. package/dist/tests/multi_ne/clientCrypto.test.js +3 -3
  142. package/dist/tests/multi_ne/clientCrypto.test.js.map +1 -1
  143. package/dist/tests/multi_ne/clientDecryptionExtensions.test.js +12 -47
  144. package/dist/tests/multi_ne/clientDecryptionExtensions.test.js.map +1 -1
  145. package/dist/tests/multi_ne/ephemeralEvents.test.js +1 -1
  146. package/dist/tests/multi_ne/ephemeralEvents.test.js.map +1 -1
  147. package/dist/tests/multi_ne/id.test.js +6 -20
  148. package/dist/tests/multi_ne/id.test.js.map +1 -1
  149. package/dist/tests/multi_ne/media.test.js +20 -61
  150. package/dist/tests/multi_ne/media.test.js.map +1 -1
  151. package/dist/tests/multi_ne/memberMetadata.test.d.ts +0 -3
  152. package/dist/tests/multi_ne/memberMetadata.test.d.ts.map +1 -1
  153. package/dist/tests/multi_ne/memberMetadata.test.js +14 -582
  154. package/dist/tests/multi_ne/memberMetadata.test.js.map +1 -1
  155. package/dist/tests/multi_ne/outboundGroupSession.test.js +15 -13
  156. package/dist/tests/multi_ne/outboundGroupSession.test.js.map +1 -1
  157. package/dist/tests/multi_ne/restart.test.js +11 -34
  158. package/dist/tests/multi_ne/restart.test.js.map +1 -1
  159. package/dist/tests/multi_ne/sign.test.js +2 -2
  160. package/dist/tests/multi_ne/sign.test.js.map +1 -1
  161. package/dist/tests/multi_ne/streamMembershipHardening.test.js +0 -3
  162. package/dist/tests/multi_ne/streamMembershipHardening.test.js.map +1 -1
  163. package/dist/tests/multi_ne/streamRpcClient.test.js +58 -349
  164. package/dist/tests/multi_ne/streamRpcClient.test.js.map +1 -1
  165. package/dist/tests/multi_ne/streamRpcClientSync.test.js +63 -124
  166. package/dist/tests/multi_ne/streamRpcClientSync.test.js.map +1 -1
  167. package/dist/tests/multi_ne/streamStateView_User.test.js +23 -20
  168. package/dist/tests/multi_ne/streamStateView_User.test.js.map +1 -1
  169. package/dist/tests/{multi/spaceDapp.test.d.ts → multi_ne/sync-agent/gdms.test.d.ts} +1 -1
  170. package/dist/tests/multi_ne/sync-agent/gdms.test.d.ts.map +1 -0
  171. package/dist/tests/multi_ne/sync-agent/gdms.test.js +34 -0
  172. package/dist/tests/multi_ne/sync-agent/gdms.test.js.map +1 -0
  173. package/dist/tests/{multi/legacySpace.test.d.ts → multi_ne/sync-agent/member.test.d.ts} +1 -1
  174. package/dist/tests/multi_ne/sync-agent/member.test.d.ts.map +1 -0
  175. package/dist/tests/multi_ne/sync-agent/member.test.js +31 -0
  176. package/dist/tests/multi_ne/sync-agent/member.test.js.map +1 -0
  177. package/dist/tests/{multi/disableSpace.test.d.ts → multi_ne/sync-agent/members.test.d.ts} +1 -1
  178. package/dist/tests/multi_ne/sync-agent/members.test.d.ts.map +1 -0
  179. package/dist/tests/multi_ne/sync-agent/members.test.js +40 -0
  180. package/dist/tests/multi_ne/sync-agent/members.test.js.map +1 -0
  181. package/dist/tests/multi_ne/sync-agent/riverConnection.test.d.ts +5 -0
  182. package/dist/tests/multi_ne/sync-agent/riverConnection.test.d.ts.map +1 -0
  183. package/dist/tests/multi_ne/sync-agent/riverConnection.test.js +39 -0
  184. package/dist/tests/multi_ne/sync-agent/riverConnection.test.js.map +1 -0
  185. package/dist/tests/multi_ne/sync-agent/streams.test.d.ts +5 -0
  186. package/dist/tests/multi_ne/sync-agent/streams.test.d.ts.map +1 -0
  187. package/dist/tests/multi_ne/sync-agent/streams.test.js +27 -0
  188. package/dist/tests/multi_ne/sync-agent/streams.test.js.map +1 -0
  189. package/dist/tests/multi_ne/sync-agent/syncAgent.test.d.ts +5 -0
  190. package/dist/tests/multi_ne/sync-agent/syncAgent.test.d.ts.map +1 -0
  191. package/dist/tests/multi_ne/sync-agent/syncAgent.test.js +66 -0
  192. package/dist/tests/multi_ne/sync-agent/syncAgent.test.js.map +1 -0
  193. package/dist/tests/multi_ne/sync-agent/syncAgents.test.d.ts +5 -0
  194. package/dist/tests/multi_ne/sync-agent/syncAgents.test.d.ts.map +1 -0
  195. package/dist/tests/multi_ne/sync-agent/syncAgents.test.js +117 -0
  196. package/dist/tests/multi_ne/sync-agent/syncAgents.test.js.map +1 -0
  197. package/dist/tests/multi_ne/sync-agent/timeline.test.d.ts +2 -0
  198. package/dist/tests/multi_ne/sync-agent/timeline.test.d.ts.map +1 -0
  199. package/dist/tests/multi_ne/sync-agent/timeline.test.js +155 -0
  200. package/dist/tests/multi_ne/sync-agent/timeline.test.js.map +1 -0
  201. package/dist/tests/multi_ne/sync-agent/user.test.d.ts +5 -0
  202. package/dist/tests/multi_ne/sync-agent/user.test.d.ts.map +1 -0
  203. package/dist/tests/multi_ne/sync-agent/user.test.js +53 -0
  204. package/dist/tests/multi_ne/sync-agent/user.test.js.map +1 -0
  205. package/dist/tests/multi_ne/syncWithBlocks.test.d.ts +3 -0
  206. package/dist/tests/multi_ne/syncWithBlocks.test.d.ts.map +1 -1
  207. package/dist/tests/multi_ne/syncWithBlocks.test.js +47 -77
  208. package/dist/tests/multi_ne/syncWithBlocks.test.js.map +1 -1
  209. package/dist/tests/multi_ne/syncedStream.test.js +1 -1
  210. package/dist/tests/multi_ne/syncedStream.test.js.map +1 -1
  211. package/dist/tests/multi_ne/syncedStreams.test.js +1 -1
  212. package/dist/tests/multi_ne/syncedStreams.test.js.map +1 -1
  213. package/dist/tests/multi_ne/userInboxMessage.test.js +4 -4
  214. package/dist/tests/multi_ne/userInboxMessage.test.js.map +1 -1
  215. package/dist/tests/multi_ne/userSettings.test.js +3 -16
  216. package/dist/tests/multi_ne/userSettings.test.js.map +1 -1
  217. package/dist/tests/multi_ne/workflows.test.js +22 -50
  218. package/dist/tests/multi_ne/workflows.test.js.map +1 -1
  219. package/dist/tests/testDriver_testUtils.d.ts.map +1 -1
  220. package/dist/tests/testDriver_testUtils.js +6 -22
  221. package/dist/tests/testDriver_testUtils.js.map +1 -1
  222. package/dist/tests/testUtils.d.ts +3 -104
  223. package/dist/tests/testUtils.d.ts.map +1 -1
  224. package/dist/tests/testUtils.js +6 -625
  225. package/dist/tests/testUtils.js.map +1 -1
  226. package/dist/tests/unit/snapshotMigration0001.test.js +4 -20
  227. package/dist/tests/unit/snapshotMigration0001.test.js.map +1 -1
  228. package/dist/tests/unit/snapshotMigration0004.test.js +5 -43
  229. package/dist/tests/unit/snapshotMigration0004.test.js.map +1 -1
  230. package/dist/tests/unit/snapshotMigration0005.test.js +5 -43
  231. package/dist/tests/unit/snapshotMigration0005.test.js.map +1 -1
  232. package/dist/tests/unit/streamUtils.test.js +21 -22
  233. package/dist/tests/unit/streamUtils.test.js.map +1 -1
  234. package/dist/tests/unit/tags.test.js +5 -7
  235. package/dist/tests/unit/tags.test.js.map +1 -1
  236. package/dist/types.d.ts +1 -21
  237. package/dist/types.d.ts.map +1 -1
  238. package/dist/types.js +2 -231
  239. package/dist/types.js.map +1 -1
  240. package/dist/views/models/timelineEvent.d.ts.map +1 -1
  241. package/dist/views/models/timelineEvent.js +132 -157
  242. package/dist/views/models/timelineEvent.js.map +1 -1
  243. package/dist/views/models/timelineTypes.d.ts +51 -30
  244. package/dist/views/models/timelineTypes.d.ts.map +1 -1
  245. package/dist/views/models/timelineTypes.js +3 -4
  246. package/dist/views/models/timelineTypes.js.map +1 -1
  247. package/dist/views/streams/timelines.d.ts +1 -1
  248. package/dist/views/streams/timelines.d.ts.map +1 -1
  249. package/dist/views/streams/timelines.js +3 -3
  250. package/dist/views/streams/timelines.js.map +1 -1
  251. package/dist/views/streams/userInboxStreams.d.ts +3 -0
  252. package/dist/views/streams/userInboxStreams.d.ts.map +1 -1
  253. package/dist/views/streams/userInboxStreams.js +15 -4
  254. package/dist/views/streams/userInboxStreams.js.map +1 -1
  255. package/dist/views/streams/userMetadataStreams.d.ts +3 -0
  256. package/dist/views/streams/userMetadataStreams.d.ts.map +1 -1
  257. package/dist/views/streams/userMetadataStreams.js +15 -4
  258. package/dist/views/streams/userMetadataStreams.js.map +1 -1
  259. package/dist/views/streams/userSettingsStreams.d.ts +3 -0
  260. package/dist/views/streams/userSettingsStreams.d.ts.map +1 -1
  261. package/dist/views/streams/userSettingsStreams.js +17 -6
  262. package/dist/views/streams/userSettingsStreams.js.map +1 -1
  263. package/dist/views/streams/userStreamsView.d.ts +3 -0
  264. package/dist/views/streams/userStreamsView.d.ts.map +1 -1
  265. package/dist/views/streams/userStreamsView.js +21 -10
  266. package/dist/views/streams/userStreamsView.js.map +1 -1
  267. package/dist/views/streamsView.d.ts +0 -6
  268. package/dist/views/streamsView.d.ts.map +1 -1
  269. package/dist/views/streamsView.js +0 -11
  270. package/dist/views/streamsView.js.map +1 -1
  271. package/dist/views/transforms/dmsAndGdmsTransform.d.ts +0 -2
  272. package/dist/views/transforms/dmsAndGdmsTransform.d.ts.map +1 -1
  273. package/dist/views/transforms/dmsAndGdmsTransform.js +1 -26
  274. package/dist/views/transforms/dmsAndGdmsTransform.js.map +1 -1
  275. package/dist/views/transforms/dmsAndGdmsUnreadIdsTransform.d.ts +1 -2
  276. package/dist/views/transforms/dmsAndGdmsUnreadIdsTransform.d.ts.map +1 -1
  277. package/dist/views/transforms/dmsAndGdmsUnreadIdsTransform.js +2 -5
  278. package/dist/views/transforms/dmsAndGdmsUnreadIdsTransform.js.map +1 -1
  279. package/dist/views/transforms/spaceIdsTransform.d.ts +1 -1
  280. package/dist/views/transforms/spaceIdsTransform.d.ts.map +1 -1
  281. package/dist/views/transforms/spaceIdsTransform.js +3 -10
  282. package/dist/views/transforms/spaceIdsTransform.js.map +1 -1
  283. package/dist/views/transforms/spaceMentionsTransform.d.ts.map +1 -1
  284. package/dist/views/transforms/spaceMentionsTransform.js +13 -14
  285. package/dist/views/transforms/spaceMentionsTransform.js.map +1 -1
  286. package/dist/views/transforms/spaceUnreadsTransform.d.ts.map +1 -1
  287. package/dist/views/transforms/spaceUnreadsTransform.js +21 -22
  288. package/dist/views/transforms/spaceUnreadsTransform.js.map +1 -1
  289. package/dist/views/transforms/unreadMarkersTransform.js +2 -4
  290. package/dist/views/transforms/unreadMarkersTransform.js.map +1 -1
  291. package/package.json +10 -9
  292. package/dist/memberMetadata_DisplayNames.d.ts +0 -26
  293. package/dist/memberMetadata_DisplayNames.d.ts.map +0 -1
  294. package/dist/memberMetadata_DisplayNames.js +0 -95
  295. package/dist/memberMetadata_DisplayNames.js.map +0 -1
  296. package/dist/memberMetadata_EnsAddresses.d.ts +0 -25
  297. package/dist/memberMetadata_EnsAddresses.d.ts.map +0 -1
  298. package/dist/memberMetadata_EnsAddresses.js +0 -86
  299. package/dist/memberMetadata_EnsAddresses.js.map +0 -1
  300. package/dist/memberMetadata_Nft.d.ts +0 -31
  301. package/dist/memberMetadata_Nft.d.ts.map +0 -1
  302. package/dist/memberMetadata_Nft.js +0 -95
  303. package/dist/memberMetadata_Nft.js.map +0 -1
  304. package/dist/memberMetadata_Usernames.d.ts +0 -35
  305. package/dist/memberMetadata_Usernames.d.ts.map +0 -1
  306. package/dist/memberMetadata_Usernames.js +0 -162
  307. package/dist/memberMetadata_Usernames.js.map +0 -1
  308. package/dist/streamStateView_Channel.d.ts +0 -16
  309. package/dist/streamStateView_Channel.d.ts.map +0 -1
  310. package/dist/streamStateView_Channel.js +0 -76
  311. package/dist/streamStateView_Channel.js.map +0 -1
  312. package/dist/streamStateView_DMChannel.d.ts +0 -25
  313. package/dist/streamStateView_DMChannel.d.ts.map +0 -1
  314. package/dist/streamStateView_DMChannel.js +0 -114
  315. package/dist/streamStateView_DMChannel.js.map +0 -1
  316. package/dist/streamStateView_Space.d.ts +0 -31
  317. package/dist/streamStateView_Space.d.ts.map +0 -1
  318. package/dist/streamStateView_Space.js +0 -193
  319. package/dist/streamStateView_Space.js.map +0 -1
  320. package/dist/sync-agent/dms/dms.d.ts +0 -24
  321. package/dist/sync-agent/dms/dms.d.ts.map +0 -1
  322. package/dist/sync-agent/dms/dms.js +0 -60
  323. package/dist/sync-agent/dms/dms.js.map +0 -1
  324. package/dist/sync-agent/dms/models/dm.d.ts +0 -74
  325. package/dist/sync-agent/dms/models/dm.d.ts.map +0 -1
  326. package/dist/sync-agent/dms/models/dm.js +0 -149
  327. package/dist/sync-agent/dms/models/dm.js.map +0 -1
  328. package/dist/sync-agent/river-connection/models/transactionalClient.d.ts +0 -11
  329. package/dist/sync-agent/river-connection/models/transactionalClient.d.ts.map +0 -1
  330. package/dist/sync-agent/river-connection/models/transactionalClient.js +0 -14
  331. package/dist/sync-agent/river-connection/models/transactionalClient.js.map +0 -1
  332. package/dist/sync-agent/spaces/models/channel.d.ts +0 -121
  333. package/dist/sync-agent/spaces/models/channel.d.ts.map +0 -1
  334. package/dist/sync-agent/spaces/models/channel.js +0 -182
  335. package/dist/sync-agent/spaces/models/channel.js.map +0 -1
  336. package/dist/sync-agent/spaces/models/space.d.ts +0 -57
  337. package/dist/sync-agent/spaces/models/space.d.ts.map +0 -1
  338. package/dist/sync-agent/spaces/models/space.js +0 -125
  339. package/dist/sync-agent/spaces/models/space.js.map +0 -1
  340. package/dist/sync-agent/spaces/spaces.d.ts +0 -28
  341. package/dist/sync-agent/spaces/spaces.d.ts.map +0 -1
  342. package/dist/sync-agent/spaces/spaces.js +0 -71
  343. package/dist/sync-agent/spaces/spaces.js.map +0 -1
  344. package/dist/tests/multi/channelSpaceSettings.test.d.ts +0 -5
  345. package/dist/tests/multi/channelSpaceSettings.test.d.ts.map +0 -1
  346. package/dist/tests/multi/channelSpaceSettings.test.js +0 -204
  347. package/dist/tests/multi/channelSpaceSettings.test.js.map +0 -1
  348. package/dist/tests/multi/disableChannel.test.d.ts +0 -5
  349. package/dist/tests/multi/disableChannel.test.d.ts.map +0 -1
  350. package/dist/tests/multi/disableChannel.test.js +0 -30
  351. package/dist/tests/multi/disableChannel.test.js.map +0 -1
  352. package/dist/tests/multi/disableSpace.test.d.ts.map +0 -1
  353. package/dist/tests/multi/disableSpace.test.js +0 -37
  354. package/dist/tests/multi/disableSpace.test.js.map +0 -1
  355. package/dist/tests/multi/entitlements/channelEntitlementPermissions.test.d.ts +0 -5
  356. package/dist/tests/multi/entitlements/channelEntitlementPermissions.test.d.ts.map +0 -1
  357. package/dist/tests/multi/entitlements/channelEntitlementPermissions.test.js +0 -129
  358. package/dist/tests/multi/entitlements/channelEntitlementPermissions.test.js.map +0 -1
  359. package/dist/tests/multi/entitlements/channelWithThreeNestedEntitlement.test.d.ts +0 -5
  360. package/dist/tests/multi/entitlements/channelWithThreeNestedEntitlement.test.d.ts.map +0 -1
  361. package/dist/tests/multi/entitlements/channelWithThreeNestedEntitlement.test.js +0 -44
  362. package/dist/tests/multi/entitlements/channelWithThreeNestedEntitlement.test.js.map +0 -1
  363. package/dist/tests/multi/entitlements/channelsWithComplexEntitlements.test.d.ts +0 -5
  364. package/dist/tests/multi/entitlements/channelsWithComplexEntitlements.test.d.ts.map +0 -1
  365. package/dist/tests/multi/entitlements/channelsWithComplexEntitlements.test.js +0 -125
  366. package/dist/tests/multi/entitlements/channelsWithComplexEntitlements.test.js.map +0 -1
  367. package/dist/tests/multi/entitlements/channelsWithEntitlementLoss.test.d.ts +0 -5
  368. package/dist/tests/multi/entitlements/channelsWithEntitlementLoss.test.d.ts.map +0 -1
  369. package/dist/tests/multi/entitlements/channelsWithEntitlementLoss.test.js +0 -72
  370. package/dist/tests/multi/entitlements/channelsWithEntitlementLoss.test.js.map +0 -1
  371. package/dist/tests/multi/entitlements/channelsWithEntitlements.test.d.ts +0 -5
  372. package/dist/tests/multi/entitlements/channelsWithEntitlements.test.d.ts.map +0 -1
  373. package/dist/tests/multi/entitlements/channelsWithEntitlements.test.js +0 -57
  374. package/dist/tests/multi/entitlements/channelsWithEntitlements.test.js.map +0 -1
  375. package/dist/tests/multi/entitlements/channelsWithErc20Entitlements.test.d.ts +0 -5
  376. package/dist/tests/multi/entitlements/channelsWithErc20Entitlements.test.d.ts.map +0 -1
  377. package/dist/tests/multi/entitlements/channelsWithErc20Entitlements.test.js +0 -86
  378. package/dist/tests/multi/entitlements/channelsWithErc20Entitlements.test.js.map +0 -1
  379. package/dist/tests/multi/entitlements/channelsWithErc721Entitlements.test.d.ts +0 -5
  380. package/dist/tests/multi/entitlements/channelsWithErc721Entitlements.test.d.ts.map +0 -1
  381. package/dist/tests/multi/entitlements/channelsWithErc721Entitlements.test.js +0 -69
  382. package/dist/tests/multi/entitlements/channelsWithErc721Entitlements.test.js.map +0 -1
  383. package/dist/tests/multi/entitlements/channelsWithEthBalanceEntitlements.test.d.ts +0 -5
  384. package/dist/tests/multi/entitlements/channelsWithEthBalanceEntitlements.test.d.ts.map +0 -1
  385. package/dist/tests/multi/entitlements/channelsWithEthBalanceEntitlements.test.js +0 -145
  386. package/dist/tests/multi/entitlements/channelsWithEthBalanceEntitlements.test.js.map +0 -1
  387. package/dist/tests/multi/entitlements/channelsWithUserEntitlements.test.d.ts +0 -5
  388. package/dist/tests/multi/entitlements/channelsWithUserEntitlements.test.d.ts.map +0 -1
  389. package/dist/tests/multi/entitlements/channelsWithUserEntitlements.test.js +0 -53
  390. package/dist/tests/multi/entitlements/channelsWithUserEntitlements.test.js.map +0 -1
  391. package/dist/tests/multi/entitlements/membershipRenewals.test.d.ts +0 -5
  392. package/dist/tests/multi/entitlements/membershipRenewals.test.d.ts.map +0 -1
  393. package/dist/tests/multi/entitlements/membershipRenewals.test.js +0 -150
  394. package/dist/tests/multi/entitlements/membershipRenewals.test.js.map +0 -1
  395. package/dist/tests/multi/entitlements/spaceWithComplexEntitlements.test.d.ts +0 -5
  396. package/dist/tests/multi/entitlements/spaceWithComplexEntitlements.test.d.ts.map +0 -1
  397. package/dist/tests/multi/entitlements/spaceWithComplexEntitlements.test.js +0 -131
  398. package/dist/tests/multi/entitlements/spaceWithComplexEntitlements.test.js.map +0 -1
  399. package/dist/tests/multi/entitlements/spaceWithEntitlements.test.d.ts +0 -5
  400. package/dist/tests/multi/entitlements/spaceWithEntitlements.test.d.ts.map +0 -1
  401. package/dist/tests/multi/entitlements/spaceWithEntitlements.test.js +0 -109
  402. package/dist/tests/multi/entitlements/spaceWithEntitlements.test.js.map +0 -1
  403. package/dist/tests/multi/entitlements/spaceWithErc20Entitlements.test.d.ts +0 -5
  404. package/dist/tests/multi/entitlements/spaceWithErc20Entitlements.test.d.ts.map +0 -1
  405. package/dist/tests/multi/entitlements/spaceWithErc20Entitlements.test.js +0 -103
  406. package/dist/tests/multi/entitlements/spaceWithErc20Entitlements.test.js.map +0 -1
  407. package/dist/tests/multi/entitlements/spaceWithErc721Entitlements.test.d.ts +0 -5
  408. package/dist/tests/multi/entitlements/spaceWithErc721Entitlements.test.d.ts.map +0 -1
  409. package/dist/tests/multi/entitlements/spaceWithErc721Entitlements.test.js +0 -84
  410. package/dist/tests/multi/entitlements/spaceWithErc721Entitlements.test.js.map +0 -1
  411. package/dist/tests/multi/entitlements/spaceWithEthBalanceEntitlements.test.d.ts +0 -5
  412. package/dist/tests/multi/entitlements/spaceWithEthBalanceEntitlements.test.d.ts.map +0 -1
  413. package/dist/tests/multi/entitlements/spaceWithEthBalanceEntitlements.test.js +0 -168
  414. package/dist/tests/multi/entitlements/spaceWithEthBalanceEntitlements.test.js.map +0 -1
  415. package/dist/tests/multi/entitlements/spaceWithThreeNestedEntitlement.test.d.ts +0 -5
  416. package/dist/tests/multi/entitlements/spaceWithThreeNestedEntitlement.test.d.ts.map +0 -1
  417. package/dist/tests/multi/entitlements/spaceWithThreeNestedEntitlement.test.js +0 -45
  418. package/dist/tests/multi/entitlements/spaceWithThreeNestedEntitlement.test.js.map +0 -1
  419. package/dist/tests/multi/entitlements/spaceWithUserEntitlements.test.d.ts +0 -5
  420. package/dist/tests/multi/entitlements/spaceWithUserEntitlements.test.d.ts.map +0 -1
  421. package/dist/tests/multi/entitlements/spaceWithUserEntitlements.test.js +0 -79
  422. package/dist/tests/multi/entitlements/spaceWithUserEntitlements.test.js.map +0 -1
  423. package/dist/tests/multi/legacySpace.test.d.ts.map +0 -1
  424. package/dist/tests/multi/legacySpace.test.js +0 -48
  425. package/dist/tests/multi/legacySpace.test.js.map +0 -1
  426. package/dist/tests/multi/mediaWithEntitlements.test.d.ts +0 -5
  427. package/dist/tests/multi/mediaWithEntitlements.test.d.ts.map +0 -1
  428. package/dist/tests/multi/mediaWithEntitlements.test.js +0 -152
  429. package/dist/tests/multi/mediaWithEntitlements.test.js.map +0 -1
  430. package/dist/tests/multi/membershipManagement.test.d.ts +0 -5
  431. package/dist/tests/multi/membershipManagement.test.d.ts.map +0 -1
  432. package/dist/tests/multi/membershipManagement.test.js +0 -76
  433. package/dist/tests/multi/membershipManagement.test.js.map +0 -1
  434. package/dist/tests/multi/riverAirdropDapp.test.d.ts +0 -5
  435. package/dist/tests/multi/riverAirdropDapp.test.d.ts.map +0 -1
  436. package/dist/tests/multi/riverAirdropDapp.test.js +0 -43
  437. package/dist/tests/multi/riverAirdropDapp.test.js.map +0 -1
  438. package/dist/tests/multi/spaceDapp.test.d.ts.map +0 -1
  439. package/dist/tests/multi/spaceDapp.test.js +0 -61
  440. package/dist/tests/multi/spaceDapp.test.js.map +0 -1
  441. package/dist/tests/multi/spaceWithVariousPriceConfigurations.test.d.ts +0 -2
  442. package/dist/tests/multi/spaceWithVariousPriceConfigurations.test.d.ts.map +0 -1
  443. package/dist/tests/multi/spaceWithVariousPriceConfigurations.test.js +0 -63
  444. package/dist/tests/multi/spaceWithVariousPriceConfigurations.test.js.map +0 -1
  445. package/dist/tests/multi/withEntitlements.test.d.ts +0 -5
  446. package/dist/tests/multi/withEntitlements.test.d.ts.map +0 -1
  447. package/dist/tests/multi/withEntitlements.test.js +0 -125
  448. package/dist/tests/multi/withEntitlements.test.js.map +0 -1
  449. package/dist/tests/multi_ne/dms.test.d.ts +0 -5
  450. package/dist/tests/multi_ne/dms.test.d.ts.map +0 -1
  451. package/dist/tests/multi_ne/dms.test.js +0 -131
  452. package/dist/tests/multi_ne/dms.test.js.map +0 -1
  453. package/dist/tests/multi_ne/memberMetadata_DisplayNames.test.d.ts +0 -5
  454. package/dist/tests/multi_ne/memberMetadata_DisplayNames.test.d.ts.map +0 -1
  455. package/dist/tests/multi_ne/memberMetadata_DisplayNames.test.js +0 -54
  456. package/dist/tests/multi_ne/memberMetadata_DisplayNames.test.js.map +0 -1
  457. package/dist/tests/multi_ne/memberMetadata_EnsAddresses.test.d.ts +0 -5
  458. package/dist/tests/multi_ne/memberMetadata_EnsAddresses.test.d.ts.map +0 -1
  459. package/dist/tests/multi_ne/memberMetadata_EnsAddresses.test.js +0 -37
  460. package/dist/tests/multi_ne/memberMetadata_EnsAddresses.test.js.map +0 -1
  461. package/dist/tests/multi_ne/memberMetadata_Nft.test.d.ts +0 -5
  462. package/dist/tests/multi_ne/memberMetadata_Nft.test.d.ts.map +0 -1
  463. package/dist/tests/multi_ne/memberMetadata_Nft.test.js +0 -49
  464. package/dist/tests/multi_ne/memberMetadata_Nft.test.js.map +0 -1
  465. package/dist/tests/multi_ne/memberMetadata_Usernames.test.d.ts +0 -5
  466. package/dist/tests/multi_ne/memberMetadata_Usernames.test.d.ts.map +0 -1
  467. package/dist/tests/multi_ne/memberMetadata_Usernames.test.js +0 -126
  468. package/dist/tests/multi_ne/memberMetadata_Usernames.test.js.map +0 -1
  469. package/dist/tests/multi_ne/space.test.d.ts +0 -5
  470. package/dist/tests/multi_ne/space.test.d.ts.map +0 -1
  471. package/dist/tests/multi_ne/space.test.js +0 -284
  472. package/dist/tests/multi_ne/space.test.js.map +0 -1
  473. package/dist/tests/multi_v2/entitlements/channelsWithCrossChainEntitlements.test.d.ts +0 -6
  474. package/dist/tests/multi_v2/entitlements/channelsWithCrossChainEntitlements.test.d.ts.map +0 -1
  475. package/dist/tests/multi_v2/entitlements/channelsWithCrossChainEntitlements.test.js +0 -78
  476. package/dist/tests/multi_v2/entitlements/channelsWithCrossChainEntitlements.test.js.map +0 -1
  477. package/dist/tests/multi_v2/entitlements/channelsWithErc1155Entitlement.test.d.ts +0 -6
  478. package/dist/tests/multi_v2/entitlements/channelsWithErc1155Entitlement.test.d.ts.map +0 -1
  479. package/dist/tests/multi_v2/entitlements/channelsWithErc1155Entitlement.test.js +0 -89
  480. package/dist/tests/multi_v2/entitlements/channelsWithErc1155Entitlement.test.js.map +0 -1
  481. package/dist/tests/multi_v2/entitlements/spaceWithCrossChainEntitlements.test.d.ts +0 -6
  482. package/dist/tests/multi_v2/entitlements/spaceWithCrossChainEntitlements.test.d.ts.map +0 -1
  483. package/dist/tests/multi_v2/entitlements/spaceWithCrossChainEntitlements.test.js +0 -88
  484. package/dist/tests/multi_v2/entitlements/spaceWithCrossChainEntitlements.test.js.map +0 -1
  485. package/dist/tests/multi_v2/entitlements/spaceWithErc1155Entitlements.test.d.ts +0 -6
  486. package/dist/tests/multi_v2/entitlements/spaceWithErc1155Entitlements.test.d.ts.map +0 -1
  487. package/dist/tests/multi_v2/entitlements/spaceWithErc1155Entitlements.test.js +0 -105
  488. package/dist/tests/multi_v2/entitlements/spaceWithErc1155Entitlements.test.js.map +0 -1
  489. package/dist/tests/multi_v2/updateRole.test.d.ts +0 -5
  490. package/dist/tests/multi_v2/updateRole.test.d.ts.map +0 -1
  491. package/dist/tests/multi_v2/updateRole.test.js +0 -25
  492. package/dist/tests/multi_v2/updateRole.test.js.map +0 -1
  493. package/dist/tests/unit/snapshotMigration0002.test.d.ts +0 -2
  494. package/dist/tests/unit/snapshotMigration0002.test.d.ts.map +0 -1
  495. package/dist/tests/unit/snapshotMigration0002.test.js +0 -31
  496. package/dist/tests/unit/snapshotMigration0002.test.js.map +0 -1
  497. package/dist/views/streams/channelStreams.d.ts +0 -8
  498. package/dist/views/streams/channelStreams.d.ts.map +0 -1
  499. package/dist/views/streams/channelStreams.js +0 -9
  500. package/dist/views/streams/channelStreams.js.map +0 -1
  501. package/dist/views/streams/dmStreams.d.ts +0 -13
  502. package/dist/views/streams/dmStreams.d.ts.map +0 -1
  503. package/dist/views/streams/dmStreams.js +0 -33
  504. package/dist/views/streams/dmStreams.js.map +0 -1
  505. package/dist/views/streams/spaceStreams.d.ts +0 -17
  506. package/dist/views/streams/spaceStreams.d.ts.map +0 -1
  507. package/dist/views/streams/spaceStreams.js +0 -52
  508. package/dist/views/streams/spaceStreams.js.map +0 -1
@@ -1,54 +0,0 @@
1
- /**
2
- * @group main
3
- */
4
- import { EncryptedDataSchema } from '@towns-labs/proto';
5
- import { MemberMetadata_DisplayNames } from '../../memberMetadata_DisplayNames';
6
- import { create } from '@bufbuild/protobuf';
7
- describe('memberMetadata_DisplayNamesTests', () => {
8
- const streamId = 'streamid1';
9
- let displayNames;
10
- beforeEach(() => {
11
- displayNames = new MemberMetadata_DisplayNames(streamId);
12
- });
13
- test('clientCanSetDisplayName', async () => {
14
- const displayName = 'Bob Display Name';
15
- const encryptedData = create(EncryptedDataSchema, {
16
- ciphertext: displayName,
17
- });
18
- displayNames.addEncryptedData('eventid-1', encryptedData, 'userid-1', true, undefined, undefined, undefined);
19
- // the plaintext map is empty until we've decrypted the display name
20
- expect(displayNames.plaintextDisplayNames).toEqual(new Map([]));
21
- displayNames.onDecryptedContent('eventid-1', displayName);
22
- expect(displayNames.plaintextDisplayNames).toEqual(new Map([['userid-1', displayName]]));
23
- });
24
- test('clientCanUseSameDisplayName', async () => {
25
- const displayName = 'Bob Display Name';
26
- const encryptedData = create(EncryptedDataSchema, {
27
- ciphertext: displayName,
28
- });
29
- displayNames.addEncryptedData('eventid-1', encryptedData, 'userid-1', true, undefined, undefined, undefined);
30
- displayNames.addEncryptedData('eventid-2', encryptedData, 'userid-2', true, undefined, undefined, undefined);
31
- expect(displayNames.plaintextDisplayNames).toEqual(new Map([]));
32
- displayNames.onDecryptedContent('eventid-1', displayName);
33
- displayNames.onDecryptedContent('eventid-2', displayName);
34
- // the plaintext map now contains two entries, one for each user
35
- // using the same display name
36
- expect(displayNames.plaintextDisplayNames).toEqual(new Map([
37
- ['userid-1', displayName],
38
- ['userid-2', displayName],
39
- ]));
40
- });
41
- test('encryptedFlagsAreReturnedWhenEncrypted', async () => {
42
- const displayName = 'bob-username1';
43
- const encryptedData = create(EncryptedDataSchema, {
44
- ciphertext: displayName,
45
- });
46
- displayNames.addEncryptedData('eventid-1', encryptedData, 'userid-1', true, undefined, undefined, undefined);
47
- const info = displayNames.info('userid-1');
48
- expect(info.displayNameEncrypted).toEqual(true);
49
- displayNames.onDecryptedContent('eventid-1', displayName);
50
- const infoAfterDecrypt = displayNames.info('userid-1');
51
- expect(infoAfterDecrypt.displayNameEncrypted).toEqual(false);
52
- });
53
- });
54
- //# sourceMappingURL=memberMetadata_DisplayNames.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"memberMetadata_DisplayNames.test.js","sourceRoot":"","sources":["../../../src/tests/multi_ne/memberMetadata_DisplayNames.test.ts"],"names":[],"mappings":"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"}
@@ -1,5 +0,0 @@
1
- /**
2
- * @group main
3
- */
4
- export {};
5
- //# sourceMappingURL=memberMetadata_EnsAddresses.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"memberMetadata_EnsAddresses.test.d.ts","sourceRoot":"","sources":["../../../src/tests/multi_ne/memberMetadata_EnsAddresses.test.ts"],"names":[],"mappings":"AAAA;;GAEG"}
@@ -1,37 +0,0 @@
1
- /**
2
- * @group main
3
- */
4
- import { userIdFromAddress } from '../../id';
5
- import { MemberMetadata_EnsAddresses } from '../../memberMetadata_EnsAddresses';
6
- import { makeRandomUserAddress } from '../testUtils';
7
- describe('memberMetadata_EnsAddressesTests', () => {
8
- const streamId = 'streamid1';
9
- let ensAddresses;
10
- beforeEach(() => {
11
- ensAddresses = new MemberMetadata_EnsAddresses(streamId);
12
- });
13
- test('clientCanSetEnsAddress', async () => {
14
- const ensAddress = makeRandomUserAddress();
15
- ensAddresses.addEnsAddressEvent('event-id-1', ensAddress, 'userid-1', true, undefined);
16
- // the plaintext map is empty until the event is no longer pending
17
- expect(ensAddresses.confirmedEnsAddresses).toEqual(new Map([]));
18
- ensAddresses.onConfirmEvent('event-id-1');
19
- // event confirmed, now it exists in the map
20
- expect(ensAddresses.confirmedEnsAddresses).toEqual(new Map([['userid-1', userIdFromAddress(ensAddress)]]));
21
- });
22
- test('clientCanClearEnsAddress', async () => {
23
- const ensAddress = makeRandomUserAddress();
24
- ensAddresses.addEnsAddressEvent('event-id-1', ensAddress, 'userid-1', true, undefined);
25
- // the plaintext map is empty until the event is no longer pending
26
- expect(ensAddresses.confirmedEnsAddresses).toEqual(new Map([]));
27
- ensAddresses.onConfirmEvent('event-id-1');
28
- // event confirmed, now it exists in the map
29
- expect(ensAddresses.confirmedEnsAddresses).toEqual(new Map([['userid-1', userIdFromAddress(ensAddress)]]));
30
- const clearAddress = new Uint8Array();
31
- ensAddresses.addEnsAddressEvent('event-id-2', clearAddress, 'userid-1', true, undefined);
32
- ensAddresses.onConfirmEvent('event-id-2');
33
- // clear event confirmed, map should be empty
34
- expect(ensAddresses.confirmedEnsAddresses).toEqual(new Map([]));
35
- });
36
- });
37
- //# sourceMappingURL=memberMetadata_EnsAddresses.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"memberMetadata_EnsAddresses.test.js","sourceRoot":"","sources":["../../../src/tests/multi_ne/memberMetadata_EnsAddresses.test.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAA;AAC5C,OAAO,EAAE,2BAA2B,EAAE,MAAM,mCAAmC,CAAA;AAC/E,OAAO,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAA;AAEpD,QAAQ,CAAC,kCAAkC,EAAE,GAAG,EAAE;IAC9C,MAAM,QAAQ,GAAG,WAAW,CAAA;IAC5B,IAAI,YAAyC,CAAA;IAC7C,UAAU,CAAC,GAAG,EAAE;QACZ,YAAY,GAAG,IAAI,2BAA2B,CAAC,QAAQ,CAAC,CAAA;IAC5D,CAAC,CAAC,CAAA;IAEF,IAAI,CAAC,wBAAwB,EAAE,KAAK,IAAI,EAAE;QACtC,MAAM,UAAU,GAAG,qBAAqB,EAAE,CAAA;QAC1C,YAAY,CAAC,kBAAkB,CAAC,YAAY,EAAE,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,SAAS,CAAC,CAAA;QAEtF,kEAAkE;QAClE,MAAM,CAAC,YAAY,CAAC,qBAAqB,CAAC,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,CAAA;QAC/D,YAAY,CAAC,cAAc,CAAC,YAAY,CAAC,CAAA;QACzC,4CAA4C;QAC5C,MAAM,CAAC,YAAY,CAAC,qBAAqB,CAAC,CAAC,OAAO,CAC9C,IAAI,GAAG,CAAC,CAAC,CAAC,UAAU,EAAE,iBAAiB,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CACzD,CAAA;IACL,CAAC,CAAC,CAAA;IAEF,IAAI,CAAC,0BAA0B,EAAE,KAAK,IAAI,EAAE;QACxC,MAAM,UAAU,GAAG,qBAAqB,EAAE,CAAA;QAC1C,YAAY,CAAC,kBAAkB,CAAC,YAAY,EAAE,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,SAAS,CAAC,CAAA;QAEtF,kEAAkE;QAClE,MAAM,CAAC,YAAY,CAAC,qBAAqB,CAAC,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,CAAA;QAC/D,YAAY,CAAC,cAAc,CAAC,YAAY,CAAC,CAAA;QACzC,4CAA4C;QAC5C,MAAM,CAAC,YAAY,CAAC,qBAAqB,CAAC,CAAC,OAAO,CAC9C,IAAI,GAAG,CAAC,CAAC,CAAC,UAAU,EAAE,iBAAiB,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CACzD,CAAA;QAED,MAAM,YAAY,GAAG,IAAI,UAAU,EAAE,CAAA;QACrC,YAAY,CAAC,kBAAkB,CAAC,YAAY,EAAE,YAAY,EAAE,UAAU,EAAE,IAAI,EAAE,SAAS,CAAC,CAAA;QACxF,YAAY,CAAC,cAAc,CAAC,YAAY,CAAC,CAAA;QACzC,6CAA6C;QAC7C,MAAM,CAAC,YAAY,CAAC,qBAAqB,CAAC,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,CAAA;IACnE,CAAC,CAAC,CAAA;AACN,CAAC,CAAC,CAAA"}
@@ -1,5 +0,0 @@
1
- /**
2
- * @group main
3
- */
4
- export {};
5
- //# sourceMappingURL=memberMetadata_Nft.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"memberMetadata_Nft.test.d.ts","sourceRoot":"","sources":["../../../src/tests/multi_ne/memberMetadata_Nft.test.ts"],"names":[],"mappings":"AAAA;;GAEG"}
@@ -1,49 +0,0 @@
1
- /**
2
- * @group main
3
- */
4
- import { MemberPayload_NftSchema } from '@towns-labs/proto';
5
- import { MemberMetadata_Nft } from '../../memberMetadata_Nft';
6
- import { makeRandomUserAddress } from '../testUtils';
7
- import { bin_fromString } from '@towns-labs/utils';
8
- import { create } from '@bufbuild/protobuf';
9
- describe('memberMetadata_NftTests', () => {
10
- const streamId = 'streamid1';
11
- let nfts;
12
- beforeEach(() => {
13
- nfts = new MemberMetadata_Nft(streamId);
14
- });
15
- test('clientCanSetNft', async () => {
16
- const tokenId = bin_fromString('11111111122222222223333333333');
17
- const nft = create(MemberPayload_NftSchema, {
18
- chainId: 1,
19
- contractAddress: makeRandomUserAddress(),
20
- tokenId: tokenId,
21
- });
22
- nfts.addNftEvent('event-id-1', nft, 'userid-1', true, undefined);
23
- // the plaintext map is empty until the event is no longer pending
24
- expect(nfts.confirmedNfts).toEqual(new Map([]));
25
- nfts.onConfirmEvent('event-id-1');
26
- // event confirmed, now it exists in the map
27
- expect(nfts.confirmedNfts).toEqual(new Map([['userid-1', nft]]));
28
- const info = nfts.info('userid-1');
29
- expect(info.tokenId).toEqual('11111111122222222223333333333');
30
- });
31
- test('clientCanClearNft', async () => {
32
- const tokenId = bin_fromString('11111111122222222223333333333');
33
- const nft = create(MemberPayload_NftSchema, {
34
- chainId: 1,
35
- contractAddress: makeRandomUserAddress(),
36
- tokenId: tokenId,
37
- });
38
- nfts.addNftEvent('event-id-1', nft, 'userid-1', true, undefined);
39
- nfts.onConfirmEvent('event-id-1');
40
- // event confirmed, now it exists in the map
41
- expect(nfts.confirmedNfts).toEqual(new Map([['userid-1', nft]]));
42
- const clearNft = create(MemberPayload_NftSchema, {});
43
- nfts.addNftEvent('event-id-2', clearNft, 'userid-1', true, undefined);
44
- nfts.onConfirmEvent('event-id-2');
45
- // clear event confirmed, map should be empty
46
- expect(nfts.confirmedNfts).toEqual(new Map([]));
47
- });
48
- });
49
- //# sourceMappingURL=memberMetadata_Nft.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"memberMetadata_Nft.test.js","sourceRoot":"","sources":["../../../src/tests/multi_ne/memberMetadata_Nft.test.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,uBAAuB,EAAE,MAAM,mBAAmB,CAAA;AAC3D,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAA;AAC7D,OAAO,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAA;AACpD,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAClD,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAA;AAE3C,QAAQ,CAAC,yBAAyB,EAAE,GAAG,EAAE;IACrC,MAAM,QAAQ,GAAG,WAAW,CAAA;IAC5B,IAAI,IAAwB,CAAA;IAC5B,UAAU,CAAC,GAAG,EAAE;QACZ,IAAI,GAAG,IAAI,kBAAkB,CAAC,QAAQ,CAAC,CAAA;IAC3C,CAAC,CAAC,CAAA;IAEF,IAAI,CAAC,iBAAiB,EAAE,KAAK,IAAI,EAAE;QAC/B,MAAM,OAAO,GAAG,cAAc,CAAC,+BAA+B,CAAC,CAAA;QAC/D,MAAM,GAAG,GAAG,MAAM,CAAC,uBAAuB,EAAE;YACxC,OAAO,EAAE,CAAC;YACV,eAAe,EAAE,qBAAqB,EAAE;YACxC,OAAO,EAAE,OAAO;SACnB,CAAC,CAAA;QACF,IAAI,CAAC,WAAW,CAAC,YAAY,EAAE,GAAG,EAAE,UAAU,EAAE,IAAI,EAAE,SAAS,CAAC,CAAA;QAEhE,kEAAkE;QAClE,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,CAAA;QAC/C,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC,CAAA;QACjC,4CAA4C;QAC5C,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAA;QAEhE,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,CAAE,CAAA;QACnC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,+BAA+B,CAAC,CAAA;IACjE,CAAC,CAAC,CAAA;IAEF,IAAI,CAAC,mBAAmB,EAAE,KAAK,IAAI,EAAE;QACjC,MAAM,OAAO,GAAG,cAAc,CAAC,+BAA+B,CAAC,CAAA;QAC/D,MAAM,GAAG,GAAG,MAAM,CAAC,uBAAuB,EAAE;YACxC,OAAO,EAAE,CAAC;YACV,eAAe,EAAE,qBAAqB,EAAE;YACxC,OAAO,EAAE,OAAO;SACnB,CAAC,CAAA;QAEF,IAAI,CAAC,WAAW,CAAC,YAAY,EAAE,GAAG,EAAE,UAAU,EAAE,IAAI,EAAE,SAAS,CAAC,CAAA;QAChE,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC,CAAA;QACjC,4CAA4C;QAC5C,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAA;QAEhE,MAAM,QAAQ,GAAG,MAAM,CAAC,uBAAuB,EAAE,EAAE,CAAC,CAAA;QACpD,IAAI,CAAC,WAAW,CAAC,YAAY,EAAE,QAAQ,EAAE,UAAU,EAAE,IAAI,EAAE,SAAS,CAAC,CAAA;QACrE,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC,CAAA;QACjC,6CAA6C;QAC7C,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,CAAA;IACnD,CAAC,CAAC,CAAA;AACN,CAAC,CAAC,CAAA"}
@@ -1,5 +0,0 @@
1
- /**
2
- * @group main
3
- */
4
- export {};
5
- //# sourceMappingURL=memberMetadata_Usernames.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"memberMetadata_Usernames.test.d.ts","sourceRoot":"","sources":["../../../src/tests/multi_ne/memberMetadata_Usernames.test.ts"],"names":[],"mappings":"AAAA;;GAEG"}
@@ -1,126 +0,0 @@
1
- /**
2
- * @group main
3
- */
4
- import { EncryptedDataSchema } from '@towns-labs/proto';
5
- import { MemberMetadata_Usernames } from '../../memberMetadata_Usernames';
6
- import { usernameChecksum } from '../../utils';
7
- import { create } from '@bufbuild/protobuf';
8
- describe('memberMetadata_UsernamesTests', () => {
9
- const streamId = 'streamid1';
10
- let usernames;
11
- beforeEach(() => {
12
- usernames = new MemberMetadata_Usernames(streamId, 'userid-1');
13
- });
14
- test('clientCanSetUsername', async () => {
15
- const username = 'bob-username1';
16
- const checksum = usernameChecksum(username, streamId);
17
- const encryptedData = create(EncryptedDataSchema, {
18
- ciphertext: username,
19
- checksum: checksum,
20
- });
21
- usernames.addEncryptedData('eventid-1', encryptedData, 'userid-1', true, undefined, undefined, undefined);
22
- usernames.onDecryptedContent('eventid-1', username);
23
- expect(usernames.plaintextUsernames).toEqual(new Map([['userid-1', username]]));
24
- });
25
- test('clientCannotSetDuplicateUsername', async () => {
26
- const username = 'bob-username1';
27
- const checksum = usernameChecksum(username, streamId);
28
- const encryptedData = create(EncryptedDataSchema, {
29
- ciphertext: username,
30
- checksum: checksum,
31
- });
32
- usernames.addEncryptedData('eventid-1', encryptedData, 'userid-1', true, undefined, undefined, undefined);
33
- usernames.onDecryptedContent('eventid-1', username);
34
- expect(usernames.plaintextUsernames).toEqual(new Map([['userid-1', username]]));
35
- usernames.addEncryptedData('eventid-1', encryptedData, 'userid-2', true, undefined, undefined, undefined);
36
- usernames.onDecryptedContent('eventid-1', username);
37
- expect(usernames.plaintextUsernames).toEqual(new Map([['userid-1', username]]));
38
- });
39
- test('duplicateUsernamesAreCaseInsensitive', async () => {
40
- const username = 'bob-username1';
41
- const checksum = usernameChecksum(username, streamId);
42
- const encryptedData = create(EncryptedDataSchema, {
43
- ciphertext: username,
44
- checksum: checksum,
45
- });
46
- const username2 = 'BOB-USERNAME1';
47
- const checksum2 = usernameChecksum(username2, streamId);
48
- const encryptedData2 = create(EncryptedDataSchema, {
49
- ciphertext: username2,
50
- checksum: checksum2,
51
- });
52
- usernames.addEncryptedData('eventid-1', encryptedData, 'userid-1', true, undefined, undefined, undefined);
53
- usernames.onDecryptedContent('eventid-1', username);
54
- expect(usernames.plaintextUsernames).toEqual(new Map([['userid-1', username]]));
55
- usernames.addEncryptedData('eventid-2', encryptedData2, 'userid-2', true, undefined, undefined, undefined);
56
- usernames.onDecryptedContent('eventid-2', username2);
57
- expect(usernames.plaintextUsernames).toEqual(new Map([['userid-1', username]]));
58
- });
59
- test('usernameIsAvailableAfterChange', async () => {
60
- const username = 'bob-username1';
61
- const checksum = usernameChecksum(username, streamId);
62
- const encryptedData = create(EncryptedDataSchema, {
63
- ciphertext: username,
64
- checksum: checksum,
65
- });
66
- usernames.addEncryptedData('eventid-1', encryptedData, 'userid-1', true, undefined, undefined, undefined);
67
- usernames.onDecryptedContent('eventid-1', username);
68
- expect(usernames.plaintextUsernames).toEqual(new Map([['userid-1', username]]));
69
- const username2 = 'bob-username2';
70
- const checksum2 = usernameChecksum(username2, streamId);
71
- const encryptedData2 = create(EncryptedDataSchema, {
72
- ciphertext: username2,
73
- checksum: checksum2,
74
- });
75
- // userid-1 changes their username
76
- usernames.addEncryptedData('eventid-2', encryptedData2, 'userid-1', true, undefined, undefined, undefined);
77
- usernames.onDecryptedContent('eventid-2', username2);
78
- expect(usernames.plaintextUsernames).toEqual(new Map([['userid-1', username2]]));
79
- // userid-2 can now use the old username
80
- usernames.addEncryptedData('eventid-1', encryptedData, 'userid-2', true, undefined, undefined, undefined);
81
- usernames.onDecryptedContent('eventid-1', username);
82
- expect(usernames.plaintextUsernames).toEqual(new Map([
83
- ['userid-1', username2],
84
- ['userid-2', username],
85
- ]));
86
- });
87
- test('clientCannotFakeChecksum', async () => {
88
- const username = 'bob-username1';
89
- const checksum = 'invalid-checksum';
90
- const encryptedData = create(EncryptedDataSchema, {
91
- ciphertext: username,
92
- checksum: checksum,
93
- });
94
- usernames.addEncryptedData('eventid-1', encryptedData, 'userid-1', true, undefined, undefined, undefined);
95
- usernames.onDecryptedContent('eventid-1', username);
96
- expect(usernames.plaintextUsernames).toEqual(new Map([]));
97
- });
98
- test('encryptedFlagsAreReturnedWhenEncrypted', async () => {
99
- const username = 'bob-username1';
100
- const checksum = usernameChecksum(username, streamId);
101
- const encryptedData = create(EncryptedDataSchema, {
102
- ciphertext: username,
103
- checksum: checksum,
104
- });
105
- usernames.addEncryptedData('eventid-1', encryptedData, 'userid-1', true, undefined, undefined, undefined);
106
- const info = usernames.info('userid-1');
107
- expect(info.usernameEncrypted).toEqual(true);
108
- usernames.onDecryptedContent('eventid-1', username);
109
- const infoAfterDecrypt = usernames.info('userid-1');
110
- expect(infoAfterDecrypt.usernameEncrypted).toEqual(false);
111
- });
112
- // in order to re-encrypt Olm-encrypted usernames using the new hybrid encryption,
113
- // we need to keep track of the existing user's username payload
114
- test('the current user`s username is accessible', async () => {
115
- const username = 'bob-username1';
116
- const checksum = usernameChecksum(username, streamId);
117
- const encryptedData = create(EncryptedDataSchema, {
118
- ciphertext: username,
119
- checksum: checksum,
120
- });
121
- usernames.addEncryptedData('eventid-1', encryptedData, 'userid-1', true, undefined, undefined, undefined);
122
- const current = usernames.currentUsernameEncryptedData;
123
- expect(current).toEqual(encryptedData);
124
- });
125
- });
126
- //# sourceMappingURL=memberMetadata_Usernames.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"memberMetadata_Usernames.test.js","sourceRoot":"","sources":["../../../src/tests/multi_ne/memberMetadata_Usernames.test.ts"],"names":[],"mappings":"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"}
@@ -1,5 +0,0 @@
1
- /**
2
- * @group main
3
- */
4
- export {};
5
- //# sourceMappingURL=space.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"space.test.d.ts","sourceRoot":"","sources":["../../../src/tests/multi_ne/space.test.ts"],"names":[],"mappings":"AAAA;;GAEG"}
@@ -1,284 +0,0 @@
1
- /**
2
- * @group main
3
- */
4
- import { isEncryptedData, makeTestClient, makeUniqueSpaceStreamId, waitFor } from '../testUtils';
5
- import { dlog } from '@towns-labs/utils';
6
- import { AES_GCM_DERIVED_ALGORITHM } from '@towns-labs/encryption';
7
- import { makeUniqueChannelStreamId, makeUniqueMediaStreamId, streamIdToBytes } from '../../id';
8
- import { MediaInfoSchema, MembershipOp, } from '@towns-labs/proto';
9
- import { deriveKeyAndIV } from '@towns-labs/sdk-crypto';
10
- import { nanoid } from 'nanoid';
11
- import { create } from '@bufbuild/protobuf';
12
- import { unpackStream } from '../../sign';
13
- const log = dlog('csb:test');
14
- describe('spaceTests', () => {
15
- let bobsClient;
16
- let alicesClient;
17
- beforeEach(async () => {
18
- bobsClient = await makeTestClient();
19
- await bobsClient.initializeUser();
20
- bobsClient.startSync();
21
- alicesClient = await makeTestClient();
22
- await alicesClient.initializeUser();
23
- alicesClient.startSync();
24
- });
25
- afterEach(async () => {
26
- await bobsClient.stop();
27
- await alicesClient.stop();
28
- });
29
- test('bobKicksAlice', async () => {
30
- log('bobKicksAlice');
31
- const spaceId = makeUniqueSpaceStreamId();
32
- await expect(bobsClient.createSpace(spaceId)).resolves.not.toThrow();
33
- const channelId = makeUniqueChannelStreamId(spaceId);
34
- await expect(bobsClient.createChannel(spaceId, 'name', 'topic', channelId)).resolves.not.toThrow();
35
- await expect(alicesClient.joinStream(spaceId)).resolves.not.toThrow();
36
- await expect(alicesClient.joinStream(channelId)).resolves.not.toThrow();
37
- const userStreamView = alicesClient.stream(alicesClient.userStreamId).view;
38
- await waitFor(() => {
39
- expect(userStreamView.userContent.getMembership(spaceId)?.op).toBe(MembershipOp.SO_JOIN);
40
- expect(userStreamView.userContent.getMembership(channelId)?.op).toBe(MembershipOp.SO_JOIN);
41
- });
42
- // Bob can kick Alice
43
- await expect(bobsClient.removeUser(spaceId, alicesClient.userId)).resolves.not.toThrow();
44
- // Alice is no longer a member of the space or channel
45
- await waitFor(() => {
46
- expect(userStreamView.userContent.getMembership(spaceId)?.op).toBe(MembershipOp.SO_LEAVE);
47
- expect(userStreamView.userContent.getMembership(channelId)?.op).toBe(MembershipOp.SO_LEAVE);
48
- });
49
- });
50
- // @miguel-nascimento 2025-10-28 - flaky test - was timing out on CI
51
- test.skip('channelMetadata', async () => {
52
- log('channelMetadata');
53
- const spaceId = makeUniqueSpaceStreamId();
54
- await expect(bobsClient.createSpace(spaceId)).resolves.not.toThrow();
55
- const spaceStream = await bobsClient.waitForStream(spaceId);
56
- // assert assumptions
57
- expect(spaceStream).toBeDefined();
58
- expect(spaceStream.view.miniblockInfo).toBeDefined();
59
- let spaceStreamMiniblockNum = spaceStream.view.miniblockInfo.max;
60
- // create a new channel
61
- const channelId = makeUniqueChannelStreamId(spaceId);
62
- await expect(bobsClient.createChannel(spaceId, 'name', 'topic', channelId)).resolves.not.toThrow();
63
- // our space channels metadata should reflect the new channel
64
- await waitFor(() => {
65
- expect(spaceStream.view.spaceContent.spaceChannelsMetadata[channelId]).toBeDefined();
66
- expect(spaceStream.view.spaceContent.spaceChannelsMetadata[channelId]?.updatedAtEventNum).toBeGreaterThan(0);
67
- });
68
- // wait for the miniblock to be updated
69
- await waitFor(() => {
70
- expect(spaceStream.view.miniblockInfo.max).toBeGreaterThan(spaceStreamMiniblockNum);
71
- });
72
- // save off existing updated at
73
- const prevUpdatedAt = spaceStream.view.spaceContent.spaceChannelsMetadata[channelId].updatedAtEventNum;
74
- // make a snapshot
75
- await waitFor(async () => {
76
- const response = await bobsClient.debugForceMakeMiniblock(spaceId, {
77
- forceSnapshot: true,
78
- lastKnownMiniblockNum: spaceStream.view.miniblockInfo.max,
79
- });
80
- expect(response).toBeDefined();
81
- });
82
- let response;
83
- // the new snapshot should have the new data
84
- await waitFor(async () => {
85
- // fetch the raw stream with new snapshot
86
- response = await bobsClient.rpcClient.getStream({
87
- streamId: streamIdToBytes(spaceId),
88
- });
89
- expect(response).toBeDefined();
90
- });
91
- if (response === undefined) {
92
- throw new Error('response is undefined');
93
- }
94
- const stream = await unpackStream(response.stream, {
95
- disableHashValidation: true,
96
- disableSignatureValidation: true,
97
- });
98
- const snapshot = stream.snapshot;
99
- if (snapshot?.content.case !== 'spaceContent') {
100
- throw new Error('snapshot is not a space content');
101
- }
102
- expect(snapshot.content.value.channels.length, `channelMetadata: ${spaceId} pre-update bobsClient snapshot.channels.length`).toBe(1);
103
- expect(snapshot.content.value.channels[0].updatedAtEventNum).toBe(prevUpdatedAt);
104
- spaceStreamMiniblockNum = spaceStream.view.miniblockInfo.max;
105
- // update the channel metadata
106
- await bobsClient.updateChannel(spaceId, channelId, '', '');
107
- // wait for the miniblock to be updated
108
- await waitFor(() => {
109
- expect(spaceStream.view.miniblockInfo.max).toBeGreaterThan(spaceStreamMiniblockNum);
110
- });
111
- // see the metadata update
112
- await waitFor(() => {
113
- expect(spaceStream.view.spaceContent.spaceChannelsMetadata[channelId]).toBeDefined();
114
- expect(spaceStream.view.spaceContent.spaceChannelsMetadata[channelId]?.updatedAtEventNum).toBeGreaterThan(prevUpdatedAt);
115
- });
116
- // make a snapshot
117
- await waitFor(async () => {
118
- const response = await bobsClient.debugForceMakeMiniblock(spaceId, {
119
- forceSnapshot: true,
120
- lastKnownMiniblockNum: spaceStream.view.miniblockInfo.max,
121
- });
122
- expect(response).toBeDefined();
123
- });
124
- // see new snapshot should have the new data
125
- await waitFor(async () => {
126
- // fetch the raw stream with new snapshot
127
- const response = await bobsClient.rpcClient.getStream({
128
- streamId: streamIdToBytes(spaceId),
129
- });
130
- const stream = await unpackStream(response.stream, {
131
- disableHashValidation: true,
132
- disableSignatureValidation: true,
133
- });
134
- const snapshot = stream.snapshot;
135
- if (snapshot?.content.case !== 'spaceContent') {
136
- throw new Error('snapshot is not a space content');
137
- }
138
- expect(snapshot.content.value.channels.length, 'channelMetadata: post-update bobsClient snapshot.channels.length').toBe(1);
139
- expect(snapshot.content.value.channels[0].updatedAtEventNum).toBeGreaterThan(prevUpdatedAt);
140
- });
141
- });
142
- test('spaceImage', async () => {
143
- const spaceImageUpdatedCounter = {
144
- count: 0,
145
- };
146
- function spaceImageUpdated(_spaceId) {
147
- spaceImageUpdatedCounter.count++;
148
- }
149
- const spaceId = makeUniqueSpaceStreamId();
150
- await expect(bobsClient.createSpace(spaceId)).resolves.not.toThrow();
151
- const spaceStream = await bobsClient.waitForStream(spaceId);
152
- let spaceStreamMiniblockNum = spaceStream.view.miniblockInfo.max;
153
- spaceStream.on('spaceImageUpdated', spaceImageUpdated);
154
- // make a space image event
155
- const mediaStreamId = makeUniqueMediaStreamId();
156
- const image = create(MediaInfoSchema, {
157
- mimetype: 'image/png',
158
- filename: 'bob-1.png',
159
- });
160
- const { key, iv } = await deriveKeyAndIV(nanoid(128)); // if in browser please use window.crypto.subtle.generateKey
161
- const chunkedMediaInfo = {
162
- info: image,
163
- streamId: mediaStreamId,
164
- encryption: {
165
- case: 'aesgcm',
166
- value: { secretKey: key, iv },
167
- },
168
- thumbnail: undefined,
169
- };
170
- await bobsClient.setSpaceImage(spaceId, chunkedMediaInfo);
171
- // wait for the miniblock to be updated
172
- await waitFor(() => {
173
- expect(spaceStream.view.miniblockInfo.max).toBeGreaterThan(spaceStreamMiniblockNum);
174
- });
175
- // make a snapshot
176
- await waitFor(async () => {
177
- const response = await bobsClient.debugForceMakeMiniblock(spaceId, {
178
- forceSnapshot: true,
179
- lastKnownMiniblockNum: spaceStream.view.miniblockInfo.max,
180
- });
181
- expect(response).toBeDefined();
182
- });
183
- // see the space image in the snapshot
184
- await waitFor(async () => {
185
- // fetch the raw stream with new snapshot
186
- const response = await bobsClient.rpcClient.getStream({
187
- streamId: streamIdToBytes(spaceId),
188
- });
189
- const stream = await unpackStream(response.stream, {
190
- disableHashValidation: true,
191
- disableSignatureValidation: true,
192
- });
193
- const snapshot = stream.snapshot;
194
- if (snapshot?.content.case !== 'spaceContent') {
195
- throw new Error('snapshot is not a space content');
196
- }
197
- expect(snapshot.content.value.spaceImage).toBeDefined();
198
- expect(snapshot.content.value.spaceImage?.data).toBeDefined();
199
- });
200
- await waitFor(() => {
201
- expect(spaceImageUpdatedCounter.count, 'spaceImage: spaceImageUpdatedCounter.count').toBe(1);
202
- });
203
- // decrypt the snapshot and assert the image values
204
- // fetch the raw stream with new snapshot
205
- const response = await bobsClient.rpcClient.getStream({
206
- streamId: streamIdToBytes(spaceId),
207
- });
208
- const stream = await unpackStream(response.stream, {
209
- disableHashValidation: true,
210
- disableSignatureValidation: true,
211
- });
212
- const snapshot = stream.snapshot;
213
- const encryptedData = snapshot?.content.case === 'spaceContent'
214
- ? snapshot.content.value.spaceImage?.data
215
- : undefined;
216
- expect(encryptedData !== undefined &&
217
- isEncryptedData(encryptedData) &&
218
- encryptedData.algorithm === AES_GCM_DERIVED_ALGORITHM).toBe(true);
219
- const decrypted = await spaceStream.view.spaceContent.getSpaceImage();
220
- expect(decrypted !== undefined &&
221
- decrypted.info?.mimetype === image.mimetype &&
222
- decrypted.info?.filename === image.filename &&
223
- decrypted.encryption.case === 'aesgcm' &&
224
- decrypted.encryption.value.secretKey !== undefined).toBe(true);
225
- // make another space image event
226
- const mediaStreamId2 = makeUniqueMediaStreamId();
227
- const image2 = create(MediaInfoSchema, {
228
- mimetype: 'image/jpg',
229
- filename: 'bob-2.jpg',
230
- });
231
- const chunkedMediaInfo2 = {
232
- info: image2,
233
- streamId: mediaStreamId2,
234
- encryption: {
235
- case: 'aesgcm',
236
- value: { secretKey: key, iv },
237
- },
238
- thumbnail: undefined,
239
- };
240
- spaceStreamMiniblockNum = spaceStream.view.miniblockInfo.max;
241
- await bobsClient.setSpaceImage(spaceId, chunkedMediaInfo2);
242
- // wait for the miniblock to be updated
243
- await waitFor(() => {
244
- expect(spaceStream.view.miniblockInfo.max).toBeGreaterThan(spaceStreamMiniblockNum);
245
- });
246
- // make a snapshot
247
- await waitFor(async () => {
248
- const response = await bobsClient.debugForceMakeMiniblock(spaceId, {
249
- forceSnapshot: true,
250
- lastKnownMiniblockNum: spaceStream.view.miniblockInfo.max,
251
- });
252
- expect(response).toBeDefined();
253
- });
254
- // see the space image in the snapshot
255
- await waitFor(async () => {
256
- // fetch the raw stream with new snapshot
257
- const response = await bobsClient.rpcClient.getStream({
258
- streamId: streamIdToBytes(spaceId),
259
- });
260
- const stream = await unpackStream(response.stream, {
261
- disableHashValidation: true,
262
- disableSignatureValidation: true,
263
- });
264
- const snapshot = stream.snapshot;
265
- if (snapshot?.content.case !== 'spaceContent') {
266
- throw new Error('snapshot is not a space content');
267
- }
268
- expect(snapshot.content.value.spaceImage).toBeDefined();
269
- expect(snapshot.content.value.spaceImage?.data).toBeDefined();
270
- });
271
- // decrypt the snapshot and assert the image values
272
- const spaceImage = await spaceStream.view.spaceContent.getSpaceImage();
273
- expect(spaceImage).toBeDefined();
274
- expect(spaceImage?.info?.mimetype).toBe(image2.mimetype);
275
- expect(spaceImage?.info?.filename).toBe(image2.filename);
276
- expect(spaceImage?.encryption.case).toBe('aesgcm');
277
- if (spaceImage?.encryption.case !== 'aesgcm') {
278
- throw new Error('space image encryption is not aesgcm'); // to compile
279
- }
280
- expect(spaceImage?.encryption.value.secretKey).toBeDefined();
281
- expect(spaceImageUpdatedCounter.count).toBe(2);
282
- });
283
- });
284
- //# sourceMappingURL=space.test.js.map