Skip to content

Conversation

@smg6511
Copy link
Collaborator

@smg6511 smg6511 commented Dec 30, 2025

What does it do?

Maps the login window action "Security/Login" to the controller one "security/login" (lowercase).

Additionally, some minor css changes were made to the status message toast, as its content was being clipped with short messages (such as that which is shown after successfully extending a session).

Why is it needed?

Login is probably the only action where it can occur both directly via the controller (main login page) and via a window (extend session). The window, however, must use the newer (3.x) casing scheme in its action to call its corresponding processor. The core connector, however, was only testing for the presence of the lowercase formatted action to make certain decisions.

How to test

  1. Run grunt build to see the style changes
  2. Use one of two ways to force-expire your session: 1) change your session_cookie_lifetime system setting to a very low number like 60 (1 minute) and login with the remember me checkbox ticked; or 2) manually delete the session cookie from your browser's dev tools pane.
  3. After normal login, go to the Reports/Error Log page. Once you know your current session has expired click the refresh button; this should bring up the login window to extend your session. Verify that clicking login from there allows you to continue your work.

Related issue(s)/PR(s)

Resolves #16742

Special Note

The process of fixing the underlying cause of this issue raises another, which will be separately addressed. Some requests, like when trying to save a Resource after your session has expired, result in a mangled 401 response which prevents the login window from ever showing.

@smg6511 smg6511 added pr/review-needed Pull request requires review and testing. requires build Grunt build is required for integration labels Dec 30, 2025
@opengeek opengeek changed the title Fix login window (for extending an expired session) functionality Fix expired session login dialog Dec 30, 2025
Copy link
Member

@opengeek opengeek left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

While it technically worked as advertised, once I submitted the login through the dialog, it displayed a message saying "session extended" but the error log just had a "working…" dialog and never actually refreshed until I clicked refresh again. Is this expected? It doesn't feel correct.

@smg6511
Copy link
Collaborator Author

smg6511 commented Jan 6, 2026

@opengeek - Yes, to me that's a separate issue to address. There are a couple things to address: The mangled response you're already aware of and, re the stuck "working" toast and lack of refresh of the log, I don't know whether the extension of a session ever had the ability to re-engage an action attempted during a stale session (it does the same thing you see here in 2.x). That, in my mind, is a bigger fish to fry — honestly I'm not even sure it's possible or at least practical (am I thinking this is more complicated than it really is?) — and it'd be good to just get the basic functionality of extending the session working. I thought about being more verbose in the success toast upon extension, alerting the user to re-take whatever their previous action was. Looking forward to your insight ... ;-)

@opengeek
Copy link
Member

opengeek commented Jan 6, 2026

@opengeek - Yes, to me that's a separate issue to address. There are a couple things to address: The mangled response you're already aware of and, re the stuck "working" toast and lack of refresh of the log, I don't know whether the extension of a session ever had the ability to re-engage an action attempted during a stale session (it does the same thing you see here in 2.x). That, in my mind, is a bigger fish to fry — honestly I'm not even sure it's possible or at least practical (am I thinking this is more complicated than it really is?) — and it'd be good to just get the basic functionality of extending the session working. I thought about being more verbose in the success toast upon extension, alerting the user to re-take whatever their previous action was. Looking forward to your insight ... ;-)

No insight, I'm afraid. I was just making sure I wasn't missing expected behavior. We'll go with this for now. 😅

@smg6511
Copy link
Collaborator Author

smg6511 commented Jan 6, 2026

We'll go with this for now.

Ok, do you want me to add a little to the success message for clarity, or just run with it as-is for now?

@opengeek
Copy link
Member

opengeek commented Jan 6, 2026

We'll go with this for now.

Ok, do you want me to add a little to the success message for clarity, or just run with it as-is for now?

As-is for now.

@opengeek opengeek added this to the v3.2.0 milestone Jan 6, 2026
smg6511 and others added 4 commits January 6, 2026 11:33
Fix conditional to allow login via processor-based request
Minor code formatting/quality fixes
Modernize and adjust message window defs to better accommodate short messages; short ones like the one for an extended session were clipped at the bottom previously
@opengeek opengeek merged commit 304208d into modxcms:3.x Jan 6, 2026
7 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

pr/review-needed Pull request requires review and testing. requires build Grunt build is required for integration

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Cannot login using the "Login expired" popup form.

2 participants