diff options
| author | 2025-09-30 10:12:15 +0200 | |
|---|---|---|
| committer | 2025-09-30 10:12:15 +0200 | |
| commit | bf6e634e042b726edd97335ac36b2305f8101b3f (patch) | |
| tree | 198e611004216d6f59e368989fc70d5e722a25ef /p/themes/base-theme | |
| parent | 34532c0dd49f825ca4f265db9dec446ec0ecd34f (diff) | |
Fix autocomplete issues in change password form (#7812)
## Screenshots
<details>
<summary>Before</summary>
<img width="773" height="652" alt="image" src="https://github.com/user-attachments/assets/89a0e58c-8c4a-41ff-b5d6-3e916079d563" />
</details>
<details>
<summary>After</summary>
<img width="1006" height="646" alt="image" src="https://github.com/user-attachments/assets/f4575103-7365-4870-a170-2742bf10eb27" />
</details>
This is an example on Firefox, where the `Master authentication token` field was incorrectly being autofilled.
Red borders are indicating that the fields are required.
## List of changes
* `required="required"` is now being added to the password fields if the section is open
* The `challenge` field is being added if section is open instead of when at least one of the password fields isn't empty due to autocomplete
* Added `autocomplete="new-password"` on fields that shouldn't be autocompleted
* Unfortunately Chrome requires a workaround with CSS
* Not tested on Safari yet
* User will be redirected to profile page after successfully changing their password instead of index page
## How to test
Autocomplete related changes should be tested on a HTTPS page with saved credentials for FreshRSS
Diffstat (limited to 'p/themes/base-theme')
| -rw-r--r-- | p/themes/base-theme/frss.css | 7 | ||||
| -rw-r--r-- | p/themes/base-theme/frss.rtl.css | 7 |
2 files changed, 14 insertions, 0 deletions
diff --git a/p/themes/base-theme/frss.css b/p/themes/base-theme/frss.css index b2cea940f..48c8147e3 100644 --- a/p/themes/base-theme/frss.css +++ b/p/themes/base-theme/frss.css @@ -530,6 +530,13 @@ input#favicon-upload { display: inline; } +input.ignore-auto-complete { + position: absolute; + left: -9999px; + pointer-events: none; + user-select: none; +} + /*=== Buttons */ button[disabled] { opacity: 0.5; diff --git a/p/themes/base-theme/frss.rtl.css b/p/themes/base-theme/frss.rtl.css index 0ed592a41..e1cc66066 100644 --- a/p/themes/base-theme/frss.rtl.css +++ b/p/themes/base-theme/frss.rtl.css @@ -530,6 +530,13 @@ input#favicon-upload { display: inline; } +input.ignore-auto-complete { + position: absolute; + right: -9999px; + pointer-events: none; + user-select: none; +} + /*=== Buttons */ button[disabled] { opacity: 0.5; |
