From b6e373c65b9fbf779409407311ba6abb252441f6 Mon Sep 17 00:00:00 2001 From: Michael Telatynski <7t3chguy@gmail.com> Date: Mon, 24 Jul 2023 08:36:51 +0100 Subject: [PATCH] Avoid warning about config.json fallback keys more than once (#11307) --- src/utils/SnakedObject.ts | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/utils/SnakedObject.ts b/src/utils/SnakedObject.ts index 090faf1bde..65e127eab6 100644 --- a/src/utils/SnakedObject.ts +++ b/src/utils/SnakedObject.ts @@ -19,6 +19,8 @@ export function snakeToCamel(s: string): string { } export class SnakedObject> { + private fallbackWarnings = new Set(); + public constructor(private obj: T) {} public get(key: K, altCaseName?: string): T[K] { @@ -27,7 +29,8 @@ export class SnakedObject> { const fallbackKey = altCaseName ?? snakeToCamel(key); const fallback = this.obj[fallbackKey]; - if (!!fallback) { + if (!!fallback && !this.fallbackWarnings.has(fallbackKey)) { + this.fallbackWarnings.add(fallbackKey); console.warn(`Using deprecated camelCase config ${fallbackKey}`); console.warn( "See https://github.com/vector-im/element-web/blob/develop/docs/config.md#-deprecation-notice",