polfan-server-js-client 0.1.58 → 0.1.91

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 (263) hide show
  1. package/.idea/vcs.xml +1 -0
  2. package/build/index.js +55 -20
  3. package/build/index.js.map +1 -1
  4. package/build/types/Permissions.d.ts +4 -0
  5. package/build/types/state-tracker/MessagesManager.d.ts +1 -1
  6. package/build/types/state-tracker/RoomsManager.d.ts +1 -0
  7. package/build/types/types/dist/index.d.ts +1 -0
  8. package/build/types/types/dist/schemes/AckReport.d.ts +1 -0
  9. package/build/types/types/dist/schemes/ChatLocation.d.ts +1 -0
  10. package/build/types/types/dist/schemes/Envelope.d.ts +1 -0
  11. package/build/types/types/dist/schemes/Message.d.ts +1 -0
  12. package/build/types/types/dist/schemes/PermissionOverwritesValue.d.ts +1 -0
  13. package/build/types/types/dist/schemes/Role.d.ts +1 -0
  14. package/build/types/types/dist/schemes/Room.d.ts +1 -0
  15. package/build/types/types/dist/schemes/RoomMember.d.ts +1 -0
  16. package/build/types/types/dist/schemes/RoomSummary.d.ts +1 -0
  17. package/build/types/types/dist/schemes/Space.d.ts +1 -0
  18. package/build/types/types/dist/schemes/SpaceMember.d.ts +1 -0
  19. package/build/types/types/dist/schemes/Topic.d.ts +1 -0
  20. package/build/types/types/dist/schemes/User.d.ts +1 -0
  21. package/build/types/types/dist/schemes/UserState.d.ts +1 -0
  22. package/build/types/types/dist/schemes/commands/Ack.d.ts +1 -0
  23. package/build/types/types/dist/schemes/commands/AssignRole.d.ts +1 -0
  24. package/build/types/types/dist/schemes/commands/CreateMessage.d.ts +1 -0
  25. package/build/types/types/dist/schemes/commands/CreateOwner.d.ts +1 -0
  26. package/build/types/types/dist/schemes/commands/CreateRole.d.ts +1 -0
  27. package/build/types/types/dist/schemes/commands/CreateRoom.d.ts +1 -0
  28. package/build/types/types/dist/schemes/commands/CreateSpace.d.ts +1 -0
  29. package/build/types/types/dist/schemes/commands/CreateTopic.d.ts +1 -0
  30. package/build/types/types/dist/schemes/commands/DeassignRole.d.ts +1 -0
  31. package/build/types/types/dist/schemes/commands/DeleteOwner.d.ts +1 -0
  32. package/build/types/types/dist/schemes/commands/DeleteRole.d.ts +1 -0
  33. package/build/types/types/dist/schemes/commands/DeleteRoom.d.ts +1 -0
  34. package/build/types/types/dist/schemes/commands/DeleteSpace.d.ts +1 -0
  35. package/build/types/types/dist/schemes/commands/DeleteTopic.d.ts +1 -0
  36. package/build/types/types/dist/schemes/commands/GetAckReports.d.ts +1 -0
  37. package/build/types/types/dist/schemes/commands/GetComputedPermissions.d.ts +1 -0
  38. package/build/types/types/dist/schemes/commands/GetOwners.d.ts +1 -0
  39. package/build/types/types/dist/schemes/commands/GetPermissionOverwriteTargets.d.ts +1 -0
  40. package/build/types/types/dist/schemes/commands/GetPermissionOverwrites.d.ts +1 -0
  41. package/build/types/types/dist/schemes/commands/GetRoomMembers.d.ts +1 -0
  42. package/build/types/types/dist/schemes/commands/GetSession.d.ts +1 -0
  43. package/build/types/types/dist/schemes/commands/GetSpaceMembers.d.ts +1 -0
  44. package/build/types/types/dist/schemes/commands/GetSpaceRooms.d.ts +1 -0
  45. package/build/types/types/dist/schemes/commands/JoinRoom.d.ts +1 -0
  46. package/build/types/types/dist/schemes/commands/JoinSpace.d.ts +1 -0
  47. package/build/types/types/dist/schemes/commands/LeaveRoom.d.ts +1 -0
  48. package/build/types/types/dist/schemes/commands/LeaveSpace.d.ts +1 -0
  49. package/build/types/types/dist/schemes/commands/SetPermissionOverwrites.d.ts +1 -0
  50. package/build/types/types/dist/schemes/commands/UpdateRole.d.ts +1 -0
  51. package/build/types/types/dist/schemes/commands/UpdateRoom.d.ts +1 -0
  52. package/build/types/types/dist/schemes/commands/UpdateSpace.d.ts +1 -0
  53. package/build/types/types/dist/schemes/events/AckReports.d.ts +1 -0
  54. package/build/types/types/dist/schemes/events/Bye.d.ts +1 -0
  55. package/build/types/types/dist/schemes/events/ComputedPermissions.d.ts +1 -0
  56. package/build/types/types/dist/schemes/events/Error.d.ts +1 -0
  57. package/build/types/types/dist/schemes/events/NewMessage.d.ts +1 -0
  58. package/build/types/types/dist/schemes/events/NewRole.d.ts +1 -0
  59. package/build/types/types/dist/schemes/events/NewRoom.d.ts +1 -0
  60. package/build/types/types/dist/schemes/events/NewTopic.d.ts +1 -0
  61. package/build/types/types/dist/schemes/events/Ok.d.ts +1 -0
  62. package/build/types/types/dist/schemes/events/Owners.d.ts +1 -0
  63. package/build/types/types/dist/schemes/events/PermissionOverwriteTargets.d.ts +1 -0
  64. package/build/types/types/dist/schemes/events/PermissionOverwrites.d.ts +1 -0
  65. package/build/types/types/dist/schemes/events/PermissionOverwritesUpdated.d.ts +1 -0
  66. package/build/types/types/dist/schemes/events/RoleDeleted.d.ts +1 -0
  67. package/build/types/types/dist/schemes/events/RoleUpdated.d.ts +1 -0
  68. package/build/types/types/dist/schemes/events/RoomDeleted.d.ts +1 -0
  69. package/build/types/types/dist/schemes/events/RoomJoined.d.ts +1 -0
  70. package/build/types/types/dist/schemes/events/RoomLeft.d.ts +1 -0
  71. package/build/types/types/dist/schemes/events/RoomMemberJoined.d.ts +1 -0
  72. package/build/types/types/dist/schemes/events/RoomMemberLeft.d.ts +1 -0
  73. package/build/types/types/dist/schemes/events/RoomMemberUpdated.d.ts +1 -0
  74. package/build/types/types/dist/schemes/events/RoomMembers.d.ts +1 -0
  75. package/build/types/types/dist/schemes/events/RoomUpdated.d.ts +1 -0
  76. package/build/types/types/dist/schemes/events/Session.d.ts +1 -0
  77. package/build/types/types/dist/schemes/events/SpaceDeleted.d.ts +1 -0
  78. package/build/types/types/dist/schemes/events/SpaceJoined.d.ts +1 -0
  79. package/build/types/types/dist/schemes/events/SpaceLeft.d.ts +1 -0
  80. package/build/types/types/dist/schemes/events/SpaceMemberJoined.d.ts +1 -0
  81. package/build/types/types/dist/schemes/events/SpaceMemberLeft.d.ts +1 -0
  82. package/build/types/types/dist/schemes/events/SpaceMemberUpdated.d.ts +1 -0
  83. package/build/types/types/dist/schemes/events/SpaceMembers.d.ts +1 -0
  84. package/build/types/types/dist/schemes/events/SpaceRooms.d.ts +1 -0
  85. package/build/types/types/dist/schemes/events/SpaceUpdated.d.ts +1 -0
  86. package/build/types/types/dist/schemes/events/TopicDeleted.d.ts +1 -0
  87. package/build/types/types/dist/schemes/events/UserUpdated.d.ts +1 -0
  88. package/build/types/types/src/index.d.ts +3 -1
  89. package/build/types/types/src/schemes/Room.d.ts +1 -1
  90. package/build/types/types/src/schemes/Topic.d.ts +5 -1
  91. package/build/types/types/src/schemes/commands/CreateRoom.d.ts +2 -0
  92. package/build/types/types/src/schemes/commands/CreateTopic.d.ts +2 -2
  93. package/package.json +1 -1
  94. package/src/Permissions.ts +8 -7
  95. package/src/state-tracker/MessagesManager.ts +22 -8
  96. package/src/state-tracker/RoomsManager.ts +15 -0
  97. package/src/types/dist/index.d.ts +82 -0
  98. package/src/types/dist/index.js +2 -0
  99. package/src/types/dist/schemes/AckReport.d.ts +7 -0
  100. package/src/types/dist/schemes/AckReport.js +2 -0
  101. package/src/types/dist/schemes/ChatLocation.d.ts +5 -0
  102. package/src/types/dist/schemes/ChatLocation.js +2 -0
  103. package/src/types/dist/schemes/Envelope.d.ts +5 -0
  104. package/src/types/dist/schemes/Envelope.js +2 -0
  105. package/src/types/dist/schemes/Message.d.ts +7 -0
  106. package/src/types/dist/schemes/Message.js +2 -0
  107. package/src/types/dist/schemes/PermissionOverwritesValue.d.ts +4 -0
  108. package/src/types/dist/schemes/PermissionOverwritesValue.js +2 -0
  109. package/src/types/dist/schemes/Role.d.ts +6 -0
  110. package/src/types/dist/schemes/Role.js +2 -0
  111. package/src/types/dist/schemes/Room.d.ts +10 -0
  112. package/src/types/dist/schemes/Room.js +2 -0
  113. package/src/types/dist/schemes/RoomMember.d.ts +7 -0
  114. package/src/types/dist/schemes/RoomMember.js +2 -0
  115. package/src/types/dist/schemes/RoomSummary.d.ts +5 -0
  116. package/src/types/dist/schemes/RoomSummary.js +2 -0
  117. package/src/types/dist/schemes/Space.d.ts +6 -0
  118. package/src/types/dist/schemes/Space.js +2 -0
  119. package/src/types/dist/schemes/SpaceMember.d.ts +5 -0
  120. package/src/types/dist/schemes/SpaceMember.js +2 -0
  121. package/src/types/dist/schemes/Topic.d.ts +9 -0
  122. package/src/types/dist/schemes/Topic.js +2 -0
  123. package/src/types/dist/schemes/User.d.ts +8 -0
  124. package/src/types/dist/schemes/User.js +2 -0
  125. package/src/types/dist/schemes/UserState.d.ts +6 -0
  126. package/src/types/dist/schemes/UserState.js +2 -0
  127. package/src/types/dist/schemes/commands/Ack.d.ts +5 -0
  128. package/src/types/dist/schemes/commands/Ack.js +2 -0
  129. package/src/types/dist/schemes/commands/AssignRole.d.ts +6 -0
  130. package/src/types/dist/schemes/commands/AssignRole.js +2 -0
  131. package/src/types/dist/schemes/commands/CreateMessage.d.ts +5 -0
  132. package/src/types/dist/schemes/commands/CreateMessage.js +2 -0
  133. package/src/types/dist/schemes/commands/CreateOwner.d.ts +5 -0
  134. package/src/types/dist/schemes/commands/CreateOwner.js +2 -0
  135. package/src/types/dist/schemes/commands/CreateRole.d.ts +5 -0
  136. package/src/types/dist/schemes/commands/CreateRole.js +2 -0
  137. package/src/types/dist/schemes/commands/CreateRoom.d.ts +7 -0
  138. package/src/types/dist/schemes/commands/CreateRoom.js +2 -0
  139. package/src/types/dist/schemes/commands/CreateSpace.d.ts +3 -0
  140. package/src/types/dist/schemes/commands/CreateSpace.js +2 -0
  141. package/src/types/dist/schemes/commands/CreateTopic.d.ts +12 -0
  142. package/src/types/dist/schemes/commands/CreateTopic.js +2 -0
  143. package/src/types/dist/schemes/commands/DeassignRole.d.ts +6 -0
  144. package/src/types/dist/schemes/commands/DeassignRole.js +2 -0
  145. package/src/types/dist/schemes/commands/DeleteOwner.d.ts +5 -0
  146. package/src/types/dist/schemes/commands/DeleteOwner.js +2 -0
  147. package/src/types/dist/schemes/commands/DeleteRole.d.ts +4 -0
  148. package/src/types/dist/schemes/commands/DeleteRole.js +2 -0
  149. package/src/types/dist/schemes/commands/DeleteRoom.d.ts +3 -0
  150. package/src/types/dist/schemes/commands/DeleteRoom.js +2 -0
  151. package/src/types/dist/schemes/commands/DeleteSpace.d.ts +3 -0
  152. package/src/types/dist/schemes/commands/DeleteSpace.js +2 -0
  153. package/src/types/dist/schemes/commands/DeleteTopic.d.ts +4 -0
  154. package/src/types/dist/schemes/commands/DeleteTopic.js +2 -0
  155. package/src/types/dist/schemes/commands/GetAckReports.d.ts +4 -0
  156. package/src/types/dist/schemes/commands/GetAckReports.js +2 -0
  157. package/src/types/dist/schemes/commands/GetComputedPermissions.d.ts +4 -0
  158. package/src/types/dist/schemes/commands/GetComputedPermissions.js +2 -0
  159. package/src/types/dist/schemes/commands/GetOwners.d.ts +4 -0
  160. package/src/types/dist/schemes/commands/GetOwners.js +2 -0
  161. package/src/types/dist/schemes/commands/GetPermissionOverwriteTargets.d.ts +4 -0
  162. package/src/types/dist/schemes/commands/GetPermissionOverwriteTargets.js +2 -0
  163. package/src/types/dist/schemes/commands/GetPermissionOverwrites.d.ts +6 -0
  164. package/src/types/dist/schemes/commands/GetPermissionOverwrites.js +2 -0
  165. package/src/types/dist/schemes/commands/GetRoomMembers.d.ts +3 -0
  166. package/src/types/dist/schemes/commands/GetRoomMembers.js +2 -0
  167. package/src/types/dist/schemes/commands/GetSession.d.ts +2 -0
  168. package/src/types/dist/schemes/commands/GetSession.js +2 -0
  169. package/src/types/dist/schemes/commands/GetSpaceMembers.d.ts +3 -0
  170. package/src/types/dist/schemes/commands/GetSpaceMembers.js +2 -0
  171. package/src/types/dist/schemes/commands/GetSpaceRooms.d.ts +3 -0
  172. package/src/types/dist/schemes/commands/GetSpaceRooms.js +2 -0
  173. package/src/types/dist/schemes/commands/JoinRoom.d.ts +3 -0
  174. package/src/types/dist/schemes/commands/JoinRoom.js +2 -0
  175. package/src/types/dist/schemes/commands/JoinSpace.d.ts +3 -0
  176. package/src/types/dist/schemes/commands/JoinSpace.js +2 -0
  177. package/src/types/dist/schemes/commands/LeaveRoom.d.ts +3 -0
  178. package/src/types/dist/schemes/commands/LeaveRoom.js +2 -0
  179. package/src/types/dist/schemes/commands/LeaveSpace.d.ts +3 -0
  180. package/src/types/dist/schemes/commands/LeaveSpace.js +2 -0
  181. package/src/types/dist/schemes/commands/SetPermissionOverwrites.d.ts +8 -0
  182. package/src/types/dist/schemes/commands/SetPermissionOverwrites.js +2 -0
  183. package/src/types/dist/schemes/commands/UpdateRole.d.ts +7 -0
  184. package/src/types/dist/schemes/commands/UpdateRole.js +2 -0
  185. package/src/types/dist/schemes/commands/UpdateRoom.d.ts +5 -0
  186. package/src/types/dist/schemes/commands/UpdateRoom.js +2 -0
  187. package/src/types/dist/schemes/commands/UpdateSpace.d.ts +4 -0
  188. package/src/types/dist/schemes/commands/UpdateSpace.js +2 -0
  189. package/src/types/dist/schemes/events/AckReports.d.ts +4 -0
  190. package/src/types/dist/schemes/events/AckReports.js +2 -0
  191. package/src/types/dist/schemes/events/Bye.d.ts +3 -0
  192. package/src/types/dist/schemes/events/Bye.js +2 -0
  193. package/src/types/dist/schemes/events/ComputedPermissions.d.ts +5 -0
  194. package/src/types/dist/schemes/events/ComputedPermissions.js +2 -0
  195. package/src/types/dist/schemes/events/Error.d.ts +4 -0
  196. package/src/types/dist/schemes/events/Error.js +2 -0
  197. package/src/types/dist/schemes/events/NewMessage.d.ts +6 -0
  198. package/src/types/dist/schemes/events/NewMessage.js +2 -0
  199. package/src/types/dist/schemes/events/NewRole.d.ts +5 -0
  200. package/src/types/dist/schemes/events/NewRole.js +2 -0
  201. package/src/types/dist/schemes/events/NewRoom.d.ts +5 -0
  202. package/src/types/dist/schemes/events/NewRoom.js +2 -0
  203. package/src/types/dist/schemes/events/NewTopic.d.ts +5 -0
  204. package/src/types/dist/schemes/events/NewTopic.js +2 -0
  205. package/src/types/dist/schemes/events/Ok.d.ts +2 -0
  206. package/src/types/dist/schemes/events/Ok.js +2 -0
  207. package/src/types/dist/schemes/events/Owners.d.ts +8 -0
  208. package/src/types/dist/schemes/events/Owners.js +2 -0
  209. package/src/types/dist/schemes/events/PermissionOverwriteTargets.d.ts +10 -0
  210. package/src/types/dist/schemes/events/PermissionOverwriteTargets.js +2 -0
  211. package/src/types/dist/schemes/events/PermissionOverwrites.d.ts +8 -0
  212. package/src/types/dist/schemes/events/PermissionOverwrites.js +2 -0
  213. package/src/types/dist/schemes/events/PermissionOverwritesUpdated.d.ts +8 -0
  214. package/src/types/dist/schemes/events/PermissionOverwritesUpdated.js +2 -0
  215. package/src/types/dist/schemes/events/RoleDeleted.d.ts +4 -0
  216. package/src/types/dist/schemes/events/RoleDeleted.js +2 -0
  217. package/src/types/dist/schemes/events/RoleUpdated.d.ts +5 -0
  218. package/src/types/dist/schemes/events/RoleUpdated.js +2 -0
  219. package/src/types/dist/schemes/events/RoomDeleted.d.ts +3 -0
  220. package/src/types/dist/schemes/events/RoomDeleted.js +2 -0
  221. package/src/types/dist/schemes/events/RoomJoined.d.ts +4 -0
  222. package/src/types/dist/schemes/events/RoomJoined.js +2 -0
  223. package/src/types/dist/schemes/events/RoomLeft.d.ts +3 -0
  224. package/src/types/dist/schemes/events/RoomLeft.js +2 -0
  225. package/src/types/dist/schemes/events/RoomMemberJoined.d.ts +5 -0
  226. package/src/types/dist/schemes/events/RoomMemberJoined.js +2 -0
  227. package/src/types/dist/schemes/events/RoomMemberLeft.d.ts +4 -0
  228. package/src/types/dist/schemes/events/RoomMemberLeft.js +2 -0
  229. package/src/types/dist/schemes/events/RoomMemberUpdated.d.ts +6 -0
  230. package/src/types/dist/schemes/events/RoomMemberUpdated.js +2 -0
  231. package/src/types/dist/schemes/events/RoomMembers.d.ts +5 -0
  232. package/src/types/dist/schemes/events/RoomMembers.js +2 -0
  233. package/src/types/dist/schemes/events/RoomUpdated.d.ts +4 -0
  234. package/src/types/dist/schemes/events/RoomUpdated.js +2 -0
  235. package/src/types/dist/schemes/events/Session.d.ts +7 -0
  236. package/src/types/dist/schemes/events/Session.js +2 -0
  237. package/src/types/dist/schemes/events/SpaceDeleted.d.ts +3 -0
  238. package/src/types/dist/schemes/events/SpaceDeleted.js +2 -0
  239. package/src/types/dist/schemes/events/SpaceJoined.d.ts +4 -0
  240. package/src/types/dist/schemes/events/SpaceJoined.js +2 -0
  241. package/src/types/dist/schemes/events/SpaceLeft.d.ts +3 -0
  242. package/src/types/dist/schemes/events/SpaceLeft.js +2 -0
  243. package/src/types/dist/schemes/events/SpaceMemberJoined.d.ts +5 -0
  244. package/src/types/dist/schemes/events/SpaceMemberJoined.js +2 -0
  245. package/src/types/dist/schemes/events/SpaceMemberLeft.d.ts +4 -0
  246. package/src/types/dist/schemes/events/SpaceMemberLeft.js +2 -0
  247. package/src/types/dist/schemes/events/SpaceMemberUpdated.d.ts +6 -0
  248. package/src/types/dist/schemes/events/SpaceMemberUpdated.js +2 -0
  249. package/src/types/dist/schemes/events/SpaceMembers.d.ts +5 -0
  250. package/src/types/dist/schemes/events/SpaceMembers.js +2 -0
  251. package/src/types/dist/schemes/events/SpaceRooms.d.ts +5 -0
  252. package/src/types/dist/schemes/events/SpaceRooms.js +2 -0
  253. package/src/types/dist/schemes/events/SpaceUpdated.d.ts +4 -0
  254. package/src/types/dist/schemes/events/SpaceUpdated.js +2 -0
  255. package/src/types/dist/schemes/events/TopicDeleted.d.ts +4 -0
  256. package/src/types/dist/schemes/events/TopicDeleted.js +2 -0
  257. package/src/types/dist/schemes/events/UserUpdated.d.ts +4 -0
  258. package/src/types/dist/schemes/events/UserUpdated.js +2 -0
  259. package/src/types/src/index.ts +4 -0
  260. package/src/types/src/schemes/Room.ts +1 -1
  261. package/src/types/src/schemes/Topic.ts +6 -1
  262. package/src/types/src/schemes/commands/CreateRoom.ts +3 -0
  263. package/src/types/src/schemes/commands/CreateTopic.ts +2 -2
package/.idea/vcs.xml CHANGED
@@ -2,5 +2,6 @@
2
2
  <project version="4">
3
3
  <component name="VcsDirectoryMappings">
4
4
  <mapping directory="" vcs="Git" />
5
+ <mapping directory="$PROJECT_DIR$/src/types" vcs="Git" />
5
6
  </component>
6
7
  </project>
package/build/index.js CHANGED
@@ -642,9 +642,8 @@ function MessagesManager_toPropertyKey(arg) { var key = MessagesManager_toPrimit
642
642
  function MessagesManager_toPrimitive(input, hint) { if (MessagesManager_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (MessagesManager_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
643
643
 
644
644
  var getCombinedId = function getCombinedId(location) {
645
- return Object.values(location).filter(function (v) {
646
- return v;
647
- }).join('_');
645
+ var _location$roomId, _location$topicId;
646
+ return ((_location$roomId = location.roomId) !== null && _location$roomId !== void 0 ? _location$roomId : '') + ((_location$topicId = location.topicId) !== null && _location$topicId !== void 0 ? _location$topicId : '');
648
647
  };
649
648
  var MessagesManager = /*#__PURE__*/function () {
650
649
  // Temporary not lazy loaded; server must implement GetTopicMessages command.
@@ -709,7 +708,7 @@ var MessagesManager = /*#__PURE__*/function () {
709
708
  _context2.next = 4;
710
709
  break;
711
710
  }
712
- throw "You are not in space ".concat(spaceId);
711
+ throw new Error("You are not in space ".concat(spaceId));
713
712
  case 4:
714
713
  _context2.next = 6;
715
714
  return this.tracker.rooms.get();
@@ -839,17 +838,34 @@ var MessagesManager = /*#__PURE__*/function () {
839
838
  }, {
840
839
  key: "_handleNewTopics",
841
840
  value: function _handleNewTopics(roomId) {
842
- var _this$list2;
843
- for (var _len2 = arguments.length, topics = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {
844
- topics[_key2 - 1] = arguments[_key2];
841
+ for (var _len2 = arguments.length, newTopics = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {
842
+ newTopics[_key2 - 1] = arguments[_key2];
845
843
  }
846
- (_this$list2 = this.list).set.apply(_this$list2, MessagesManager_toConsumableArray(topics.map(function (topic) {
847
- return [getCombinedId({
844
+ for (var _i = 0, _newTopics = newTopics; _i < _newTopics.length; _i++) {
845
+ var newTopic = _newTopics[_i];
846
+ var newTopicCombinedId = getCombinedId({
848
847
  roomId: roomId,
849
- topicId: topic.id
850
- }), new ObservableIndexedObjectCollection('id')];
851
- })));
852
- this.createAckReportsForNewTopics(roomId, topics);
848
+ topicId: newTopic.id
849
+ });
850
+ this.list.set([newTopicCombinedId, new ObservableIndexedObjectCollection('id')]);
851
+
852
+ // If new topic refers to some message from this room, update other structures
853
+ if (newTopic.messageRef) {
854
+ var refTopicCombinedId = getCombinedId({
855
+ roomId: roomId,
856
+ topicId: newTopic.messageRef.topicId
857
+ });
858
+ var refTopicMessages = this.list.get(refTopicCombinedId);
859
+ var refMessage = refTopicMessages === null || refTopicMessages === void 0 ? void 0 : refTopicMessages.get(newTopic.messageRef.messageId);
860
+ if (refMessage) {
861
+ // Update referenced topic ID in message
862
+ refTopicMessages.set(_objectSpread(_objectSpread({}, refMessage), {}, {
863
+ topicRef: newTopic.id
864
+ }));
865
+ }
866
+ }
867
+ }
868
+ this.createAckReportsForNewTopics(roomId, newTopics);
853
869
  }
854
870
  }, {
855
871
  key: "handleNewMessage",
@@ -953,6 +969,9 @@ var RoomsManager = /*#__PURE__*/function () {
953
969
  RoomsManager_defineProperty(this, "deferredSession", new DeferredTask());
954
970
  RoomsManager_defineProperty(this, "membersPromises", new PromiseRegistry());
955
971
  this.messages = new MessagesManager(tracker);
972
+ this.tracker.client.on('NewMessage', function (ev) {
973
+ return _this.handleNewMessage(ev);
974
+ });
956
975
  this.tracker.client.on('NewTopic', function (ev) {
957
976
  return _this.handleNewTopic(ev);
958
977
  });
@@ -1367,6 +1386,18 @@ var RoomsManager = /*#__PURE__*/function () {
1367
1386
  members.set(newMember);
1368
1387
  });
1369
1388
  }
1389
+ }, {
1390
+ key: "handleNewMessage",
1391
+ value: function handleNewMessage(ev) {
1392
+ var topics = this.topics.get(ev.location.roomId);
1393
+ var topic = topics.get(ev.location.topicId);
1394
+ if (topic) {
1395
+ topics.set(RoomsManager_objectSpread(RoomsManager_objectSpread({}, topic), {}, {
1396
+ messageCount: topic.messageCount + 1,
1397
+ lastMessage: ev.message
1398
+ }));
1399
+ }
1400
+ }
1370
1401
  }]);
1371
1402
  return RoomsManager;
1372
1403
  }();
@@ -1932,32 +1963,36 @@ Permissions_defineProperty(Permissions, "list", {
1932
1963
  value: 1 << 4,
1933
1964
  maxLayer: Layer.Room
1934
1965
  },
1935
- ManageTopic: {
1966
+ CreateTopics: {
1936
1967
  value: 1 << 5,
1968
+ maxLayer: Layer.Room
1969
+ },
1970
+ ManageTopic: {
1971
+ value: 1 << 6,
1937
1972
  maxLayer: Layer.Topic
1938
1973
  },
1939
1974
  ManageSpaceMembers: {
1940
- value: 1 << 6,
1975
+ value: 1 << 7,
1941
1976
  maxLayer: Layer.Space
1942
1977
  },
1943
1978
  ManageRoomMembers: {
1944
- value: 1 << 7,
1979
+ value: 1 << 8,
1945
1980
  maxLayer: Layer.Room
1946
1981
  },
1947
1982
  CreateMessages: {
1948
- value: 1 << 8,
1983
+ value: 1 << 9,
1949
1984
  maxLayer: Layer.Topic
1950
1985
  },
1951
1986
  ManagePermissions: {
1952
- value: 1 << 9,
1987
+ value: 1 << 10,
1953
1988
  maxLayer: Layer.Topic
1954
1989
  },
1955
1990
  CreateSpaceRooms: {
1956
- value: 1 << 10,
1991
+ value: 1 << 11,
1957
1992
  maxLayer: Layer.Space
1958
1993
  },
1959
1994
  ManageSpaceRooms: {
1960
- value: 1 << 11,
1995
+ value: 1 << 12,
1961
1996
  maxLayer: Layer.Space
1962
1997
  }
1963
1998
  });