From 22af17be2caa84a8c7a367e9cc93138be7a4f32c Mon Sep 17 00:00:00 2001 From: "gcp-cherry-pick-bot[bot]" <98988430+gcp-cherry-pick-bot[bot]@users.noreply.github.com> Date: Thu, 6 Mar 2025 12:15:46 +0000 Subject: [PATCH] web/user: ensure modal container on user-settings page is min-height: 100% (cherry-pick #13402) (#13413) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit web/user: ensure modal container on user-settings page is min-height: 100% (#13402) * web: Add InvalidationFlow to Radius Provider dialogues ## What - Bugfix: adds the InvalidationFlow to the Radius Provider dialogues - Repairs: `{"invalidation_flow":["This field is required."]}` message, which was *not* propagated to the Notification. - Nitpick: Pretties `?foo=${true}` expressions: `s/\?([^=]+)=\$\{true\}/\1/` ## Note Yes, I know I'm going to have to do more magic when we harmonize the forms, and no, I didn't add the Property Mappings to the wizard, and yes, I know I'm going to have pain with the *new* version of the wizard. But this is a serious bug; you can't make Radius servers with *either* of the current dialogues at the moment. * This (temporary) change is needed to prevent the unit tests from failing. \# What \# Why \# How \# Designs \# Test Steps \# Other Notes * Revert "This (temporary) change is needed to prevent the unit tests from failing." This reverts commit dddde09be571a639ecd041569dd3a282aab3f9be. * web/admin: ensure modal container on user-settings page is min-height: 100% ## What Add a min-height and auto-scroll directives to the CSS for the main section of the user-settings page. ``` + .pf-c-page__main { + min-height: 100vw; + overflow-y: auto; ``` ## Why Without this, Safari refused to render any pop-up modals that were "centered" on the viewport but were "beneath" the rendered content space of the container. As a result, users could not create new access tokens or app passwords. This is arguably incorrect behavior on Safari's part, but 🤷‍♀️. Adding `overflow-y: auto` on the container means that if the page is not long enough to host the pop-up, it will be accessible via scrolling. ## Testing - Using Safari, Visit the User->User Settings, click "Tokens and App Passwords" tab, and click "Create Token" or "Create App Password" - Observe that the dialog is now accessible. ## Related Issue: - [Unable to create API token in Safari #12891](https://github.com/goauthentik/authentik/issues/12891) * Fix a really stupid typo. Co-authored-by: Ken Sternberg <133134217+kensternberg-authentik@users.noreply.github.com> --- web/src/user/user-settings/UserSettingsPage.ts | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/web/src/user/user-settings/UserSettingsPage.ts b/web/src/user/user-settings/UserSettingsPage.ts index 646661a236..cf4b09ff18 100644 --- a/web/src/user/user-settings/UserSettingsPage.ts +++ b/web/src/user/user-settings/UserSettingsPage.ts @@ -59,6 +59,10 @@ export class UserSettingsPage extends AKElement { :host([theme="dark"]) .pf-c-page__main-section { --pf-c-page__main-section--BackgroundColor: transparent; } + .pf-c-page__main { + min-height: 100vh; + overflow-y: auto; + } @media screen and (min-width: 1200px) { :host { width: 90rem;