polfan-server-js-client 0.2.58 → 0.2.61
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/.idea/workspace.xml +56 -63
- package/babel.config.js +4 -5
- package/build/index.cjs.js +4510 -1986
- package/build/index.cjs.js.map +1 -1
- package/build/index.umd.js +1 -1
- package/build/index.umd.js.map +1 -1
- package/build/types/AbstractChatClient.d.ts +4 -2
- package/build/types/Permissions.d.ts +4 -0
- package/build/types/state-tracker/TopicHistoryWindow.d.ts +2 -2
- package/build/types/types/src/index.d.ts +3 -2
- package/build/types/types/src/schemes/RoomMember.d.ts +3 -0
- package/build/types/types/src/schemes/User.d.ts +2 -2
- package/build/types/types/src/schemes/commands/CreateMessage.d.ts +2 -0
- package/build/types/types/src/schemes/commands/UpdateRoomMember.d.ts +7 -0
- package/build/types/types/src/schemes/commands/UpdateSpaceMember.d.ts +5 -0
- package/package.json +13 -27
- package/src/AbstractChatClient.ts +4 -2
- package/src/Permissions.ts +1 -0
- package/src/state-tracker/ChatStateTracker.ts +17 -7
- package/src/state-tracker/RoomMessagesHistory.ts +1 -1
- package/src/state-tracker/RoomsManager.ts +8 -1
- package/src/state-tracker/TopicHistoryWindow.ts +2 -2
- package/src/types/src/index.ts +5 -3
- package/src/types/src/schemes/RoomMember.ts +3 -0
- package/src/types/src/schemes/User.ts +2 -2
- package/src/types/src/schemes/commands/CreateMessage.ts +2 -0
- package/src/types/src/schemes/commands/UpdateRoomMember.ts +7 -0
- package/src/types/src/schemes/commands/UpdateSpaceMember.ts +5 -0
- package/tests/history-window.test.ts +1 -1
- package/webpack.config.browser.js +2 -24
- package/webpack.config.node.js +2 -14
- package/.eslintignore +0 -0
- package/.eslintrc.json +0 -0
- package/src/types/src/schemes/commands/SetCustomNick.ts +0 -5
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
import { Bye, GetSession, JoinSpace, Session, SpaceJoined, Error as ErrorType, SpaceLeft, SpaceMemberJoined, SpaceMemberLeft, SpaceMemberUpdated, SpaceDeleted, SpaceMembers, SpaceRooms, NewRole, RoomDeleted, RoomJoined, RoomLeft, RoomMemberLeft, RoomMemberJoined, RoomMembers, NewRoom, NewTopic, TopicDeleted, NewMessage, GetPermissionOverwrites, GetComputedPermissions, LeaveSpace, CreateSpace, DeleteSpace, GetSpaceMembers, GetSpaceRooms, CreateRole, DeleteRole, AssignRole, DeassignRole, SetPermissionOverwrites, JoinRoom, LeaveRoom, CreateRoom, DeleteRoom, GetRoomMembers, CreateTopic, DeleteTopic, CreateMessage, Envelope, PermissionOverwrites, PermissionOverwritesUpdated, RoomMemberUpdated, UpdateRole, RoleUpdated, Ack, UserUpdated, UpdateRoom, RoomUpdated, UpdateSpace, SpaceUpdated, PermissionOverwriteTargets, GetPermissionOverwriteTargets, Owners, Ok, GetOwners, CreateOwner, RoleDeleted, FollowedTopicUpdated, TopicFollowed, TopicUnfollowed, FollowedTopics, FollowTopic, UnfollowTopic, GetFollowedTopics, Messages, GetMessages, Topics, GetTopics, TopicUpdated, UpdateTopic, GetDiscoverableSpaces, DiscoverableSpaces, CreateEmoticon, DeleteEmoticon, GetEmoticons, Emoticons, EmoticonDeleted, NewEmoticon, Bans, GetBans, Ban, Unban, Kick, ClientData, GetClientData, SetClientData, GetRoomSummary, GetSpaceSummary, RoomSummaryEvent, SpaceSummaryEvent,
|
|
1
|
+
import { Bye, GetSession, JoinSpace, Session, SpaceJoined, Error as ErrorType, SpaceLeft, SpaceMemberJoined, SpaceMemberLeft, SpaceMemberUpdated, SpaceDeleted, SpaceMembers, SpaceRooms, NewRole, RoomDeleted, RoomJoined, RoomLeft, RoomMemberLeft, RoomMemberJoined, RoomMembers, NewRoom, NewTopic, TopicDeleted, NewMessage, GetPermissionOverwrites, GetComputedPermissions, LeaveSpace, CreateSpace, DeleteSpace, GetSpaceMembers, GetSpaceRooms, CreateRole, DeleteRole, AssignRole, DeassignRole, SetPermissionOverwrites, JoinRoom, LeaveRoom, CreateRoom, DeleteRoom, GetRoomMembers, CreateTopic, DeleteTopic, CreateMessage, Envelope, PermissionOverwrites, PermissionOverwritesUpdated, RoomMemberUpdated, UpdateRole, RoleUpdated, Ack, UserUpdated, UpdateRoom, RoomUpdated, UpdateSpace, SpaceUpdated, PermissionOverwriteTargets, GetPermissionOverwriteTargets, Owners, Ok, GetOwners, CreateOwner, RoleDeleted, FollowedTopicUpdated, TopicFollowed, TopicUnfollowed, FollowedTopics, FollowTopic, UnfollowTopic, GetFollowedTopics, Messages, GetMessages, Topics, GetTopics, TopicUpdated, UpdateTopic, GetDiscoverableSpaces, DiscoverableSpaces, CreateEmoticon, DeleteEmoticon, GetEmoticons, Emoticons, EmoticonDeleted, NewEmoticon, Bans, GetBans, Ban, Unban, Kick, ClientData, GetClientData, SetClientData, GetRoomSummary, GetSpaceSummary, RoomSummaryEvent, SpaceSummaryEvent, UpdateSpaceMember, Relationships, RelationshipDeleted, NewRelationship, DeleteRelationship, CreateRelationship, RoomSummaryUpdated } from "./types/src/index";
|
|
2
2
|
import { EventTarget } from "./EventTarget";
|
|
3
3
|
import { GetRelationships } from "./types/src/schemes/commands/GetRelationships";
|
|
4
|
+
import { UpdateRoomMember } from "./types/src/schemes/commands/UpdateRoomMember";
|
|
4
5
|
type ArrayOfPromiseResolvers = [(value: any) => void, (reason?: any) => void];
|
|
5
6
|
export declare abstract class AbstractChatClient extends EventTarget {
|
|
6
7
|
protected awaitingResponse: Map<string, ArrayOfPromiseResolvers>;
|
|
@@ -113,7 +114,7 @@ export type CommandsMap = {
|
|
|
113
114
|
AssignRole: [AssignRole, EventsMap['SpaceMemberUpdated'] | EventsMap['RoomMemberUpdated']];
|
|
114
115
|
DeassignRole: [DeassignRole, EventsMap['SpaceMemberUpdated'] | EventsMap['RoomMemberUpdated']];
|
|
115
116
|
GetSpaceSummary: [GetSpaceSummary, EventsMap['SpaceSummaryEvent']];
|
|
116
|
-
|
|
117
|
+
UpdateSpaceMember: [UpdateSpaceMember, EventsMap['SpaceMemberUpdated']];
|
|
117
118
|
JoinRoom: [JoinRoom, EventsMap['RoomJoined']];
|
|
118
119
|
LeaveRoom: [LeaveRoom, EventsMap['RoomLeft']];
|
|
119
120
|
CreateRoom: [CreateRoom, EventsMap['RoomJoined']];
|
|
@@ -121,6 +122,7 @@ export type CommandsMap = {
|
|
|
121
122
|
UpdateRoom: [UpdateRoom, EventsMap['RoomUpdated']];
|
|
122
123
|
GetRoomMembers: [GetRoomMembers, EventsMap['RoomMembers']];
|
|
123
124
|
GetRoomSummary: [GetRoomSummary, EventsMap['RoomSummaryEvent']];
|
|
125
|
+
UpdateRoomMember: [UpdateRoomMember, EventsMap['RoomMemberUpdated']];
|
|
124
126
|
CreateTopic: [CreateTopic, EventsMap['NewTopic']];
|
|
125
127
|
DeleteTopic: [DeleteTopic, EventsMap['TopicDeleted']];
|
|
126
128
|
CreateMessage: [CreateMessage, EventsMap['NewMessage']];
|
|
@@ -82,6 +82,10 @@ export declare class Permissions {
|
|
|
82
82
|
value: number;
|
|
83
83
|
maxLayer: Layer;
|
|
84
84
|
};
|
|
85
|
+
ChangeOwnColor: {
|
|
86
|
+
value: number;
|
|
87
|
+
maxLayer: Layer;
|
|
88
|
+
};
|
|
85
89
|
};
|
|
86
90
|
static getNames(): (keyof typeof this.list)[];
|
|
87
91
|
static getByName(name: keyof typeof this.list): PermissionDefinition | undefined;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Message, Topic } from "../types/src";
|
|
2
2
|
import { ChatStateTracker } from "./ChatStateTracker";
|
|
3
|
-
import {
|
|
3
|
+
import { ObservableIndexedObjectCollection } from "../IndexedObjectCollection";
|
|
4
4
|
export declare enum WindowState {
|
|
5
5
|
/**
|
|
6
6
|
* The latest messages (those received live) are available in the history window, history has not been fetched.
|
|
@@ -44,7 +44,7 @@ export declare abstract class TraversableRemoteCollection<T> extends ObservableI
|
|
|
44
44
|
set limit(value: number | null);
|
|
45
45
|
get hasLatest(): boolean;
|
|
46
46
|
get hasOldest(): boolean;
|
|
47
|
-
abstract createMirror():
|
|
47
|
+
abstract createMirror(): TraversableRemoteCollection<T>;
|
|
48
48
|
resetToLatest(): Promise<void>;
|
|
49
49
|
fetchPrevious(): Promise<void>;
|
|
50
50
|
fetchNext(): Promise<void>;
|
|
@@ -117,7 +117,7 @@ import { GetSpaceSummary } from "./schemes/commands/GetSpaceSummary";
|
|
|
117
117
|
import { SpaceFlag } from "./schemes/Space";
|
|
118
118
|
import { SpaceSummary as SpaceSummaryEvent } from "./schemes/events/SpaceSummary";
|
|
119
119
|
import { RoomSummary as RoomSummaryEvent } from "./schemes/events/RoomSummary";
|
|
120
|
-
import {
|
|
120
|
+
import { UpdateSpaceMember } from "./schemes/commands/UpdateSpaceMember";
|
|
121
121
|
import { NewRelationship } from "./schemes/events/NewRelationship";
|
|
122
122
|
import { RelationshipDeleted } from "./schemes/events/RelationshipDeleted";
|
|
123
123
|
import { UserRelationship, UserRelationshipType } from "./schemes/UserRelationship";
|
|
@@ -125,4 +125,5 @@ import { DeleteRelationship } from "./schemes/commands/DeleteRelationship";
|
|
|
125
125
|
import { Relationships } from "./schemes/events/Relationships";
|
|
126
126
|
import { CreateRelationship } from "./schemes/commands/CreateRelationship";
|
|
127
127
|
import { RoomSummaryUpdated } from "./schemes/events/RoomSummaryUpdated";
|
|
128
|
-
|
|
128
|
+
import { UpdateRoomMember } from "./schemes/commands/UpdateRoomMember";
|
|
129
|
+
export { Envelope, Message, MessageType, MessageAuthor, Role, Room, RoomFlag, RoomType, RoomStream, RoomStreamType, RoomHistory, RoomHistoryMode, RoomMember, RoomSummary, RoomSummaryExtras, Space, SpaceFlag, SpaceMember, Topic, FollowedTopic, User, UserState, PermissionOverwritesValue, ChatLocation, SpaceSummary, SpaceDiscoverable, Emoticon, PermissionOverwritesTarget, BanObject, LeaveReason, UserRelationship, UserRelationshipType, CreateTopicInitialMessage, 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, TopicUpdated, PermissionOverwriteTargets, Owners, Ok, DiscoverableSpaces, Emoticons, EmoticonDeleted, NewEmoticon, Bans, ClientData, SpaceSummaryEvent, RoomSummaryEvent, NewRelationship, RelationshipDeleted, Relationships, RoomSummaryUpdated, 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, UpdateTopic, GetPermissionOverwriteTargets, CreateOwner, DeleteOwner, GetOwners, Topics, GetTopics, GetDiscoverableSpaces, GetEmoticons, CreateEmoticon, DeleteEmoticon, Ban, Unban, GetBans, Kick, GetClientData, SetClientData, GetSpaceSummary, GetRoomSummary, UpdateSpaceMember, CreateRelationship, DeleteRelationship, UpdateRoomMember, };
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "polfan-server-js-client",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.61",
|
|
4
4
|
"description": "JavaScript client library for handling communication with Polfan chat server.",
|
|
5
5
|
"author": "Jarosław Żak",
|
|
6
6
|
"license": "MIT",
|
|
@@ -16,7 +16,6 @@
|
|
|
16
16
|
}
|
|
17
17
|
},
|
|
18
18
|
"scripts": {
|
|
19
|
-
"start": "webpack serve --config webpack.config.demo.js",
|
|
20
19
|
"build": "npm run build:node && npm run build:browser && tsc",
|
|
21
20
|
"build:node": "webpack --config webpack.config.node.js",
|
|
22
21
|
"build:browser": "webpack --config webpack.config.browser.js",
|
|
@@ -25,33 +24,20 @@
|
|
|
25
24
|
"trypublish": "npm publish || true"
|
|
26
25
|
},
|
|
27
26
|
"devDependencies": {
|
|
28
|
-
"@babel/cli": "^7.
|
|
29
|
-
"@babel/core": "^7.
|
|
30
|
-
"@babel/
|
|
31
|
-
"@babel/plugin-transform-typescript": "^7.20.2",
|
|
32
|
-
"@babel/polyfill": "^7.12.1",
|
|
33
|
-
"@babel/preset-env": "^7.20.2",
|
|
27
|
+
"@babel/cli": "^7.28.3",
|
|
28
|
+
"@babel/core": "^7.28.5",
|
|
29
|
+
"@babel/preset-env": "^7.28.5",
|
|
34
30
|
"@babel/preset-typescript": "^7.28.5",
|
|
35
|
-
"@types/jest": "^29.
|
|
36
|
-
"
|
|
37
|
-
"@typescript-eslint/parser": "^4.33.0",
|
|
38
|
-
"babel-eslint": "^10.1.0",
|
|
39
|
-
"babel-loader": "^9.1.2",
|
|
40
|
-
"babel-preset-minify": "^0.5.2",
|
|
41
|
-
"css-loader": "^6.7.3",
|
|
42
|
-
"css-minimizer-webpack-plugin": "^4.2.2",
|
|
43
|
-
"eslint": "^7.32.0",
|
|
31
|
+
"@types/jest": "^29.5.14",
|
|
32
|
+
"babel-loader": "^9.2.1",
|
|
44
33
|
"file-loader": "^6.2.0",
|
|
45
|
-
"
|
|
46
|
-
"jest": "^29.3.1",
|
|
47
|
-
"mini-css-extract-plugin": "^2.7.2",
|
|
48
|
-
"style-loader": "^3.3.1",
|
|
49
|
-
"terser-webpack-plugin": "^5.3.5",
|
|
34
|
+
"jest": "^29.7.0",
|
|
50
35
|
"ts-node": "^10.9.2",
|
|
51
|
-
"typescript": "^4.9.
|
|
52
|
-
"
|
|
53
|
-
"webpack": "^5.
|
|
54
|
-
|
|
55
|
-
|
|
36
|
+
"typescript": "^4.9.5",
|
|
37
|
+
"webpack": "^5.103.0",
|
|
38
|
+
"webpack-cli": "^5.1.4"
|
|
39
|
+
},
|
|
40
|
+
"dependencies": {
|
|
41
|
+
"terser-webpack-plugin": "^5.3.14"
|
|
56
42
|
}
|
|
57
43
|
}
|
|
@@ -95,7 +95,7 @@ import {
|
|
|
95
95
|
GetSpaceSummary,
|
|
96
96
|
RoomSummaryEvent,
|
|
97
97
|
SpaceSummaryEvent,
|
|
98
|
-
|
|
98
|
+
UpdateSpaceMember,
|
|
99
99
|
Relationships,
|
|
100
100
|
RelationshipDeleted,
|
|
101
101
|
NewRelationship,
|
|
@@ -105,6 +105,7 @@ import {
|
|
|
105
105
|
} from "./types/src/index";
|
|
106
106
|
import {EventTarget} from "./EventTarget";
|
|
107
107
|
import {GetRelationships} from "./types/src/schemes/commands/GetRelationships";
|
|
108
|
+
import {UpdateRoomMember} from "./types/src/schemes/commands/UpdateRoomMember";
|
|
108
109
|
|
|
109
110
|
type ArrayOfPromiseResolvers = [(value: any) => void, (reason?: any) => void];
|
|
110
111
|
|
|
@@ -264,7 +265,7 @@ export type CommandsMap = {
|
|
|
264
265
|
AssignRole: [AssignRole, EventsMap['SpaceMemberUpdated'] | EventsMap['RoomMemberUpdated']],
|
|
265
266
|
DeassignRole: [DeassignRole, EventsMap['SpaceMemberUpdated'] | EventsMap['RoomMemberUpdated']],
|
|
266
267
|
GetSpaceSummary: [GetSpaceSummary, EventsMap['SpaceSummaryEvent']],
|
|
267
|
-
|
|
268
|
+
UpdateSpaceMember: [UpdateSpaceMember, EventsMap['SpaceMemberUpdated']],
|
|
268
269
|
// Room commands
|
|
269
270
|
JoinRoom: [JoinRoom, EventsMap['RoomJoined']],
|
|
270
271
|
LeaveRoom: [LeaveRoom, EventsMap['RoomLeft']],
|
|
@@ -273,6 +274,7 @@ export type CommandsMap = {
|
|
|
273
274
|
UpdateRoom: [UpdateRoom, EventsMap['RoomUpdated']],
|
|
274
275
|
GetRoomMembers: [GetRoomMembers, EventsMap['RoomMembers']],
|
|
275
276
|
GetRoomSummary: [GetRoomSummary, EventsMap['RoomSummaryEvent']],
|
|
277
|
+
UpdateRoomMember: [UpdateRoomMember, EventsMap['RoomMemberUpdated']],
|
|
276
278
|
// Topic commands
|
|
277
279
|
CreateTopic: [CreateTopic, EventsMap['NewTopic']],
|
|
278
280
|
DeleteTopic: [DeleteTopic, EventsMap['TopicDeleted']],
|
package/src/Permissions.ts
CHANGED
|
@@ -30,6 +30,7 @@ export class Permissions {
|
|
|
30
30
|
ManageBan: {value: 1 << 15, maxLayer: Layer.Room},
|
|
31
31
|
Kick: {value: 1 << 16, maxLayer: Layer.Room},
|
|
32
32
|
ChangeOwnNick: {value: 1 << 17, maxLayer: Layer.Space},
|
|
33
|
+
ChangeOwnColor: {value: 1 << 18, maxLayer: Layer.Room},
|
|
33
34
|
};
|
|
34
35
|
|
|
35
36
|
public static getNames(): (keyof typeof this.list)[] {
|
|
@@ -9,41 +9,51 @@ import {UsersManager} from "./UsersManager";
|
|
|
9
9
|
import {RelationshipsManager} from "./RelationshipsManager";
|
|
10
10
|
|
|
11
11
|
export class ChatStateTracker {
|
|
12
|
+
public readonly client: WebSocketChatClient;
|
|
13
|
+
|
|
12
14
|
/**
|
|
13
15
|
* State of your permissions.
|
|
14
16
|
*/
|
|
15
|
-
public readonly permissions
|
|
17
|
+
public readonly permissions: PermissionsManager;
|
|
16
18
|
|
|
17
19
|
/**
|
|
18
20
|
* State of the rooms you are in.
|
|
19
21
|
*/
|
|
20
|
-
public readonly rooms: RoomsManager
|
|
22
|
+
public readonly rooms: RoomsManager;
|
|
21
23
|
|
|
22
24
|
/**
|
|
23
25
|
* State of the spaces you are in.
|
|
24
26
|
*/
|
|
25
|
-
public readonly spaces
|
|
27
|
+
public readonly spaces: SpacesManager;
|
|
26
28
|
|
|
27
29
|
/**
|
|
28
30
|
* State of the emoticons (global and space-related).
|
|
29
31
|
*/
|
|
30
|
-
public readonly emoticons
|
|
32
|
+
public readonly emoticons: EmoticonsManager;
|
|
31
33
|
|
|
32
34
|
/**
|
|
33
35
|
* Users related state.
|
|
34
36
|
*/
|
|
35
|
-
public readonly users
|
|
37
|
+
public readonly users: UsersManager;
|
|
36
38
|
|
|
37
39
|
/**
|
|
38
40
|
* State of relationships with other users.
|
|
39
41
|
*/
|
|
40
|
-
public readonly relationships
|
|
42
|
+
public readonly relationships: RelationshipsManager;
|
|
41
43
|
|
|
42
44
|
private _me: User = null;
|
|
43
45
|
private readonly deferredSession = new DeferredTask();
|
|
44
46
|
|
|
45
|
-
public constructor(
|
|
47
|
+
public constructor(client: WebSocketChatClient) {
|
|
48
|
+
this.client = client;
|
|
46
49
|
this.client.on('Session', ev => this.handleSession(ev));
|
|
50
|
+
|
|
51
|
+
this.permissions = new PermissionsManager(this);
|
|
52
|
+
this.rooms = new RoomsManager(this);
|
|
53
|
+
this.spaces = new SpacesManager(this);
|
|
54
|
+
this.emoticons = new EmoticonsManager(this);
|
|
55
|
+
this.users = new UsersManager(this);
|
|
56
|
+
this.relationships = new RelationshipsManager(this);
|
|
47
57
|
}
|
|
48
58
|
|
|
49
59
|
public get me(): User | null {
|
|
@@ -74,7 +74,7 @@ export class RoomMessagesHistory {
|
|
|
74
74
|
|
|
75
75
|
const historyWindow = new TopicHistoryWindow(this.room.id, topic.id, this.tracker);
|
|
76
76
|
|
|
77
|
-
historyWindow.setTraverseLock(this.traverseLock);
|
|
77
|
+
void historyWindow.setTraverseLock(this.traverseLock);
|
|
78
78
|
|
|
79
79
|
this.historyWindows.set([topic.id, historyWindow]);
|
|
80
80
|
|
|
@@ -249,7 +249,14 @@ export class RoomsManager {
|
|
|
249
249
|
// because GetMembers are not supported for PM rooms.
|
|
250
250
|
this.handleRoomMembers({
|
|
251
251
|
id: room.id,
|
|
252
|
-
members: room.recipients.map(user => ({
|
|
252
|
+
members: room.recipients.map(user => ({
|
|
253
|
+
user,
|
|
254
|
+
spaceMember: null,
|
|
255
|
+
roles: null,
|
|
256
|
+
customColor: null,
|
|
257
|
+
customNick: null,
|
|
258
|
+
extras: '',
|
|
259
|
+
})),
|
|
253
260
|
});
|
|
254
261
|
this.membersPromises.register(Promise.resolve(), room.id);
|
|
255
262
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {Message, NewMessage, Session, Topic} from "../types/src";
|
|
2
2
|
import {ChatStateTracker} from "./ChatStateTracker";
|
|
3
|
-
import {
|
|
3
|
+
import {ObservableIndexedObjectCollection} from "../IndexedObjectCollection";
|
|
4
4
|
|
|
5
5
|
export enum WindowState {
|
|
6
6
|
/**
|
|
@@ -70,7 +70,7 @@ export abstract class TraversableRemoteCollection<T> extends ObservableIndexedOb
|
|
|
70
70
|
return this.state === WindowState.OLDEST || this.internalState.oldestId !== null && this.has(this.internalState.oldestId);
|
|
71
71
|
}
|
|
72
72
|
|
|
73
|
-
public abstract createMirror():
|
|
73
|
+
public abstract createMirror(): TraversableRemoteCollection<T>;
|
|
74
74
|
|
|
75
75
|
public async resetToLatest(): Promise<void> {
|
|
76
76
|
if (this.internalState.ongoing || this.internalState.current === WindowState.LATEST) {
|
package/src/types/src/index.ts
CHANGED
|
@@ -117,7 +117,7 @@ import {GetSpaceSummary} from "./schemes/commands/GetSpaceSummary";
|
|
|
117
117
|
import {SpaceFlag} from "./schemes/Space";
|
|
118
118
|
import {SpaceSummary as SpaceSummaryEvent} from "./schemes/events/SpaceSummary";
|
|
119
119
|
import {RoomSummary as RoomSummaryEvent} from "./schemes/events/RoomSummary";
|
|
120
|
-
import {
|
|
120
|
+
import {UpdateSpaceMember} from "./schemes/commands/UpdateSpaceMember";
|
|
121
121
|
import {NewRelationship} from "./schemes/events/NewRelationship";
|
|
122
122
|
import {RelationshipDeleted} from "./schemes/events/RelationshipDeleted";
|
|
123
123
|
import {UserRelationship, UserRelationshipType} from "./schemes/UserRelationship";
|
|
@@ -125,6 +125,7 @@ import {DeleteRelationship} from "./schemes/commands/DeleteRelationship";
|
|
|
125
125
|
import {Relationships} from "./schemes/events/Relationships";
|
|
126
126
|
import {CreateRelationship} from "./schemes/commands/CreateRelationship";
|
|
127
127
|
import {RoomSummaryUpdated} from "./schemes/events/RoomSummaryUpdated";
|
|
128
|
+
import {UpdateRoomMember} from "./schemes/commands/UpdateRoomMember";
|
|
128
129
|
|
|
129
130
|
export {
|
|
130
131
|
// objects
|
|
@@ -264,7 +265,8 @@ export {
|
|
|
264
265
|
SetClientData,
|
|
265
266
|
GetSpaceSummary,
|
|
266
267
|
GetRoomSummary,
|
|
267
|
-
|
|
268
|
+
UpdateSpaceMember,
|
|
268
269
|
CreateRelationship,
|
|
269
|
-
DeleteRelationship
|
|
270
|
+
DeleteRelationship,
|
|
271
|
+
UpdateRoomMember,
|
|
270
272
|
};
|
|
@@ -19,7 +19,7 @@ const messages: SimpleMessage[] = [
|
|
|
19
19
|
];
|
|
20
20
|
|
|
21
21
|
class TestableHistoryWindow extends TraversableRemoteCollection<SimpleMessage> {
|
|
22
|
-
public createMirror():
|
|
22
|
+
public createMirror(): TraversableRemoteCollection<SimpleMessage> {
|
|
23
23
|
throw new Error('Method not implemented.');
|
|
24
24
|
}
|
|
25
25
|
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
const path = require('path');
|
|
2
|
-
const TerserPlugin = require(
|
|
3
|
-
const MiniCssExtractPlugin = require("mini-css-extract-plugin");
|
|
2
|
+
const TerserPlugin = require("terser-webpack-plugin");
|
|
4
3
|
|
|
5
4
|
module.exports = {
|
|
6
5
|
mode: "production",
|
|
@@ -27,32 +26,11 @@ module.exports = {
|
|
|
27
26
|
test: /\.(m|j|t)s$/,
|
|
28
27
|
exclude: /(node_modules|bower_components)/,
|
|
29
28
|
use: {
|
|
30
|
-
loader: 'babel-loader'
|
|
31
|
-
options: {
|
|
32
|
-
presets: [
|
|
33
|
-
['@babel/preset-env', { targets: { esmodules: true } }],
|
|
34
|
-
'@babel/preset-typescript'
|
|
35
|
-
],
|
|
36
|
-
plugins: [
|
|
37
|
-
|
|
38
|
-
]
|
|
39
|
-
}
|
|
29
|
+
loader: 'babel-loader'
|
|
40
30
|
}
|
|
41
31
|
},
|
|
42
|
-
{
|
|
43
|
-
test: /\.(sa|sc|c)ss$/,
|
|
44
|
-
use: [
|
|
45
|
-
MiniCssExtractPlugin.loader,
|
|
46
|
-
{ loader: "css-loader", options: { sourceMap: true } },
|
|
47
|
-
],
|
|
48
|
-
}
|
|
49
32
|
]
|
|
50
33
|
},
|
|
51
|
-
plugins: [
|
|
52
|
-
new MiniCssExtractPlugin({
|
|
53
|
-
filename: 'index.css',
|
|
54
|
-
}),
|
|
55
|
-
],
|
|
56
34
|
resolve: {
|
|
57
35
|
extensions: ['.ts', '.js', '.json']
|
|
58
36
|
}
|
package/webpack.config.node.js
CHANGED
|
@@ -24,24 +24,12 @@ module.exports = {
|
|
|
24
24
|
test: /\.(m|j|t)s$/,
|
|
25
25
|
exclude: /(node_modules|bower_components)/,
|
|
26
26
|
use: {
|
|
27
|
-
loader: 'babel-loader'
|
|
28
|
-
options: {
|
|
29
|
-
presets: [
|
|
30
|
-
['@babel/preset-env', { targets: { node: 'current' } }],
|
|
31
|
-
'@babel/preset-typescript'
|
|
32
|
-
],
|
|
33
|
-
plugins: [
|
|
34
|
-
|
|
35
|
-
]
|
|
36
|
-
}
|
|
27
|
+
loader: 'babel-loader'
|
|
37
28
|
}
|
|
38
29
|
},
|
|
39
30
|
]
|
|
40
31
|
},
|
|
41
32
|
resolve: {
|
|
42
33
|
extensions: ['.ts', '.js', '.json']
|
|
43
|
-
}
|
|
44
|
-
externals: [
|
|
45
|
-
|
|
46
|
-
]
|
|
34
|
+
}
|
|
47
35
|
};
|
package/.eslintignore
DELETED
|
File without changes
|
package/.eslintrc.json
DELETED
|
File without changes
|