- This also fixes the blip when drop down is open and the selected value is clicked on again
- Investigated other fixes...
- slot'ing a new open indicator in (doesn't handle clickes)
- using document.activeElement (already set away from drop down)
- this.raised (not applicable in some cases)
- Partial settings are loaded before logging in via the `_ALL_IF_AUTHED` flag
- Any other attempt to findAll without flag will result in list marked as `haveAll` with the partial set of results
- Any attempt afterwards to findAll would just return the partial list and not refetch
- There were a couple of places this happened pre-log in, resulting in partial list of settings after log in
- This was needed to show version info (and to populate settings page)
- When setting up an auth provider the config is tested and the user validates against said provider
- We then fetch the principals to find the authenticated user and save it in the auth config
- If however the config is updated by the backend as part of the test process we save a stale version overwriting those changes
- So ensure we reload the resource before proceeding
- url part of `management/find` was incorrect
- url was never used as we normally have the resource, however there's some kind of log in bug #3160 where settings are missing, including server-url
- so server-url was never fetched... dodgy url threw exception... model was never fetched
- we don't have a pattern for $fetchState.error anywhere, which we could use here when fetch failed instead of continueing
- addresses #3137
- When enabling oidc the principal tagged with me should be added to the providers `allowedPrincipalIds` collection
- This wasn't happenening due to a code change (`me` --> `principal`)
- Much of the grunt work is generic OIDC
Also fixed
- store's principalId was not updated after user enables any auth provider
- Colour of InfoBox title in dark mode
- Issue where some kind of errors when enabling provider were shown as an empty box (exceptionToErrorsArray is now used, which also uses a better catch all stringify)
- An issue where enabling and disabling a provider in the same visit meant lost defaults
- An issue where Auth / Groups would not display (async part had been removed)
- Resource instance validation would show all fields as invalid once one field had failed
- /v3 doesn't exist if multi-cluster-management is disabled
- Use /v1/management.cattle.io.settings everywhere instead of /v3
- It now returns the public set of settings if retrieve with no auth, so
the store needs to remember that even though we loaded "all" of them
that wasn't really ALL of them so that the full list gets loaded after
auth.
- Use new x-api-cattle-auth header to determine authentication state if present
- Use SETTINGS.* constants consistently
- `brand` -> `ui-brand` for consistency
- `eula-accepted=true` -> `eula-agreed=<timestamp>` to match Ember
- match fix that had been applied to cluster home page
- move out common Poll code into mixin
- note - in cluster home page poll was being stopped via beforeRouteLeave, whereas others were in beforeDestroy. I've tested this in both modes and it still works ok
- addresses #2984