Apply prettier formatting
This commit is contained in:
parent
1cac306093
commit
526645c791
1576 changed files with 65385 additions and 62478 deletions
|
@ -266,18 +266,18 @@ Response:
|
|||
- The openId token object as described in https://spec.matrix.org/v1.2/client-server-api/#post_matrixclientv3useruseridopenidrequest_token
|
||||
*/
|
||||
|
||||
import { MatrixEvent } from 'matrix-js-sdk/src/models/event';
|
||||
import { MatrixEvent } from "matrix-js-sdk/src/models/event";
|
||||
import { logger } from "matrix-js-sdk/src/logger";
|
||||
|
||||
import { MatrixClientPeg } from './MatrixClientPeg';
|
||||
import dis from './dispatcher/dispatcher';
|
||||
import WidgetUtils from './utils/WidgetUtils';
|
||||
import { _t } from './languageHandler';
|
||||
import { MatrixClientPeg } from "./MatrixClientPeg";
|
||||
import dis from "./dispatcher/dispatcher";
|
||||
import WidgetUtils from "./utils/WidgetUtils";
|
||||
import { _t } from "./languageHandler";
|
||||
import { IntegrationManagers } from "./integrations/IntegrationManagers";
|
||||
import { WidgetType } from "./widgets/WidgetType";
|
||||
import { objectClone } from "./utils/objects";
|
||||
import { EffectiveMembership, getEffectiveMembership } from './utils/membership';
|
||||
import { SdkContextClass } from './contexts/SDKContext';
|
||||
import { EffectiveMembership, getEffectiveMembership } from "./utils/membership";
|
||||
import { SdkContextClass } from "./contexts/SDKContext";
|
||||
|
||||
enum Action {
|
||||
CloseScalar = "close_scalar",
|
||||
|
@ -294,7 +294,7 @@ enum Action {
|
|||
BotOptions = "bot_options",
|
||||
SetBotOptions = "set_bot_options",
|
||||
SetBotPower = "set_bot_power",
|
||||
GetOpenIdToken = "get_open_id_token"
|
||||
GetOpenIdToken = "get_open_id_token",
|
||||
}
|
||||
|
||||
function sendResponse(event: MessageEvent<any>, res: any): void {
|
||||
|
@ -323,7 +323,7 @@ function inviteUser(event: MessageEvent<any>, roomId: string, userId: string): v
|
|||
logger.log(`Received request to invite ${userId} into room ${roomId}`);
|
||||
const client = MatrixClientPeg.get();
|
||||
if (!client) {
|
||||
sendError(event, _t('You need to be logged in.'));
|
||||
sendError(event, _t("You need to be logged in."));
|
||||
return;
|
||||
}
|
||||
const room = client.getRoom(roomId);
|
||||
|
@ -338,13 +338,16 @@ function inviteUser(event: MessageEvent<any>, roomId: string, userId: string): v
|
|||
}
|
||||
}
|
||||
|
||||
client.invite(roomId, userId).then(function() {
|
||||
sendResponse(event, {
|
||||
success: true,
|
||||
});
|
||||
}, function(err) {
|
||||
sendError(event, _t('You need to be able to invite users to do that.'), err);
|
||||
});
|
||||
client.invite(roomId, userId).then(
|
||||
function () {
|
||||
sendResponse(event, {
|
||||
success: true,
|
||||
});
|
||||
},
|
||||
function (err) {
|
||||
sendError(event, _t("You need to be able to invite users to do that."), err);
|
||||
},
|
||||
);
|
||||
}
|
||||
|
||||
function kickUser(event: MessageEvent<any>, roomId: string, userId: string): void {
|
||||
|
@ -367,13 +370,16 @@ function kickUser(event: MessageEvent<any>, roomId: string, userId: string): voi
|
|||
}
|
||||
|
||||
const reason = event.data.reason;
|
||||
client.kick(roomId, userId, reason).then(() => {
|
||||
sendResponse(event, {
|
||||
success: true,
|
||||
client
|
||||
.kick(roomId, userId, reason)
|
||||
.then(() => {
|
||||
sendResponse(event, {
|
||||
success: true,
|
||||
});
|
||||
})
|
||||
.catch((err) => {
|
||||
sendError(event, _t("You need to be able to kick users to do that."), err);
|
||||
});
|
||||
}).catch((err) => {
|
||||
sendError(event, _t("You need to be able to kick users to do that."), err);
|
||||
});
|
||||
}
|
||||
|
||||
function setWidget(event: MessageEvent<any>, roomId: string | null): void {
|
||||
|
@ -391,9 +397,10 @@ function setWidget(event: MessageEvent<any>, roomId: string | null): void {
|
|||
return;
|
||||
}
|
||||
|
||||
if (widgetUrl !== null) { // if url is null it is being deleted, don't need to check name/type/etc
|
||||
if (widgetUrl !== null) {
|
||||
// if url is null it is being deleted, don't need to check name/type/etc
|
||||
// check types of fields
|
||||
if (widgetName !== undefined && typeof widgetName !== 'string') {
|
||||
if (widgetName !== undefined && typeof widgetName !== "string") {
|
||||
sendError(event, _t("Unable to create widget."), new Error("Optional field 'name' must be a string."));
|
||||
return;
|
||||
}
|
||||
|
@ -401,7 +408,7 @@ function setWidget(event: MessageEvent<any>, roomId: string | null): void {
|
|||
sendError(event, _t("Unable to create widget."), new Error("Optional field 'data' must be an Object."));
|
||||
return;
|
||||
}
|
||||
if (widgetAvatarUrl !== undefined && typeof widgetAvatarUrl !== 'string') {
|
||||
if (widgetAvatarUrl !== undefined && typeof widgetAvatarUrl !== "string") {
|
||||
sendError(
|
||||
event,
|
||||
_t("Unable to create widget."),
|
||||
|
@ -409,11 +416,11 @@ function setWidget(event: MessageEvent<any>, roomId: string | null): void {
|
|||
);
|
||||
return;
|
||||
}
|
||||
if (typeof widgetType !== 'string') {
|
||||
if (typeof widgetType !== "string") {
|
||||
sendError(event, _t("Unable to create widget."), new Error("Field 'type' must be a string."));
|
||||
return;
|
||||
}
|
||||
if (typeof widgetUrl !== 'string') {
|
||||
if (typeof widgetUrl !== "string") {
|
||||
sendError(event, _t("Unable to create widget."), new Error("Field 'url' must be a string or null."));
|
||||
return;
|
||||
}
|
||||
|
@ -423,35 +430,48 @@ function setWidget(event: MessageEvent<any>, roomId: string | null): void {
|
|||
widgetType = WidgetType.fromString(widgetType);
|
||||
|
||||
if (userWidget) {
|
||||
WidgetUtils.setUserWidget(widgetId, widgetType, widgetUrl, widgetName, widgetData).then(() => {
|
||||
sendResponse(event, {
|
||||
success: true,
|
||||
});
|
||||
|
||||
dis.dispatch({ action: "user_widget_updated" });
|
||||
}).catch((e) => {
|
||||
sendError(event, _t('Unable to create widget.'), e);
|
||||
});
|
||||
} else { // Room widget
|
||||
if (!roomId) {
|
||||
sendError(event, _t('Missing roomId.'), null);
|
||||
return;
|
||||
}
|
||||
WidgetUtils.setRoomWidget(roomId, widgetId, widgetType, widgetUrl, widgetName, widgetData, widgetAvatarUrl)
|
||||
WidgetUtils.setUserWidget(widgetId, widgetType, widgetUrl, widgetName, widgetData)
|
||||
.then(() => {
|
||||
sendResponse(event, {
|
||||
success: true,
|
||||
});
|
||||
}, (err) => {
|
||||
sendError(event, _t('Failed to send request.'), err);
|
||||
|
||||
dis.dispatch({ action: "user_widget_updated" });
|
||||
})
|
||||
.catch((e) => {
|
||||
sendError(event, _t("Unable to create widget."), e);
|
||||
});
|
||||
} else {
|
||||
// Room widget
|
||||
if (!roomId) {
|
||||
sendError(event, _t("Missing roomId."), null);
|
||||
return;
|
||||
}
|
||||
WidgetUtils.setRoomWidget(
|
||||
roomId,
|
||||
widgetId,
|
||||
widgetType,
|
||||
widgetUrl,
|
||||
widgetName,
|
||||
widgetData,
|
||||
widgetAvatarUrl,
|
||||
).then(
|
||||
() => {
|
||||
sendResponse(event, {
|
||||
success: true,
|
||||
});
|
||||
},
|
||||
(err) => {
|
||||
sendError(event, _t("Failed to send request."), err);
|
||||
},
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
function getWidgets(event: MessageEvent<any>, roomId: string): void {
|
||||
const client = MatrixClientPeg.get();
|
||||
if (!client) {
|
||||
sendError(event, _t('You need to be logged in.'));
|
||||
sendError(event, _t("You need to be logged in."));
|
||||
return;
|
||||
}
|
||||
let widgetStateEvents = [];
|
||||
|
@ -459,7 +479,7 @@ function getWidgets(event: MessageEvent<any>, roomId: string): void {
|
|||
if (roomId) {
|
||||
const room = client.getRoom(roomId);
|
||||
if (!room) {
|
||||
sendError(event, _t('This room is not recognised.'));
|
||||
sendError(event, _t("This room is not recognised."));
|
||||
return;
|
||||
}
|
||||
// XXX: This gets the raw event object (I think because we can't
|
||||
|
@ -477,12 +497,12 @@ function getWidgets(event: MessageEvent<any>, roomId: string): void {
|
|||
function getRoomEncState(event: MessageEvent<any>, roomId: string): void {
|
||||
const client = MatrixClientPeg.get();
|
||||
if (!client) {
|
||||
sendError(event, _t('You need to be logged in.'));
|
||||
sendError(event, _t("You need to be logged in."));
|
||||
return;
|
||||
}
|
||||
const room = client.getRoom(roomId);
|
||||
if (!room) {
|
||||
sendError(event, _t('This room is not recognised.'));
|
||||
sendError(event, _t("This room is not recognised."));
|
||||
return;
|
||||
}
|
||||
const roomIsEncrypted = MatrixClientPeg.get().isRoomEncrypted(roomId);
|
||||
|
@ -491,52 +511,62 @@ function getRoomEncState(event: MessageEvent<any>, roomId: string): void {
|
|||
}
|
||||
|
||||
function setPlumbingState(event: MessageEvent<any>, roomId: string, status: string): void {
|
||||
if (typeof status !== 'string') {
|
||||
throw new Error('Plumbing state status should be a string');
|
||||
if (typeof status !== "string") {
|
||||
throw new Error("Plumbing state status should be a string");
|
||||
}
|
||||
logger.log(`Received request to set plumbing state to status "${status}" in room ${roomId}`);
|
||||
const client = MatrixClientPeg.get();
|
||||
if (!client) {
|
||||
sendError(event, _t('You need to be logged in.'));
|
||||
sendError(event, _t("You need to be logged in."));
|
||||
return;
|
||||
}
|
||||
client.sendStateEvent(roomId, "m.room.plumbing", { status: status }).then(() => {
|
||||
sendResponse(event, {
|
||||
success: true,
|
||||
});
|
||||
}, (err) => {
|
||||
sendError(event, err.message ? err.message : _t('Failed to send request.'), err);
|
||||
});
|
||||
client.sendStateEvent(roomId, "m.room.plumbing", { status: status }).then(
|
||||
() => {
|
||||
sendResponse(event, {
|
||||
success: true,
|
||||
});
|
||||
},
|
||||
(err) => {
|
||||
sendError(event, err.message ? err.message : _t("Failed to send request."), err);
|
||||
},
|
||||
);
|
||||
}
|
||||
|
||||
function setBotOptions(event: MessageEvent<any>, roomId: string, userId: string): void {
|
||||
logger.log(`Received request to set options for bot ${userId} in room ${roomId}`);
|
||||
const client = MatrixClientPeg.get();
|
||||
if (!client) {
|
||||
sendError(event, _t('You need to be logged in.'));
|
||||
sendError(event, _t("You need to be logged in."));
|
||||
return;
|
||||
}
|
||||
client.sendStateEvent(roomId, "m.room.bot.options", event.data.content, "_" + userId).then(() => {
|
||||
sendResponse(event, {
|
||||
success: true,
|
||||
});
|
||||
}, (err) => {
|
||||
sendError(event, err.message ? err.message : _t('Failed to send request.'), err);
|
||||
});
|
||||
client.sendStateEvent(roomId, "m.room.bot.options", event.data.content, "_" + userId).then(
|
||||
() => {
|
||||
sendResponse(event, {
|
||||
success: true,
|
||||
});
|
||||
},
|
||||
(err) => {
|
||||
sendError(event, err.message ? err.message : _t("Failed to send request."), err);
|
||||
},
|
||||
);
|
||||
}
|
||||
|
||||
async function setBotPower(
|
||||
event: MessageEvent<any>, roomId: string, userId: string, level: number, ignoreIfGreater?: boolean,
|
||||
event: MessageEvent<any>,
|
||||
roomId: string,
|
||||
userId: string,
|
||||
level: number,
|
||||
ignoreIfGreater?: boolean,
|
||||
): Promise<void> {
|
||||
if (!(Number.isInteger(level) && level >= 0)) {
|
||||
sendError(event, _t('Power level must be positive integer.'));
|
||||
sendError(event, _t("Power level must be positive integer."));
|
||||
return;
|
||||
}
|
||||
|
||||
logger.log(`Received request to set power level to ${level} for bot ${userId} in room ${roomId}.`);
|
||||
const client = MatrixClientPeg.get();
|
||||
if (!client) {
|
||||
sendError(event, _t('You need to be logged in.'));
|
||||
sendError(event, _t("You need to be logged in."));
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -553,17 +583,20 @@ async function setBotPower(
|
|||
});
|
||||
}
|
||||
}
|
||||
await client.setPowerLevel(roomId, userId, level, new MatrixEvent(
|
||||
{
|
||||
await client.setPowerLevel(
|
||||
roomId,
|
||||
userId,
|
||||
level,
|
||||
new MatrixEvent({
|
||||
type: "m.room.power_levels",
|
||||
content: powerLevels,
|
||||
},
|
||||
));
|
||||
}),
|
||||
);
|
||||
return sendResponse(event, {
|
||||
success: true,
|
||||
});
|
||||
} catch (err) {
|
||||
sendError(event, err.message ? err.message : _t('Failed to send request.'), err);
|
||||
sendError(event, err.message ? err.message : _t("Failed to send request."), err);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -585,12 +618,12 @@ function botOptions(event: MessageEvent<any>, roomId: string, userId: string): v
|
|||
function getMembershipCount(event: MessageEvent<any>, roomId: string): void {
|
||||
const client = MatrixClientPeg.get();
|
||||
if (!client) {
|
||||
sendError(event, _t('You need to be logged in.'));
|
||||
sendError(event, _t("You need to be logged in."));
|
||||
return;
|
||||
}
|
||||
const room = client.getRoom(roomId);
|
||||
if (!room) {
|
||||
sendError(event, _t('This room is not recognised.'));
|
||||
sendError(event, _t("This room is not recognised."));
|
||||
return;
|
||||
}
|
||||
const count = room.getJoinedMemberCount();
|
||||
|
@ -602,16 +635,16 @@ function canSendEvent(event: MessageEvent<any>, roomId: string): void {
|
|||
const isState = Boolean(event.data.is_state);
|
||||
const client = MatrixClientPeg.get();
|
||||
if (!client) {
|
||||
sendError(event, _t('You need to be logged in.'));
|
||||
sendError(event, _t("You need to be logged in."));
|
||||
return;
|
||||
}
|
||||
const room = client.getRoom(roomId);
|
||||
if (!room) {
|
||||
sendError(event, _t('This room is not recognised.'));
|
||||
sendError(event, _t("This room is not recognised."));
|
||||
return;
|
||||
}
|
||||
if (room.getMyMembership() !== "join") {
|
||||
sendError(event, _t('You are not in this room.'));
|
||||
sendError(event, _t("You are not in this room."));
|
||||
return;
|
||||
}
|
||||
const me = client.credentials.userId;
|
||||
|
@ -624,7 +657,7 @@ function canSendEvent(event: MessageEvent<any>, roomId: string): void {
|
|||
}
|
||||
|
||||
if (!canSend) {
|
||||
sendError(event, _t('You do not have permission to do that in this room.'));
|
||||
sendError(event, _t("You do not have permission to do that in this room."));
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -634,12 +667,12 @@ function canSendEvent(event: MessageEvent<any>, roomId: string): void {
|
|||
function returnStateEvent(event: MessageEvent<any>, roomId: string, eventType: string, stateKey: string): void {
|
||||
const client = MatrixClientPeg.get();
|
||||
if (!client) {
|
||||
sendError(event, _t('You need to be logged in.'));
|
||||
sendError(event, _t("You need to be logged in."));
|
||||
return;
|
||||
}
|
||||
const room = client.getRoom(roomId);
|
||||
if (!room) {
|
||||
sendError(event, _t('This room is not recognised.'));
|
||||
sendError(event, _t("This room is not recognised."));
|
||||
return;
|
||||
}
|
||||
const stateEvent = room.currentState.getStateEvents(eventType, stateKey);
|
||||
|
@ -656,12 +689,13 @@ async function getOpenIdToken(event: MessageEvent<any>) {
|
|||
sendResponse(event, tokenObject);
|
||||
} catch (ex) {
|
||||
logger.warn("Unable to fetch openId token.", ex);
|
||||
sendError(event, 'Unable to fetch openId token.');
|
||||
sendError(event, "Unable to fetch openId token.");
|
||||
}
|
||||
}
|
||||
|
||||
const onMessage = function(event: MessageEvent<any>): void {
|
||||
if (!event.origin) { // stupid chrome
|
||||
const onMessage = function (event: MessageEvent<any>): void {
|
||||
if (!event.origin) {
|
||||
// stupid chrome
|
||||
// @ts-ignore
|
||||
event.origin = event.originalEvent.origin;
|
||||
}
|
||||
|
@ -717,13 +751,13 @@ const onMessage = function(event: MessageEvent<any>): void {
|
|||
getOpenIdToken(event);
|
||||
return;
|
||||
} else {
|
||||
sendError(event, _t('Missing room_id in request'));
|
||||
sendError(event, _t("Missing room_id in request"));
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
if (roomId !== SdkContextClass.instance.roomViewStore.getRoomId()) {
|
||||
sendError(event, _t('Room %(roomId)s not visible', { roomId: roomId }));
|
||||
sendError(event, _t("Room %(roomId)s not visible", { roomId: roomId }));
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -755,7 +789,7 @@ const onMessage = function(event: MessageEvent<any>): void {
|
|||
}
|
||||
|
||||
if (!userId) {
|
||||
sendError(event, _t('Missing user_id in request'));
|
||||
sendError(event, _t("Missing user_id in request"));
|
||||
return;
|
||||
}
|
||||
switch (event.data.action) {
|
||||
|
@ -778,7 +812,7 @@ const onMessage = function(event: MessageEvent<any>): void {
|
|||
setBotPower(event, roomId, userId, event.data.level, event.data.ignoreIfGreater);
|
||||
break;
|
||||
default:
|
||||
logger.warn("Unhandled postMessage event with action '" + event.data.action +"'");
|
||||
logger.warn("Unhandled postMessage event with action '" + event.data.action + "'");
|
||||
break;
|
||||
}
|
||||
};
|
||||
|
@ -800,10 +834,7 @@ export function stopListening(): void {
|
|||
}
|
||||
if (listenerCount < 0) {
|
||||
// Make an error so we get a stack trace
|
||||
const e = new Error(
|
||||
"ScalarMessaging: mismatched startListening / stopListening detected." +
|
||||
" Negative count",
|
||||
);
|
||||
const e = new Error("ScalarMessaging: mismatched startListening / stopListening detected." + " Negative count");
|
||||
logger.error(e);
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue