Yes, most definitely. There’s no justifiable reason to use !important in a coherently cascaded set of stylesheets, which ours aim to be.
I’m writing up an epic to get rid of all of them. With any luck, I’ll be able to get the fixes in by Willow. Thanks for the help in identifying the problem!
I’m not going to have time to look into this just now, but I’d start by exploring two things:
Does the frontend-base version of Authn still respect that setting? (By looking at the code.)
Does it respect it if you set it directly in site.config? (By running npm run dev in a checkout of frontend-template-site and not starting Tutor’s mfe containers.)
The point being to find out where the setting is getting lost in translation.
This should work because of the runtime translation layer, but I suspect it might be getting overriden by the app itself. I’ll have to take a look at it, later.
Ok, finally looked into it. This is what should work today: per-app config, which gets merged into the app’s own config and so overwrites the bundled default. In your mfe-lms-production-settings patch:
Or the legacy equivalent, which the site config endpoint translates into exactly that: MFE_CONFIG_OVERRIDES["authn"] = {"SHOW_REGISTRATION_LINKS": False}. Both are runtime config, so no rebuild needed.
Why your attempts didn’t work: in frontend-base 1.x, App.config holds both the app author’s bundled defaults and operator-supplied config, and getAppConfig() resolves them as merge({}, commonAppConfig, appConfigs[id]). Since frontend-app-authn bundles SHOW_REGISTRATION_LINKS: true, anything in commonAppConfig loses to it. MFE_CONFIG fails the same way, because the endpoint translates those keys into commonAppConfig.