What's Changed
🌍 Timezone now actually works (root cause fixed)
All timestamps across the app — Audit Trail, Session History, Active Sessions, and User last-login — are now correctly displayed in the configured timezone. The root cause was that SQLite stores datetimes as `YYYY-MM-DD HH:MM:SS` (no timezone marker), and browsers were silently treating these as local time instead of UTC, so the timezone conversion was applied to a wrong base. All date parsing now normalises to UTC before formatting.
📋 MFA enable/disable now logged in Audit Trail
Enabling and disabling two-factor authentication now creates entries in the Audit Trail (`user.mfa_enabled` / `user.mfa_disabled`) so administrators can track MFA changes.
🔑 Change Password is now behind a button
The Change Password form is no longer always visible in your Profile. It's collapsed by default — click Change Password to expand the form. After a successful password change, the form automatically closes.
Container image
docker run -d -p 7443:7443 ghcr.io/kotoxie/alterm:0.5.3