setLanguage() during App's render fired onLanguageChange, which made the same component's useSyncExternalStore schedule an update mid-render (React: cannot update a component while rendering a different component). syncLanguage() updates the module silently; re-renders flow through the settings store, which is the only path a renderer language change takes.