@may-db/core 0.1.0 → 0.1.1
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/README.md +98 -0
- package/dist/MayDb.d.ts +26 -9
- package/dist/MayDb.d.ts.map +1 -1
- package/dist/MayDb.js +114 -74
- package/dist/MayDb.js.map +1 -1
- package/dist/Room.d.ts +40 -57
- package/dist/Room.d.ts.map +1 -1
- package/dist/Room.js +212 -232
- package/dist/Room.js.map +1 -1
- package/dist/authStorage.d.ts +7 -7
- package/dist/authStorage.d.ts.map +1 -1
- package/dist/authStorage.js +8 -8
- package/dist/authStorage.js.map +1 -1
- package/dist/index.d.ts +3 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -3
- package/dist/index.js.map +1 -1
- package/dist/loginFlow.d.ts +10 -3
- package/dist/loginFlow.d.ts.map +1 -1
- package/dist/loginFlow.js +19 -14
- package/dist/loginFlow.js.map +1 -1
- package/dist/matrix-crdt-shim.d.ts +43 -0
- package/dist/matrix-crdt-shim.d.ts.map +1 -0
- package/dist/matrix-crdt-shim.js +2 -0
- package/dist/matrix-crdt-shim.js.map +1 -0
- package/dist/singletonRoom.d.ts.map +1 -1
- package/dist/singletonRoom.js +5 -36
- package/dist/singletonRoom.js.map +1 -1
- package/dist/types.d.ts +7 -6
- package/dist/types.d.ts.map +1 -1
- package/package.json +1 -1
package/dist/Room.js
CHANGED
|
@@ -1,37 +1,40 @@
|
|
|
1
|
+
// eslint-disable-next-line @typescript-eslint/triple-slash-reference
|
|
2
|
+
/// <reference path="./matrix-crdt.d.ts" />
|
|
1
3
|
import { MatrixProvider } from "matrix-crdt";
|
|
2
4
|
import * as sdk from "matrix-js-sdk";
|
|
3
5
|
import { Doc } from "yjs";
|
|
4
6
|
import { extractLocalpart } from "./matrixId";
|
|
5
7
|
export class Room {
|
|
6
|
-
|
|
7
|
-
* Reactive-safe surface (render-safe reads/subscriptions):
|
|
8
|
-
* these values/listeners are safe to use in React render/computed paths.
|
|
9
|
-
*/
|
|
10
|
-
roomId;
|
|
8
|
+
id;
|
|
11
9
|
doc;
|
|
12
10
|
services;
|
|
13
11
|
provider = null;
|
|
14
12
|
connectPromise = null;
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
13
|
+
_state = {
|
|
14
|
+
status: "disconnected",
|
|
15
|
+
canEdit: false,
|
|
16
|
+
name: null,
|
|
17
|
+
};
|
|
18
18
|
listeners = new Set();
|
|
19
19
|
constructor(services, roomId) {
|
|
20
20
|
this.services = services;
|
|
21
|
-
this.
|
|
21
|
+
this.id = roomId;
|
|
22
22
|
this.doc = new Doc();
|
|
23
23
|
}
|
|
24
|
+
get state() {
|
|
25
|
+
return this._state;
|
|
26
|
+
}
|
|
24
27
|
get status() {
|
|
25
|
-
return this.
|
|
28
|
+
return this._state.status;
|
|
26
29
|
}
|
|
27
|
-
get
|
|
28
|
-
return this.
|
|
30
|
+
get canEdit() {
|
|
31
|
+
return this._state.canEdit;
|
|
29
32
|
}
|
|
30
33
|
get isConnected() {
|
|
31
|
-
return this.
|
|
34
|
+
return this._state.status === "connected";
|
|
32
35
|
}
|
|
33
|
-
get
|
|
34
|
-
return this.
|
|
36
|
+
get name() {
|
|
37
|
+
return this._state.name;
|
|
35
38
|
}
|
|
36
39
|
get userId() {
|
|
37
40
|
return this.matrixClient.getUserId();
|
|
@@ -46,11 +49,184 @@ export class Room {
|
|
|
46
49
|
this.listeners.add(listener);
|
|
47
50
|
return () => this.listeners.delete(listener);
|
|
48
51
|
}
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
52
|
+
members = {
|
|
53
|
+
list: async () => this.getMembers(),
|
|
54
|
+
invite: async (userId, access) => {
|
|
55
|
+
await this.matrixClient.invite(this.id, userId);
|
|
56
|
+
const powerLevel = this.accessToPowerLevel(access);
|
|
57
|
+
await this.setUserPowerLevel(userId, powerLevel);
|
|
58
|
+
},
|
|
59
|
+
setAccess: async (userId, access) => {
|
|
60
|
+
const powerLevel = this.accessToPowerLevel(access);
|
|
61
|
+
await this.setUserPowerLevel(userId, powerLevel);
|
|
62
|
+
},
|
|
63
|
+
remove: async (userId) => {
|
|
64
|
+
await this.matrixClient.kick(this.id, userId);
|
|
65
|
+
},
|
|
66
|
+
};
|
|
67
|
+
delegates = {
|
|
68
|
+
list: async () => {
|
|
69
|
+
const ids = await this.getDelegateRoomIds();
|
|
70
|
+
return Promise.all(ids.map(async (roomId) => ({
|
|
71
|
+
roomId,
|
|
72
|
+
name: await this.getRoomName(roomId),
|
|
73
|
+
})));
|
|
74
|
+
},
|
|
75
|
+
add: async (delegateRoomId) => {
|
|
76
|
+
const existing = await this.getDelegateRoomIds();
|
|
77
|
+
if (existing.includes(delegateRoomId))
|
|
78
|
+
return;
|
|
79
|
+
const allow = [...existing, delegateRoomId].map((room_id) => ({
|
|
80
|
+
type: sdk.RestrictedAllowType.RoomMembership,
|
|
81
|
+
room_id,
|
|
82
|
+
}));
|
|
83
|
+
await this.matrixClient.sendStateEvent(this.id, "m.room.join_rules", {
|
|
84
|
+
join_rule: sdk.JoinRule.Restricted,
|
|
85
|
+
allow,
|
|
86
|
+
}, "");
|
|
87
|
+
},
|
|
88
|
+
remove: async (delegateRoomId) => {
|
|
89
|
+
const remaining = (await this.getDelegateRoomIds()).filter((id) => id !== delegateRoomId);
|
|
90
|
+
await this.matrixClient.sendStateEvent(this.id, "m.room.join_rules", remaining.length > 0
|
|
91
|
+
? {
|
|
92
|
+
join_rule: sdk.JoinRule.Restricted,
|
|
93
|
+
allow: remaining.map((room_id) => ({
|
|
94
|
+
type: sdk.RestrictedAllowType.RoomMembership,
|
|
95
|
+
room_id,
|
|
96
|
+
})),
|
|
97
|
+
}
|
|
98
|
+
: {
|
|
99
|
+
join_rule: sdk.JoinRule.Invite,
|
|
100
|
+
}, "");
|
|
101
|
+
},
|
|
102
|
+
};
|
|
103
|
+
toDevice = {
|
|
104
|
+
send: async (eventType, content) => {
|
|
105
|
+
const localUserId = this.matrixClient.getUserId();
|
|
106
|
+
if (!localUserId)
|
|
107
|
+
return;
|
|
108
|
+
const memberIds = await this.getRoomMemberIds();
|
|
109
|
+
const otherMembers = memberIds.filter((id) => id !== localUserId);
|
|
110
|
+
if (otherMembers.length === 0)
|
|
111
|
+
return;
|
|
112
|
+
const messages = new Map();
|
|
113
|
+
for (const userId of otherMembers) {
|
|
114
|
+
const deviceMap = new Map();
|
|
115
|
+
deviceMap.set("*", content);
|
|
116
|
+
messages.set(userId, deviceMap);
|
|
117
|
+
}
|
|
118
|
+
const txnId = `todevice-${Date.now()}-${Math.random().toString(36).slice(2)}`;
|
|
119
|
+
await this.matrixClient.sendToDevice(eventType, messages, txnId);
|
|
120
|
+
},
|
|
121
|
+
poll: async (sinceToken) => this.pollToDeviceEvents(sinceToken),
|
|
122
|
+
};
|
|
123
|
+
async connect() {
|
|
124
|
+
if (this._state.status === "connected")
|
|
125
|
+
return;
|
|
126
|
+
if (this.connectPromise)
|
|
127
|
+
return this.connectPromise;
|
|
128
|
+
this.connectPromise = this.doConnect().finally(() => {
|
|
129
|
+
this.connectPromise = null;
|
|
130
|
+
});
|
|
131
|
+
return this.connectPromise;
|
|
132
|
+
}
|
|
133
|
+
disconnect() {
|
|
134
|
+
if (this.provider) {
|
|
135
|
+
try {
|
|
136
|
+
this.provider.dispose();
|
|
137
|
+
}
|
|
138
|
+
catch {
|
|
139
|
+
// matrix-crdt dispose() can throw if pendingPollRequest lacks abort()
|
|
140
|
+
}
|
|
141
|
+
this.provider = null;
|
|
142
|
+
}
|
|
143
|
+
this.connectPromise = null;
|
|
144
|
+
this.setStatus("disconnected");
|
|
145
|
+
}
|
|
146
|
+
dispose() {
|
|
147
|
+
this.disconnect();
|
|
148
|
+
this.listeners.clear();
|
|
149
|
+
this.services.removeRoom(this.id);
|
|
150
|
+
}
|
|
151
|
+
async refresh() {
|
|
152
|
+
const [name, canEdit] = await Promise.all([this.getRoomName(), this.canUserEdit()]);
|
|
153
|
+
if (this._state.name !== name || this._state.canEdit !== canEdit) {
|
|
154
|
+
this._state = {
|
|
155
|
+
...this._state,
|
|
156
|
+
name,
|
|
157
|
+
canEdit,
|
|
158
|
+
};
|
|
159
|
+
this.emitState();
|
|
160
|
+
}
|
|
161
|
+
return this.state;
|
|
162
|
+
}
|
|
163
|
+
async rename(name) {
|
|
164
|
+
await this.matrixClient.setRoomName(this.id, name);
|
|
165
|
+
await this.refresh();
|
|
166
|
+
}
|
|
167
|
+
async ensureJoined() {
|
|
168
|
+
if (await this.isMember())
|
|
169
|
+
return;
|
|
170
|
+
await this.matrixClient.joinRoom(this.id);
|
|
171
|
+
}
|
|
172
|
+
get matrixClient() {
|
|
173
|
+
return this.services.matrixClient;
|
|
174
|
+
}
|
|
175
|
+
emitState() {
|
|
176
|
+
const snapshot = this.state;
|
|
177
|
+
for (const listener of this.listeners) {
|
|
178
|
+
listener(snapshot);
|
|
179
|
+
}
|
|
180
|
+
}
|
|
181
|
+
setStatus(status) {
|
|
182
|
+
if (this._state.status !== status) {
|
|
183
|
+
this._state = {
|
|
184
|
+
...this._state,
|
|
185
|
+
status,
|
|
186
|
+
};
|
|
187
|
+
this.emitState();
|
|
188
|
+
}
|
|
189
|
+
}
|
|
190
|
+
async doConnect() {
|
|
191
|
+
this.setStatus("connecting");
|
|
192
|
+
try {
|
|
193
|
+
this.provider = new MatrixProvider(this.doc, this.matrixClient, { type: "id", id: this.id }, undefined, {
|
|
194
|
+
translator: {
|
|
195
|
+
updatesAsRegularMessages: true,
|
|
196
|
+
},
|
|
197
|
+
writer: {
|
|
198
|
+
flushInterval: 500,
|
|
199
|
+
retryIfForbiddenInterval: 30000,
|
|
200
|
+
},
|
|
201
|
+
reader: {
|
|
202
|
+
snapshotInterval: 30,
|
|
203
|
+
},
|
|
204
|
+
});
|
|
205
|
+
const documentAvailable = new Promise((resolve) => {
|
|
206
|
+
this.provider.onDocumentAvailable(() => {
|
|
207
|
+
this.setStatus("connected");
|
|
208
|
+
resolve();
|
|
209
|
+
});
|
|
210
|
+
});
|
|
211
|
+
this.provider.onCanWriteChanged(() => {
|
|
212
|
+
const nextCanEdit = this.provider?.canWrite ?? false;
|
|
213
|
+
if (this._state.canEdit !== nextCanEdit) {
|
|
214
|
+
this._state = {
|
|
215
|
+
...this._state,
|
|
216
|
+
canEdit: nextCanEdit,
|
|
217
|
+
};
|
|
218
|
+
this.emitState();
|
|
219
|
+
}
|
|
220
|
+
});
|
|
221
|
+
this.provider.initialize();
|
|
222
|
+
await Promise.all([documentAvailable, this.refresh()]);
|
|
223
|
+
}
|
|
224
|
+
catch (error) {
|
|
225
|
+
this.setStatus("error");
|
|
226
|
+
throw error;
|
|
227
|
+
}
|
|
228
|
+
}
|
|
229
|
+
async getRoomName(roomId = this.id) {
|
|
54
230
|
try {
|
|
55
231
|
const state = await this.matrixClient.roomState(roomId);
|
|
56
232
|
const nameEvent = state.find((e) => e.type === "m.room.name");
|
|
@@ -61,14 +237,13 @@ export class Room {
|
|
|
61
237
|
}
|
|
62
238
|
}
|
|
63
239
|
async getMembers() {
|
|
64
|
-
const state = await this.matrixClient.roomState(this.
|
|
240
|
+
const state = await this.matrixClient.roomState(this.id);
|
|
65
241
|
const powerLevelsEvent = state.find((e) => e.type === "m.room.power_levels");
|
|
66
242
|
const powerLevels = powerLevelsEvent?.content || {};
|
|
67
243
|
const userPowerLevels = powerLevels.users || {};
|
|
68
|
-
|
|
244
|
+
return state
|
|
69
245
|
.filter((e) => e.type === "m.room.member")
|
|
70
|
-
.filter((e) => e.content?.membership === "join" ||
|
|
71
|
-
e.content?.membership === "invite")
|
|
246
|
+
.filter((e) => e.content?.membership === "join" || e.content?.membership === "invite")
|
|
72
247
|
.map((e) => {
|
|
73
248
|
const userId = e.state_key;
|
|
74
249
|
const displayName = e.content?.displayname || extractLocalpart(userId);
|
|
@@ -76,11 +251,10 @@ export class Room {
|
|
|
76
251
|
const accessLevel = this.powerLevelToAccess(userPL);
|
|
77
252
|
return { userId, displayName, accessLevel };
|
|
78
253
|
});
|
|
79
|
-
return members;
|
|
80
254
|
}
|
|
81
255
|
async isMember() {
|
|
82
256
|
try {
|
|
83
|
-
const state = await this.matrixClient.roomState(this.
|
|
257
|
+
const state = await this.matrixClient.roomState(this.id);
|
|
84
258
|
const userId = this.matrixClient.getUserId();
|
|
85
259
|
const memberEvent = state.find((e) => e.type === "m.room.member" && e.state_key === userId);
|
|
86
260
|
return memberEvent?.content?.membership === "join";
|
|
@@ -90,18 +264,15 @@ export class Room {
|
|
|
90
264
|
}
|
|
91
265
|
}
|
|
92
266
|
async getRoomMemberIds() {
|
|
93
|
-
const state = await this.matrixClient.roomState(this.
|
|
267
|
+
const state = await this.matrixClient.roomState(this.id);
|
|
94
268
|
return state
|
|
95
269
|
.filter((e) => e.type === "m.room.member")
|
|
96
270
|
.filter((e) => e.content?.membership === "join")
|
|
97
271
|
.map((e) => e.state_key);
|
|
98
272
|
}
|
|
99
|
-
/**
|
|
100
|
-
* Resolve delegate rooms currently allowed via restricted join rules.
|
|
101
|
-
*/
|
|
102
273
|
async getDelegateRoomIds() {
|
|
103
274
|
try {
|
|
104
|
-
const state = await this.matrixClient.roomState(this.
|
|
275
|
+
const state = await this.matrixClient.roomState(this.id);
|
|
105
276
|
const joinRulesEvent = state.find((e) => e.type === "m.room.join_rules");
|
|
106
277
|
const content = joinRulesEvent?.content;
|
|
107
278
|
if (content?.join_rule === "restricted" && content.allow) {
|
|
@@ -115,12 +286,7 @@ export class Room {
|
|
|
115
286
|
return [];
|
|
116
287
|
}
|
|
117
288
|
}
|
|
118
|
-
/**
|
|
119
|
-
* Poll for to-device events using a minimal Matrix sync.
|
|
120
|
-
* Returns new events and the next sync token for incremental polling.
|
|
121
|
-
*/
|
|
122
289
|
async pollToDeviceEvents(sinceToken) {
|
|
123
|
-
const client = this.matrixClient;
|
|
124
290
|
const filter = {
|
|
125
291
|
presence: { types: [] },
|
|
126
292
|
room: { rooms: [] },
|
|
@@ -128,8 +294,8 @@ export class Room {
|
|
|
128
294
|
};
|
|
129
295
|
const filterParam = encodeURIComponent(JSON.stringify(filter));
|
|
130
296
|
const sinceParam = sinceToken ? `&since=${sinceToken}` : "";
|
|
131
|
-
const homeserver =
|
|
132
|
-
const accessToken =
|
|
297
|
+
const homeserver = this.matrixClient.getHomeserverUrl();
|
|
298
|
+
const accessToken = this.matrixClient.getAccessToken();
|
|
133
299
|
const response = await fetch(`${homeserver}/_matrix/client/v3/sync?filter=${filterParam}&timeout=0${sinceParam}`, {
|
|
134
300
|
headers: {
|
|
135
301
|
Authorization: `Bearer ${accessToken}`,
|
|
@@ -144,184 +310,12 @@ export class Room {
|
|
|
144
310
|
nextBatch: data.next_batch,
|
|
145
311
|
};
|
|
146
312
|
}
|
|
147
|
-
|
|
148
|
-
* Imperative commands/writes (side effects):
|
|
149
|
-
* these perform mutations/network actions and should be called in callbacks/effects.
|
|
150
|
-
*/
|
|
151
|
-
/**
|
|
152
|
-
* Connect the Y.js store to Matrix for this room.
|
|
153
|
-
* Safe to call multiple times - will no-op if already connected.
|
|
154
|
-
* Resolves when the Y.js document is available (synced from Matrix).
|
|
155
|
-
*/
|
|
156
|
-
async connect() {
|
|
157
|
-
if (this._status === "connected")
|
|
158
|
-
return;
|
|
159
|
-
if (this.connectPromise)
|
|
160
|
-
return this.connectPromise;
|
|
161
|
-
this.connectPromise = this.doConnect();
|
|
162
|
-
return this.connectPromise;
|
|
163
|
-
}
|
|
164
|
-
disconnect() {
|
|
165
|
-
if (this.provider) {
|
|
166
|
-
try {
|
|
167
|
-
this.provider.dispose();
|
|
168
|
-
}
|
|
169
|
-
catch {
|
|
170
|
-
// matrix-crdt dispose() can throw if pendingPollRequest lacks abort()
|
|
171
|
-
}
|
|
172
|
-
this.provider = null;
|
|
173
|
-
}
|
|
174
|
-
this.setStatus("disconnected");
|
|
175
|
-
}
|
|
176
|
-
/**
|
|
177
|
-
* Fully dispose this room instance (disconnects and removes from cache).
|
|
178
|
-
*/
|
|
179
|
-
dispose() {
|
|
180
|
-
this.disconnect();
|
|
181
|
-
this.listeners.clear();
|
|
182
|
-
this.services.removeRoom(this.roomId);
|
|
183
|
-
}
|
|
184
|
-
async refreshMetadata() {
|
|
185
|
-
const [name, canEdit] = await Promise.all([
|
|
186
|
-
this.getRoomName(),
|
|
187
|
-
this.canEdit(),
|
|
188
|
-
]);
|
|
189
|
-
this._metadata = { title: name };
|
|
190
|
-
const canWriteChanged = this._canWrite !== canEdit;
|
|
191
|
-
this._canWrite = canEdit;
|
|
192
|
-
this.emit("onMetadataChange", this._metadata);
|
|
193
|
-
if (canWriteChanged) {
|
|
194
|
-
this.emit("onCanWriteChange", this._canWrite);
|
|
195
|
-
}
|
|
196
|
-
return this._metadata;
|
|
197
|
-
}
|
|
198
|
-
async setRoomName(title) {
|
|
199
|
-
await this.matrixClient.setRoomName(this.roomId, title);
|
|
200
|
-
await this.refreshMetadata();
|
|
201
|
-
}
|
|
202
|
-
async invite(userId, access) {
|
|
203
|
-
await this.matrixClient.invite(this.roomId, userId);
|
|
204
|
-
const powerLevel = this.accessToPowerLevel(access);
|
|
205
|
-
await this.setUserPowerLevel(userId, powerLevel);
|
|
206
|
-
}
|
|
207
|
-
async setAccess(userId, access) {
|
|
208
|
-
const powerLevel = this.accessToPowerLevel(access);
|
|
209
|
-
await this.setUserPowerLevel(userId, powerLevel);
|
|
210
|
-
}
|
|
211
|
-
async kick(userId) {
|
|
212
|
-
await this.matrixClient.kick(this.roomId, userId);
|
|
213
|
-
}
|
|
214
|
-
async join() {
|
|
215
|
-
try {
|
|
216
|
-
await this.matrixClient.joinRoom(this.roomId);
|
|
217
|
-
return true;
|
|
218
|
-
}
|
|
219
|
-
catch (err) {
|
|
220
|
-
console.error("Failed to join room:", err);
|
|
221
|
-
return false;
|
|
222
|
-
}
|
|
223
|
-
}
|
|
224
|
-
/**
|
|
225
|
-
* Ensure the current user is a member of this room.
|
|
226
|
-
* No-op if already joined. Attempts to join otherwise.
|
|
227
|
-
* Throws if the join fails.
|
|
228
|
-
*/
|
|
229
|
-
async ensureJoined() {
|
|
230
|
-
if (await this.isMember())
|
|
231
|
-
return;
|
|
232
|
-
await this.matrixClient.joinRoom(this.roomId);
|
|
233
|
-
}
|
|
234
|
-
async addDelegateRoom(delegateRoomId) {
|
|
235
|
-
const existing = await this.getDelegateRoomIds();
|
|
236
|
-
if (existing.includes(delegateRoomId))
|
|
237
|
-
return;
|
|
238
|
-
const allow = [...existing, delegateRoomId].map((room_id) => ({
|
|
239
|
-
type: sdk.RestrictedAllowType.RoomMembership,
|
|
240
|
-
room_id,
|
|
241
|
-
}));
|
|
242
|
-
await this.matrixClient.sendStateEvent(this.roomId, "m.room.join_rules", {
|
|
243
|
-
join_rule: sdk.JoinRule.Restricted,
|
|
244
|
-
allow,
|
|
245
|
-
}, "");
|
|
246
|
-
}
|
|
247
|
-
async removeDelegateRoom(delegateRoomId) {
|
|
248
|
-
const remaining = (await this.getDelegateRoomIds()).filter((id) => id !== delegateRoomId);
|
|
249
|
-
await this.matrixClient.sendStateEvent(this.roomId, "m.room.join_rules", remaining.length > 0
|
|
250
|
-
? {
|
|
251
|
-
join_rule: sdk.JoinRule.Restricted,
|
|
252
|
-
allow: remaining.map((room_id) => ({
|
|
253
|
-
type: sdk.RestrictedAllowType.RoomMembership,
|
|
254
|
-
room_id,
|
|
255
|
-
})),
|
|
256
|
-
}
|
|
257
|
-
: {
|
|
258
|
-
join_rule: sdk.JoinRule.Invite,
|
|
259
|
-
}, "");
|
|
260
|
-
}
|
|
261
|
-
async sendToDevice(eventType, content) {
|
|
262
|
-
const localUserId = this.matrixClient.getUserId();
|
|
263
|
-
if (!localUserId)
|
|
264
|
-
return;
|
|
265
|
-
const memberIds = await this.getRoomMemberIds();
|
|
266
|
-
const otherMembers = memberIds.filter((id) => id !== localUserId);
|
|
267
|
-
if (otherMembers.length === 0)
|
|
268
|
-
return;
|
|
269
|
-
// Build the messages map: Map<userId, Map<deviceId, content>>
|
|
270
|
-
// Using "*" as device ID sends to all devices of the user
|
|
271
|
-
const messages = new Map();
|
|
272
|
-
for (const userId of otherMembers) {
|
|
273
|
-
const deviceMap = new Map();
|
|
274
|
-
deviceMap.set("*", content);
|
|
275
|
-
messages.set(userId, deviceMap);
|
|
276
|
-
}
|
|
277
|
-
const txnId = `todevice-${Date.now()}-${Math.random().toString(36).slice(2)}`;
|
|
278
|
-
await this.matrixClient.sendToDevice(eventType, messages, txnId);
|
|
279
|
-
}
|
|
280
|
-
/**
|
|
281
|
-
* Internal/private implementation details.
|
|
282
|
-
*/
|
|
283
|
-
get matrixClient() {
|
|
284
|
-
return this.services.matrixClient;
|
|
285
|
-
}
|
|
286
|
-
async doConnect() {
|
|
287
|
-
this.setStatus("connecting");
|
|
288
|
-
try {
|
|
289
|
-
this.provider = new MatrixProvider(this.doc, this.matrixClient, { type: "id", id: this.roomId }, undefined, {
|
|
290
|
-
translator: {
|
|
291
|
-
updatesAsRegularMessages: true,
|
|
292
|
-
},
|
|
293
|
-
writer: {
|
|
294
|
-
flushInterval: 500,
|
|
295
|
-
retryIfForbiddenInterval: 30000,
|
|
296
|
-
},
|
|
297
|
-
reader: {
|
|
298
|
-
snapshotInterval: 30,
|
|
299
|
-
},
|
|
300
|
-
});
|
|
301
|
-
const documentAvailable = new Promise((resolve) => {
|
|
302
|
-
this.provider.onDocumentAvailable(() => {
|
|
303
|
-
this.setStatus("connected");
|
|
304
|
-
resolve();
|
|
305
|
-
});
|
|
306
|
-
});
|
|
307
|
-
this.provider.onCanWriteChanged(() => {
|
|
308
|
-
this._canWrite = this.provider?.canWrite ?? false;
|
|
309
|
-
this.emit("onCanWriteChange", this._canWrite);
|
|
310
|
-
});
|
|
311
|
-
this.provider.initialize();
|
|
312
|
-
await Promise.all([documentAvailable, this.refreshMetadata()]);
|
|
313
|
-
}
|
|
314
|
-
catch (error) {
|
|
315
|
-
this.setStatus("error");
|
|
316
|
-
throw error;
|
|
317
|
-
}
|
|
318
|
-
}
|
|
319
|
-
async canEdit() {
|
|
313
|
+
async canUserEdit() {
|
|
320
314
|
try {
|
|
321
315
|
const userId = this.matrixClient.getUserId();
|
|
322
316
|
if (!userId)
|
|
323
317
|
return false;
|
|
324
|
-
const state = await this.matrixClient.roomState(this.
|
|
318
|
+
const state = await this.matrixClient.roomState(this.id);
|
|
325
319
|
const powerLevelsEvent = state.find((e) => e.type === "m.room.power_levels");
|
|
326
320
|
const powerLevels = powerLevelsEvent?.content || {};
|
|
327
321
|
const userPowerLevels = powerLevels.users || {};
|
|
@@ -335,9 +329,9 @@ export class Room {
|
|
|
335
329
|
}
|
|
336
330
|
accessToPowerLevel(access) {
|
|
337
331
|
switch (access) {
|
|
338
|
-
case "
|
|
332
|
+
case "viewer":
|
|
339
333
|
return -10;
|
|
340
|
-
case "
|
|
334
|
+
case "editor":
|
|
341
335
|
return 0;
|
|
342
336
|
case "owner":
|
|
343
337
|
return 100;
|
|
@@ -347,11 +341,11 @@ export class Room {
|
|
|
347
341
|
if (pl >= 100)
|
|
348
342
|
return "owner";
|
|
349
343
|
if (pl >= 0)
|
|
350
|
-
return "
|
|
351
|
-
return "
|
|
344
|
+
return "editor";
|
|
345
|
+
return "viewer";
|
|
352
346
|
}
|
|
353
347
|
async setUserPowerLevel(userId, powerLevel) {
|
|
354
|
-
const state = await this.matrixClient.roomState(this.
|
|
348
|
+
const state = await this.matrixClient.roomState(this.id);
|
|
355
349
|
const powerLevelsEvent = state.find((e) => e.type === "m.room.power_levels");
|
|
356
350
|
const currentPowerLevels = powerLevelsEvent?.content || {};
|
|
357
351
|
const users = currentPowerLevels.users || {};
|
|
@@ -362,21 +356,7 @@ export class Room {
|
|
|
362
356
|
[userId]: powerLevel,
|
|
363
357
|
},
|
|
364
358
|
};
|
|
365
|
-
await this.matrixClient.sendStateEvent(this.
|
|
366
|
-
}
|
|
367
|
-
emit(event, ...args) {
|
|
368
|
-
for (const listener of this.listeners) {
|
|
369
|
-
const handler = listener[event];
|
|
370
|
-
// TypeScript cannot narrow function signature from mapped type lookup
|
|
371
|
-
if (handler)
|
|
372
|
-
handler(...args);
|
|
373
|
-
}
|
|
374
|
-
}
|
|
375
|
-
setStatus(status) {
|
|
376
|
-
if (this._status !== status) {
|
|
377
|
-
this._status = status;
|
|
378
|
-
this.emit("onStatusChange", status);
|
|
379
|
-
}
|
|
359
|
+
await this.matrixClient.sendStateEvent(this.id, "m.room.power_levels", newPowerLevels, "");
|
|
380
360
|
}
|
|
381
361
|
}
|
|
382
362
|
//# sourceMappingURL=Room.js.map
|
package/dist/Room.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Room.js","sourceRoot":"","sources":["../src/Room.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Room.js","sourceRoot":"","sources":["../src/Room.ts"],"names":[],"mappings":"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"}
|
package/dist/authStorage.d.ts
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
export declare function
|
|
3
|
-
export declare function
|
|
4
|
-
export declare function
|
|
5
|
-
export declare function
|
|
6
|
-
export declare function
|
|
7
|
-
export declare function
|
|
1
|
+
import type { Session } from "./types";
|
|
2
|
+
export declare function getStoredSession(): Session | null;
|
|
3
|
+
export declare function saveStoredSession(session: Session): void;
|
|
4
|
+
export declare function clearStoredSession(): void;
|
|
5
|
+
export declare function getStoredHomeserver(): string | null;
|
|
6
|
+
export declare function saveStoredHomeserver(homeserver: string): void;
|
|
7
|
+
export declare function clearStoredHomeserver(): void;
|
|
8
8
|
//# sourceMappingURL=authStorage.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"authStorage.d.ts","sourceRoot":"","sources":["../src/authStorage.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"authStorage.d.ts","sourceRoot":"","sources":["../src/authStorage.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAIvC,wBAAgB,gBAAgB,IAAI,OAAO,GAAG,IAAI,CAUjD;AAED,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAExD;AAED,wBAAgB,kBAAkB,IAAI,IAAI,CAEzC;AAED,wBAAgB,mBAAmB,IAAI,MAAM,GAAG,IAAI,CAEnD;AAED,wBAAgB,oBAAoB,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAE7D;AAED,wBAAgB,qBAAqB,IAAI,IAAI,CAE5C"}
|
package/dist/authStorage.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
const STORAGE_KEY = "
|
|
2
|
-
export function
|
|
1
|
+
const STORAGE_KEY = "may_db_session";
|
|
2
|
+
export function getStoredSession() {
|
|
3
3
|
const stored = localStorage.getItem(STORAGE_KEY);
|
|
4
4
|
if (stored) {
|
|
5
5
|
try {
|
|
@@ -11,19 +11,19 @@ export function getAuth() {
|
|
|
11
11
|
}
|
|
12
12
|
return null;
|
|
13
13
|
}
|
|
14
|
-
export function
|
|
15
|
-
localStorage.setItem(STORAGE_KEY, JSON.stringify(
|
|
14
|
+
export function saveStoredSession(session) {
|
|
15
|
+
localStorage.setItem(STORAGE_KEY, JSON.stringify(session));
|
|
16
16
|
}
|
|
17
|
-
export function
|
|
17
|
+
export function clearStoredSession() {
|
|
18
18
|
localStorage.removeItem(STORAGE_KEY);
|
|
19
19
|
}
|
|
20
|
-
export function
|
|
20
|
+
export function getStoredHomeserver() {
|
|
21
21
|
return localStorage.getItem(`${STORAGE_KEY}_homeserver`);
|
|
22
22
|
}
|
|
23
|
-
export function
|
|
23
|
+
export function saveStoredHomeserver(homeserver) {
|
|
24
24
|
localStorage.setItem(`${STORAGE_KEY}_homeserver`, homeserver);
|
|
25
25
|
}
|
|
26
|
-
export function
|
|
26
|
+
export function clearStoredHomeserver() {
|
|
27
27
|
localStorage.removeItem(`${STORAGE_KEY}_homeserver`);
|
|
28
28
|
}
|
|
29
29
|
//# sourceMappingURL=authStorage.js.map
|
package/dist/authStorage.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"authStorage.js","sourceRoot":"","sources":["../src/authStorage.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,GAAG,
|
|
1
|
+
{"version":3,"file":"authStorage.js","sourceRoot":"","sources":["../src/authStorage.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,GAAG,gBAAgB,CAAC;AAErC,MAAM,UAAU,gBAAgB;IAC9B,MAAM,MAAM,GAAG,YAAY,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;IACjD,IAAI,MAAM,EAAE,CAAC;QACX,IAAI,CAAC;YACH,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAC5B,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,OAAgB;IAChD,YAAY,CAAC,OAAO,CAAC,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC;AAC7D,CAAC;AAED,MAAM,UAAU,kBAAkB;IAChC,YAAY,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;AACvC,CAAC;AAED,MAAM,UAAU,mBAAmB;IACjC,OAAO,YAAY,CAAC,OAAO,CAAC,GAAG,WAAW,aAAa,CAAC,CAAC;AAC3D,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,UAAkB;IACrD,YAAY,CAAC,OAAO,CAAC,GAAG,WAAW,aAAa,EAAE,UAAU,CAAC,CAAC;AAChE,CAAC;AAED,MAAM,UAAU,qBAAqB;IACnC,YAAY,CAAC,UAAU,CAAC,GAAG,WAAW,aAAa,CAAC,CAAC;AACvD,CAAC"}
|