polfan-server-js-client 0.1.99912 → 0.1.99914
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/index.js +15 -23
- package/build/index.js.map +1 -1
- package/build/types/state-tracker/TopicHistoryWindow.d.ts +2 -2
- package/build/types/types/src/index.d.ts +1 -2
- package/build/types/types/src/schemes/Message.d.ts +3 -7
- package/build/types/types/src/schemes/Topic.d.ts +1 -2
- package/build/types/types/src/schemes/commands/CreateTopic.d.ts +1 -5
- package/build/types/types/src/schemes/events/NewMessage.d.ts +0 -2
- package/package.json +1 -1
- package/src/EventTarget.ts +1 -0
- package/src/state-tracker/MessagesManager.ts +2 -2
- package/src/state-tracker/RoomMessagesHistory.ts +3 -7
- package/src/state-tracker/RoomsManager.ts +3 -7
- package/src/state-tracker/SpacesManager.ts +1 -4
- package/src/state-tracker/TopicHistoryWindow.ts +6 -6
- package/src/types/src/index.ts +0 -2
- package/src/types/src/schemes/Message.ts +3 -7
- package/src/types/src/schemes/Topic.ts +1 -2
- package/src/types/src/schemes/commands/CreateTopic.ts +1 -6
- package/src/types/src/schemes/events/NewMessage.ts +0 -2
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Message,
|
|
1
|
+
import { Message, Topic } from "../types/src";
|
|
2
2
|
import { ChatStateTracker } from "./ChatStateTracker";
|
|
3
3
|
import { ObservableIndexedObjectCollection } from "../IndexedObjectCollection";
|
|
4
4
|
export declare enum WindowState {
|
|
@@ -63,7 +63,7 @@ export declare class TopicHistoryWindow extends TraversableRemoteCollection<Mess
|
|
|
63
63
|
* For internal use.
|
|
64
64
|
* @internal
|
|
65
65
|
*/
|
|
66
|
-
|
|
66
|
+
_updateMessageReference(refTopic: Topic): void;
|
|
67
67
|
private handleNewMessage;
|
|
68
68
|
private handleSession;
|
|
69
69
|
protected fetchItemsAfter(): Promise<Message[] | null>;
|
|
@@ -75,7 +75,6 @@ import { DeleteOwner } from "./schemes/commands/DeleteOwner";
|
|
|
75
75
|
import { GetOwners } from "./schemes/commands/GetOwners";
|
|
76
76
|
import { Owners } from "./schemes/events/Owners";
|
|
77
77
|
import { Ok } from "./schemes/events/Ok";
|
|
78
|
-
import { MessageReference } from "./schemes/commands/CreateTopic";
|
|
79
78
|
import { FollowTopic } from "./schemes/commands/FollowTopic";
|
|
80
79
|
import { FollowedTopics } from "./schemes/events/FollowedTopics";
|
|
81
80
|
import { FollowedTopic } from "./schemes/FollowedTopic";
|
|
@@ -88,4 +87,4 @@ import { GetMessages } from "./schemes/commands/GetMessages";
|
|
|
88
87
|
import { Messages } from "./schemes/events/Messages";
|
|
89
88
|
import { Topics } from "./schemes/events/Topics";
|
|
90
89
|
import { GetTopics } from "./schemes/commands/GetTopics";
|
|
91
|
-
export { Envelope, Message, MessageType, Role, Room, RoomFlag, RoomType, RoomMember, RoomSummary, Space, SpaceMember, Topic, FollowedTopic, User, UserState, PermissionOverwritesValue, ChatLocation,
|
|
90
|
+
export { Envelope, Message, MessageType, Role, Room, RoomFlag, RoomType, RoomMember, RoomSummary, Space, SpaceMember, Topic, FollowedTopic, User, UserState, PermissionOverwritesValue, ChatLocation, Bye, Error, Messages, NewMessage, NewRole, NewRoom, NewTopic, TopicFollowed, TopicUnfollowed, FollowedTopics, FollowedTopicUpdated, ComputedPermissions, PermissionOverwrites, PermissionOverwritesUpdated, RoleDeleted, RoleUpdated, RoomDeleted, RoomUpdated, RoomJoined, RoomLeft, RoomMemberJoined, RoomMemberLeft, RoomMembers, RoomMemberUpdated, UserUpdated, Session, SpaceDeleted, SpaceUpdated, SpaceJoined, SpaceLeft, SpaceMemberJoined, SpaceMemberLeft, SpaceMembers, SpaceMemberUpdated, SpaceRooms, TopicDeleted, PermissionOverwriteTargets, Owners, Ok, AssignRole, GetMessages, CreateMessage, Ack, CreateRole, CreateRoom, CreateSpace, CreateTopic, FollowTopic, UnfollowTopic, GetFollowedTopics, DeassignRole, DeleteRole, DeleteRoom, DeleteSpace, DeleteTopic, SetPermissionOverwrites, GetPermissionOverwrites, GetComputedPermissions, GetRoomMembers, GetSession, GetSpaceMembers, GetSpaceRooms, JoinRoom, JoinSpace, LeaveRoom, LeaveSpace, UpdateRole, UpdateSpace, UpdateRoom, GetPermissionOverwriteTargets, CreateOwner, DeleteOwner, GetOwners, Topics, GetTopics, };
|
|
@@ -1,13 +1,9 @@
|
|
|
1
1
|
import { User } from "./User";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
RoomJoin = "RoomJoin",
|
|
5
|
-
RoomLeave = "RoomLeave",
|
|
6
|
-
SpaceJoin = "SpaceJoin",
|
|
7
|
-
SpaceLeave = "SpaceLeave"
|
|
8
|
-
}
|
|
2
|
+
import { ChatLocation } from "./ChatLocation";
|
|
3
|
+
export type MessageType = 'Text' | 'RoomJoin' | 'RoomLeave' | 'SpaceJoin' | 'SpaceLeave';
|
|
9
4
|
export interface Message {
|
|
10
5
|
id: string;
|
|
6
|
+
location: ChatLocation;
|
|
11
7
|
createdAt: string;
|
|
12
8
|
type: MessageType;
|
|
13
9
|
user: User;
|
|
@@ -1,9 +1,8 @@
|
|
|
1
|
-
import { MessageReference } from "./commands/CreateTopic";
|
|
2
1
|
import { Message } from "./Message";
|
|
3
2
|
export interface Topic {
|
|
4
3
|
id: string;
|
|
5
4
|
name: string;
|
|
6
5
|
messageCount: number;
|
|
7
|
-
|
|
6
|
+
refMessage?: Message;
|
|
8
7
|
lastMessage?: Message;
|
|
9
8
|
}
|
|
@@ -1,12 +1,8 @@
|
|
|
1
1
|
import { ChatLocation } from "../ChatLocation";
|
|
2
2
|
import { CreateMessage } from "./CreateMessage";
|
|
3
|
-
export interface MessageReference {
|
|
4
|
-
topicId: string;
|
|
5
|
-
messageId: string;
|
|
6
|
-
}
|
|
7
3
|
export interface CreateTopic {
|
|
8
4
|
location: ChatLocation;
|
|
9
5
|
name: string;
|
|
10
|
-
|
|
6
|
+
refMessageId?: string;
|
|
11
7
|
initialMessage?: Omit<CreateMessage, 'location'>;
|
|
12
8
|
}
|
package/package.json
CHANGED
package/src/EventTarget.ts
CHANGED
|
@@ -207,8 +207,8 @@ export class MessagesManager {
|
|
|
207
207
|
}
|
|
208
208
|
|
|
209
209
|
private updateLocallyFollowedTopicOnNewMessage(ev: NewMessage): void {
|
|
210
|
-
const roomFollowedTopics = this.followedTopics.get(ev.location.roomId);
|
|
211
|
-
const followedTopic = roomFollowedTopics?.get(ev.location.topicId);
|
|
210
|
+
const roomFollowedTopics = this.followedTopics.get(ev.message.location.roomId);
|
|
211
|
+
const followedTopic = roomFollowedTopics?.get(ev.message.location.topicId);
|
|
212
212
|
|
|
213
213
|
if (! roomFollowedTopics || ! followedTopic) {
|
|
214
214
|
// Skip if we don't follow this room or targeted topic
|
|
@@ -66,13 +66,9 @@ export class RoomMessagesHistory {
|
|
|
66
66
|
this.historyWindows.set([topic.id, new TopicHistoryWindow(this.room.id, topic.id, this.tracker)]);
|
|
67
67
|
|
|
68
68
|
// If new topic refers to some message from this room, update other structures
|
|
69
|
-
if (topic.
|
|
70
|
-
const refHistoryWindow = this.historyWindows.get(topic.
|
|
71
|
-
|
|
72
|
-
refHistoryWindow._setTopicReference({
|
|
73
|
-
topicId: topic.id, // Reverse the reference
|
|
74
|
-
messageId: topic.messageRef.messageId,
|
|
75
|
-
});
|
|
69
|
+
if (topic.refMessage) {
|
|
70
|
+
const refHistoryWindow = this.historyWindows.get(topic.refMessage.location.topicId);
|
|
71
|
+
refHistoryWindow?._updateMessageReference(topic);
|
|
76
72
|
}
|
|
77
73
|
}
|
|
78
74
|
}
|
|
@@ -213,11 +213,7 @@ export class RoomsManager {
|
|
|
213
213
|
}
|
|
214
214
|
|
|
215
215
|
private handleRoomUpdated(ev: RoomUpdated): void {
|
|
216
|
-
this.list.set(
|
|
217
|
-
...this.list.get(ev.room.id),
|
|
218
|
-
name: ev.room.name,
|
|
219
|
-
description: ev.room.description,
|
|
220
|
-
} as Room);
|
|
216
|
+
this.list.set(ev.room);
|
|
221
217
|
}
|
|
222
218
|
|
|
223
219
|
private handleRoomDeleted(ev: RoomDeleted): void {
|
|
@@ -306,8 +302,8 @@ export class RoomsManager {
|
|
|
306
302
|
}
|
|
307
303
|
|
|
308
304
|
private handleNewMessage(ev: NewMessage): void {
|
|
309
|
-
const topics = this.topics.get(ev.location.roomId);
|
|
310
|
-
const topic = topics?.get(ev.location.topicId);
|
|
305
|
+
const topics = this.topics.get(ev.message.location.roomId);
|
|
306
|
+
const topic = topics?.get(ev.message.location.topicId);
|
|
311
307
|
|
|
312
308
|
if (topic) {
|
|
313
309
|
topics.set({
|
|
@@ -160,10 +160,7 @@ export class SpacesManager {
|
|
|
160
160
|
}
|
|
161
161
|
|
|
162
162
|
private handleSpaceUpdated(ev: SpaceUpdated): void {
|
|
163
|
-
this.list.set(
|
|
164
|
-
...this.list.get(ev.space.id),
|
|
165
|
-
name: ev.space.name,
|
|
166
|
-
} as Space);
|
|
163
|
+
this.list.set(ev.space);
|
|
167
164
|
}
|
|
168
165
|
|
|
169
166
|
private handleSpaceDeleted(ev: SpaceDeleted | SpaceLeft): void {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {Message,
|
|
1
|
+
import {Message, NewMessage, Session, Topic} from "../types/src";
|
|
2
2
|
import {ChatStateTracker} from "./ChatStateTracker";
|
|
3
3
|
import {ObservableIndexedObjectCollection} from "../IndexedObjectCollection";
|
|
4
4
|
|
|
@@ -201,20 +201,20 @@ export class TopicHistoryWindow extends TraversableRemoteCollection<Message> {
|
|
|
201
201
|
* For internal use.
|
|
202
202
|
* @internal
|
|
203
203
|
*/
|
|
204
|
-
public
|
|
205
|
-
const refMessage = this.get(
|
|
204
|
+
public _updateMessageReference(refTopic: Topic): void {
|
|
205
|
+
const refMessage = this.get(refTopic.refMessage.id);
|
|
206
206
|
|
|
207
207
|
if (refMessage) {
|
|
208
208
|
// Update referenced topic ID in message
|
|
209
|
-
this.set({...refMessage, topicRef:
|
|
209
|
+
this.set({...refMessage, topicRef: refTopic.id});
|
|
210
210
|
}
|
|
211
211
|
}
|
|
212
212
|
|
|
213
213
|
private async handleNewMessage(ev: NewMessage): Promise<void> {
|
|
214
214
|
if (
|
|
215
215
|
[WindowState.LATEST, WindowState.LIVE].includes(this.state)
|
|
216
|
-
&& ev.location.roomId === this.roomId
|
|
217
|
-
&& ev.location.topicId === this.topicId
|
|
216
|
+
&& ev.message.location.roomId === this.roomId
|
|
217
|
+
&& ev.message.location.topicId === this.topicId
|
|
218
218
|
) {
|
|
219
219
|
this.addItems([ev.message], 'tail');
|
|
220
220
|
}
|
package/src/types/src/index.ts
CHANGED
|
@@ -75,7 +75,6 @@ import { DeleteOwner } from "./schemes/commands/DeleteOwner";
|
|
|
75
75
|
import { GetOwners } from "./schemes/commands/GetOwners";
|
|
76
76
|
import { Owners } from "./schemes/events/Owners";
|
|
77
77
|
import { Ok } from "./schemes/events/Ok";
|
|
78
|
-
import {MessageReference} from "./schemes/commands/CreateTopic";
|
|
79
78
|
import {FollowTopic} from "./schemes/commands/FollowTopic";
|
|
80
79
|
import {FollowedTopics} from "./schemes/events/FollowedTopics";
|
|
81
80
|
import {FollowedTopic} from "./schemes/FollowedTopic";
|
|
@@ -108,7 +107,6 @@ export {
|
|
|
108
107
|
UserState,
|
|
109
108
|
PermissionOverwritesValue,
|
|
110
109
|
ChatLocation,
|
|
111
|
-
MessageReference,
|
|
112
110
|
// events
|
|
113
111
|
Bye,
|
|
114
112
|
Error,
|
|
@@ -1,15 +1,11 @@
|
|
|
1
1
|
import {User} from "./User";
|
|
2
|
+
import {ChatLocation} from "./ChatLocation";
|
|
2
3
|
|
|
3
|
-
export
|
|
4
|
-
Text = 'Text',
|
|
5
|
-
RoomJoin = 'RoomJoin',
|
|
6
|
-
RoomLeave = 'RoomLeave',
|
|
7
|
-
SpaceJoin = 'SpaceJoin',
|
|
8
|
-
SpaceLeave = 'SpaceLeave',
|
|
9
|
-
}
|
|
4
|
+
export type MessageType = 'Text'|'RoomJoin'|'RoomLeave'|'SpaceJoin'|'SpaceLeave';
|
|
10
5
|
|
|
11
6
|
export interface Message {
|
|
12
7
|
id: string;
|
|
8
|
+
location: ChatLocation;
|
|
13
9
|
createdAt: string;
|
|
14
10
|
type: MessageType;
|
|
15
11
|
user: User;
|
|
@@ -1,10 +1,9 @@
|
|
|
1
|
-
import {MessageReference} from "./commands/CreateTopic";
|
|
2
1
|
import {Message} from "./Message";
|
|
3
2
|
|
|
4
3
|
export interface Topic {
|
|
5
4
|
id: string;
|
|
6
5
|
name: string;
|
|
7
6
|
messageCount: number;
|
|
8
|
-
|
|
7
|
+
refMessage?: Message;
|
|
9
8
|
lastMessage?: Message;
|
|
10
9
|
}
|
|
@@ -1,14 +1,9 @@
|
|
|
1
1
|
import {ChatLocation} from "../ChatLocation";
|
|
2
2
|
import {CreateMessage} from "./CreateMessage";
|
|
3
3
|
|
|
4
|
-
export interface MessageReference {
|
|
5
|
-
topicId: string;
|
|
6
|
-
messageId: string;
|
|
7
|
-
}
|
|
8
|
-
|
|
9
4
|
export interface CreateTopic {
|
|
10
5
|
location: ChatLocation;
|
|
11
6
|
name: string;
|
|
12
|
-
|
|
7
|
+
refMessageId?: string;
|
|
13
8
|
initialMessage?: Omit<CreateMessage, 'location'>;
|
|
14
9
|
}
|