Skip to content

Commit 9693149

Browse files
YoricDavid Teller
authored andcommitted
Fix: Make sure that config.bot.displayName is always set
1 parent 7be00c1 commit 9693149

File tree

4 files changed

+15
-11
lines changed

4 files changed

+15
-11
lines changed

src/appservice/AppService.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ import { AppServiceRegistration, Bridge, Request, WeakEvent, BridgeContext, Matr
1818
import { MjolnirManager } from ".//MjolnirManager";
1919
import { DataStore, PgDataStore } from ".//datastore";
2020
import { Api } from "./Api";
21-
import { IConfig } from "./config/config";
21+
import { IConfig as IAppserviceConfig } from "./config/config";
2222
import { AccessControl } from "./AccessControl";
2323
import { OpenMetrics } from "../webapis/OpenMetrics";
2424

@@ -37,7 +37,7 @@ export class MjolnirAppService {
3737
* use `makeMjolnirAppService`.
3838
*/
3939
private constructor(
40-
public readonly config: IConfig,
40+
public readonly config: IAppserviceConfig,
4141
public readonly bridge: Bridge,
4242
private readonly mjolnirManager: MjolnirManager,
4343
private readonly accessControl: AccessControl,
@@ -54,7 +54,7 @@ export class MjolnirAppService {
5454
* @param registrationFilePath A file path to the registration file to read the namespace and tokens from.
5555
* @returns A new `MjolnirAppService`.
5656
*/
57-
public static async makeMjolnirAppService(config: IConfig, dataStore: DataStore, registrationFilePath: string) {
57+
public static async makeMjolnirAppService(config: IAppserviceConfig, dataStore: DataStore, registrationFilePath: string) {
5858
const bridge = new Bridge({
5959
homeserverUrl: config.homeserver.url,
6060
domain: config.homeserver.domain,
@@ -92,7 +92,7 @@ export class MjolnirAppService {
9292
* @param config The parsed configuration file.
9393
* @param registrationFilePath A path to their homeserver registration file.
9494
*/
95-
public static async run(port: number, config: IConfig, registrationFilePath: string): Promise<MjolnirAppService> {
95+
public static async run(port: number, config: IAppserviceConfig, registrationFilePath: string): Promise<MjolnirAppService> {
9696
Logger.configure(config.logging ?? { console: "debug" });
9797
const dataStore = new PgDataStore(config.db.connectionString);
9898
await dataStore.init();

src/appservice/MjolnirManager.ts

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -65,9 +65,8 @@ export class MjolnirManager {
6565
intentListener,
6666
);
6767
await managedMjolnir.start();
68-
if (this.config.bot.displayName) {
69-
await client.setDisplayName(this.config.bot.displayName);
70-
}
68+
const displayName = this.config?.bot?.displayName || "Moderation Bot";
69+
await client.setDisplayName(displayName);
7170
this.perMjolnirId.set(mjolnirUserId, managedMjolnir);
7271
this.perOwnerId.set(requestingUserId, managedMjolnir);
7372
return managedMjolnir;

src/appservice/cli.ts

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import { Cli } from "matrix-appservice-bridge";
22
import { MjolnirAppService } from "./AppService";
3-
import { IConfig } from "./config/config";
3+
import { IConfig as IAppserviceConfig, addDefaults } from "./config/config";
44
import * as utils from "../utils";
55

66
/**
@@ -17,10 +17,11 @@ const cli = new Cli({
1717
},
1818
generateRegistration: MjolnirAppService.generateRegistration,
1919
run: async function(port: number) {
20-
const config: IConfig | null = cli.getConfig() as any;
20+
const config: IAppserviceConfig | null = cli.getConfig() as any;
2121
if (config === null) {
2222
throw new Error("Couldn't load config");
2323
}
24+
addDefaults(config);
2425
utils.initializeSentry(config);
2526
utils.initializeGlobalPerformanceMetrics(config);
2627
await MjolnirAppService.run(port, config, cli.getRegistrationFilePath());

src/appservice/config/config.ts

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -85,11 +85,15 @@ export function read(configPath: string): IConfig {
8585
const content = fs.readFileSync(configPath, "utf8");
8686
const parsed = load(content);
8787
const config = (parsed as object) as IConfig;
88+
addDefaults(config);
89+
return config;
90+
}
91+
92+
export function addDefaults(config: IConfig) {
8893
if (!config.bot) {
8994
config.bot = {};
9095
}
9196
if (!config.bot.displayName) {
9297
config.bot.displayName = "Moderation Bot";
9398
}
94-
return config;
95-
}
99+
}

0 commit comments

Comments
 (0)