polfan-server-js-client 0.2.101 → 0.2.102

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.
@@ -46,6 +46,7 @@ export declare class FollowedTopicsManager extends EventTarget<EventMap> {
46
46
  private handleNewMessage;
47
47
  private handleFollowedTopicUpdated;
48
48
  private handleTopicFollowed;
49
+ private handleTopicUnfollowed;
49
50
  private handleRoomDeleted;
50
51
  private handleRoomJoin;
51
52
  private handleRoomLeft;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "polfan-server-js-client",
3
- "version": "0.2.101",
3
+ "version": "0.2.102",
4
4
  "description": "JavaScript client library for handling communication with Polfan chat server.",
5
5
  "author": "Jarosław Żak",
6
6
  "license": "MIT",
@@ -10,7 +10,7 @@ import {
10
10
  RoomDeleted,
11
11
  RoomJoined, RoomLeft,
12
12
  Session, TopicDeleted,
13
- TopicFollowed
13
+ TopicFollowed, TopicUnfollowed
14
14
  } from "../types/src";
15
15
 
16
16
  interface EventMap {
@@ -31,6 +31,7 @@ export class FollowedTopicsManager extends EventTarget<EventMap> {
31
31
  this.tracker.client.on('NewTopic', ev => this.handleNewTopic(ev));
32
32
  this.tracker.client.on('FollowedTopicUpdated', ev => this.handleFollowedTopicUpdated(ev));
33
33
  this.tracker.client.on('TopicFollowed', ev => this.handleTopicFollowed(ev));
34
+ this.tracker.client.on('TopicUnfollowed', ev => this.handleTopicUnfollowed(ev));
34
35
  this.tracker.client.on('NewMessage', ev => this.handleNewMessage(ev));
35
36
  this.tracker.client.on('RoomDeleted', ev => this.handleRoomDeleted(ev));
36
37
  this.tracker.client.on('RoomLeft', ev => this.handleRoomLeft(ev));
@@ -218,6 +219,11 @@ export class FollowedTopicsManager extends EventTarget<EventMap> {
218
219
  this.invalidateUnreadSummaries(ev.followedTopic.location.roomId, ev.followedTopic.location.topicId);
219
220
  }
220
221
 
222
+ private handleTopicUnfollowed(ev: TopicUnfollowed): void {
223
+ this.followedTopics.get(ev.location.roomId)?.delete(ev.location.topicId);
224
+ this.invalidateUnreadSummaries(ev.location.roomId, ev.location.topicId);
225
+ }
226
+
221
227
  private handleRoomDeleted(ev: RoomDeleted): void {
222
228
  this.clearRoomFollowedTopicsStructures(ev.id);
223
229
  }