diff --git a/src/Draupnir.ts b/src/Draupnir.ts index 972ceb7c..daae044f 100644 --- a/src/Draupnir.ts +++ b/src/Draupnir.ts @@ -25,7 +25,7 @@ limitations under the License. * are NOT distributed, contributed, committed, or licensed under the Apache License. */ -import { Client, ClientPlatform, ClientRooms, EventReport, Logger, MatrixRoomID, MatrixRoomReference, Membership, MembershipEvent, Ok, PolicyRoomManager, ProtectedRoomsSet, RoomEvent, RoomMembershipManager, RoomMessage, RoomStateManager, StringRoomID, StringUserID, Task, TextMessageContent, Value, isError, isStringRoomAlias, isStringRoomID, serverName, userLocalpart } from "matrix-protection-suite"; +import { ActionResult, Client, ClientPlatform, ClientRooms, EventReport, Logger, MatrixRoomID, MatrixRoomReference, Membership, MembershipEvent, Ok, PolicyRoomManager, ProtectedRoomsSet, RoomEvent, RoomMembershipManager, RoomMessage, RoomStateManager, StringRoomID, StringUserID, Task, TextMessageContent, Value, isError, isStringRoomAlias, isStringRoomID, serverName, userLocalpart } from "matrix-protection-suite"; import { UnlistedUserRedactionQueue } from "./queues/UnlistedUserRedactionQueue"; import { findCommandTable } from "./commands/interface-manager/InterfaceCommand"; import { ThrottlingQueue } from "./queues/ThrottlingQueue"; @@ -135,7 +135,7 @@ export class Draupnir implements Client { policyRoomManager: PolicyRoomManager, roomMembershipManager: RoomMembershipManager, config: IConfig - ): Promise { + ): Promise> { const draupnir = new Draupnir( client, clientUserID, @@ -160,7 +160,7 @@ export class Draupnir implements Client { ) ); if (isError(loadResult)) { - throw loadResult.error; + return loadResult; } // we need to make sure that we are protecting the management room so we // have immediate access to its membership (for accepting invitations). @@ -168,9 +168,9 @@ export class Draupnir implements Client { managementRoom ); if (isError(managementRoomProtectResult)) { - throw managementRoomProtectResult.error; + return managementRoomProtectResult; } - return draupnir; + return Ok(draupnir); } public handleTimelineEvent(roomID: StringRoomID, event: RoomEvent): void { diff --git a/src/draupnirfactory/DraupnirFactory.ts b/src/draupnirfactory/DraupnirFactory.ts index 43b23814..26422df2 100644 --- a/src/draupnirfactory/DraupnirFactory.ts +++ b/src/draupnirfactory/DraupnirFactory.ts @@ -3,7 +3,7 @@ * All rights reserved. */ -import { ActionResult, ClientsInRoomMap, MatrixRoomID, Ok, StringUserID, isError } from "matrix-protection-suite"; +import { ActionResult, ClientsInRoomMap, MatrixRoomID, StringUserID, isError } from "matrix-protection-suite"; import { Draupnir } from "../Draupnir"; import { ClientCapabilityFactory, ClientForUserID, RoomStateManagerFactory, joinedRoomsSafe } from "matrix-protection-suite-for-matrix-bot-sdk"; import { IConfig } from "../config"; @@ -44,7 +44,7 @@ export class DraupnirFactory { if (isError(protectedRoomsSet)) { return protectedRoomsSet; } - return Ok(await Draupnir.makeDraupnirBot( + return await Draupnir.makeDraupnirBot( client, clientUserID, clientPlatform, @@ -55,6 +55,6 @@ export class DraupnirFactory { policyRoomManager, roomMembershipManager, config - )) + ); } }