-
-
Notifications
You must be signed in to change notification settings - Fork 3.8k
Description
Pre-submission Checklist
- I have searched the existing issues and this bug has not been reported yet
- I have tested this issue on the demo site or the latest version
Where did you encounter this bug?
Latest stable version (self-hosted)
Memos Version
(v0.25.3)
Bug Description
Describe the bug
I am unable to change the Theme (Dark/Light mode) and Language settings on the Login screen. The UI elements appear to be unresponsive; selecting a different language or toggling the theme does not update the interface.
To Reproduce
Steps to reproduce the behavior:
- Go to the 'Login Screen' (fresh instance or logged out).
- Click on the 'Language Selector' dropdown.
- Click on the 'Theme Toggle' button.
- Observe that neither the language nor the theme changes visually.
Expected behavior
The application should switch the UI language and toggle the theme immediately upon selection.
Environment info
- Version: 0.25.3 (Docker image
neosmemo/memos:stable) - Database: SQLite (Schema v0.25.1)
- Browser: [Chrome / Firefox / Safari - Kullandığını buraya yaz]
- OS: [Windows / macOS / Linux - Kullandığını buraya yaz]
Additional Context
- Important: I checked the official demo version, and this issue does NOT occur there. It works perfectly in the demo but fails in this Docker version (v0.25.3).
- No errors appear in the browser console.
Possible Root Cause (Technical Analysis)
I analyzed the bundled JS code for the Theme Selector component (likely exported as T) in my local instance. There appears to be a logic condition that prevents the global theme setter from running if an onValueChange prop is present.
Current logic found in the minified bundle:
const a = s => { t ? t(s) : r.setTheme(s) };
If the Login page passes an onValueChange handler (prop t), the r.setTheme(s) function is never executed. It seems the component is blocking the global state update when a parent handler is provided.
Steps to Reproduce
- Deploy a fresh Memos instance using Docker (v0.25.3):
docker run -d -p 5230:5230 neosmemo/memos:stable - Open
http://localhost:5230in an Incognito/Private window (to ensure no cache/session). - Stay on the Sign In page (do not log in).
- Attempt to change the Language using the dropdown menu at the bottom.
- Attempt to toggle the Theme button (Sun/Moon icon).
Expected Behavior
The UI should immediately update to reflect the selected Language or Theme. For example, selecting a new language should translate the interface text instantly, and clicking the theme toggle should switch between Light and Dark modes, just like it does in the official demo.
Screenshots & Additional Context
