Currently, users are required to enter their password every time they load the DuetWebControl interface, even if they have previously logged in. This creates an unnecessary friction point in the user experience, especially for users who frequently access their Duet-powered devices and work in secure environments.
Solution
This pull request implements a "Remember Password" feature, allowing users to optionally save their password locally, eliminating the need for repeated password entry.
Changes Made
Added a "Remember Password" checkbox to the login dialog (ConnectDialog.vue).
Implemented password saving and retrieval using browser's localStorage.
Added translations for the new "Remember Password" text in all supported languages.
Implementation Details
The password is stored in the browser's localStorage when the user checks the "Remember Password" box and successfully logs in.
On subsequent visits, if a saved password is found, it's automatically populated in the password field.
Users can choose not to use the saved password by unchecking the "Remember Password" box or manually clearing the password field.
The password is cleared from localStorage if the user logs in without the "Remember Password" box checked.
Security Considerations
Users are implicitly made aware that choosing to remember the password may pose a security risk, as the password is stored locally on their device.
No additional warnings were added to keep the interface clean and avoid alert fatigue.
The implementation relies on the browser's built-in security for localStorage, which is generally considered secure against web-based attacks but may be vulnerable to local machine compromise.
Testing
Tested on Duet Wifi 2
Verified that the password is correctly saved and retrieved across page reloads and browser restarts.
Confirmed that opting out of password saving (unchecking the box) correctly clears the saved password.
Implement "Remember Password" Feature
Problem Description
Currently, users are required to enter their password every time they load the DuetWebControl interface, even if they have previously logged in. This creates an unnecessary friction point in the user experience, especially for users who frequently access their Duet-powered devices and work in secure environments.
Solution
This pull request implements a "Remember Password" feature, allowing users to optionally save their password locally, eliminating the need for repeated password entry.
Changes Made
ConnectDialog.vue
).Implementation Details
Security Considerations
Testing