diff --git a/src/utils/SnakedObject.ts b/src/utils/SnakedObject.ts index 090faf1bded5..65e127eab66b 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",