こんにちは @Mr.Xurrent。ローカル環境で再現を試みていますが、プラグインの設定方法に関わらず再現できていません。チーム製のプラグインのみが有効化されているとおっしゃっていましたが、無効化されている他のプラグインがインストールされていますか?
エラーが発生している際に、以下のコードをコンソールで実行し、結果をここに貼り付けてみてください:
(() => {
const raw = JSON.parse(
JSON.parse(document.querySelector("#data-preloaded").textContent).site
).admin_config_login_routes;
const live = Discourse.__container__
.lookup("service:site")
.admin_config_login_routes;
return {
raw,
rawType: typeof raw,
rawConstructor: raw?.constructor?.name,
rawIsArray: Array.isArray(raw),
live,
liveType: typeof live,
liveConstructor: live?.constructor?.name,
liveIsArray: Array.isArray(live),
liveHasMap: typeof live?.map === "function",
arrayPrototypeHasMap: typeof Array.prototype.map === "function",
};
})()
現時点では、admin_config_login_routes の値が map を許可しない状態になる理由が本当に分かりません。サーバー側で LOAD_PLUGINS=0 を設定してすべてのプラグインを無効化すると、空の配列が返されます。他のすべてのケースでは、値の配列が返されます。どちらの場合も map は正常に動作しますが、配列外に {} や "oauth2" のような値がある場合、エラーが発生します。