@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",
};
})()
현재로서는 map을 지원하지 않는 admin_config_login_routes 값이 어떻게 생성되고 있는지 정말로 이해가 가지 않습니다. LOAD_PLUGINS=0으로 서버에서 모든 플러그인을 비활성화하면 빈 배열이 반환됩니다. 그 외 모든 경우에도 값의 배열이 반환됩니다. 이 둘 모두 map과 함께 작동하지만, 배열 외부의 {}나 "oauth2"와 같은 값은 에러를 유발합니다.