HERMES-GIELIE/static
nesquena-hermes f8754ded70 fix(autosave): guard preferences-autosave dirty-clear when password/model pending (Opus SHOULD-FIX Q1)
Pre-release Opus review of v0.50.250 caught a UX regression in PR
#1369: _autosavePreferencesSettings unconditionally cleared
_settingsDirty=false and hid the unsaved-changes bar on every
successful autosave. But password and model are still committed via
the explicit 'Save Settings' button (password for security; model
goes through /api/default-model). Race scenario:

  1. User opens System pane, types a new password (sets
     _settingsDirty=true; bar appears on close)
  2. User switches to Preferences, toggles any checkbox -> autosave
     fires -> _settingsDirty=false, bar permanently suppressed
  3. User closes panel -> _closeSettingsPanel short-circuits because
     !_settingsDirty -> typed password silently discarded
     (loadSettingsPanel blanks pwField.value='' on next open)

Same shape with model selector: pick a new default model, then
toggle any preference -> autosave fires -> no warning on close ->
model never persists.

Fix: only clear _settingsDirty and hide settingsUnsavedBar when both
the password field is empty AND the model selector matches its
on-open snapshot.

Pinned by an updated regression test asserting the conditional guard
exists.
2026-04-30 22:48:20 +00:00
..
vendor chore: vendor streaming-markdown@0.2.15, remove CDN dependency 2026-04-24 01:05:20 +00:00
boot.js fix(mobile): workspace panel sliver + composer footer collapse (#1300) 2026-04-30 15:24:36 +00:00
commands.js Add Portuguese (pt-BR) locale 2026-04-29 06:06:01 +00:00
favicon-32.png fix: add favicon (SVG + PNG + ICO), fix static MIME types (#613) 2026-04-16 20:11:02 -07:00
favicon.ico fix: add favicon (SVG + PNG + ICO), fix static MIME types (#613) 2026-04-16 20:11:02 -07:00
favicon.svg fix: add favicon (SVG + PNG + ICO), fix static MIME types (#613) 2026-04-16 20:11:02 -07:00
i18n.js feat(cron): auto-assign cron job sessions to dedicated 'Cron Jobs' project (#1079) 2026-04-30 17:13:59 +00:00
icons.js Add Portuguese (pt-BR) locale 2026-04-29 06:06:01 +00:00
index.html fix: autosave preferences settings (#1369, fixes #1003 phase 2) 2026-04-30 22:38:44 +00:00
login.js v0.50.210: gpt-5.5, cron titles, agent cache, bfcache fix, onboarding fix, mermaid CSP, PWA auth (#1056) 2026-04-25 15:47:44 -07:00
manifest.json feat: add PWA support (manifest, service worker, install prompt) (#920) 2026-04-23 15:14:21 -07:00
messages.js fix(clarify-sse): make health timer a stale-detector, not unconditional reconnect (#1367) 2026-04-30 22:25:12 +00:00
onboarding.js v0.50.210: gpt-5.5, cron titles, agent cache, bfcache fix, onboarding fix, mermaid CSP, PWA auth (#1056) 2026-04-25 15:47:44 -07:00
panels.js fix(autosave): guard preferences-autosave dirty-clear when password/model pending (Opus SHOULD-FIX Q1) 2026-04-30 22:48:20 +00:00
sessions.js fix: sync active session across tabs (#1359) 2026-04-30 21:32:50 +00:00
style.css fix(mobile): workspace panel sliver + composer footer collapse (#1300) 2026-04-30 15:24:36 +00:00
sw.js fix(ui+pwa): avoid stale Mermaid render errors and bust cached static asset URLs on every release 2026-04-30 16:18:01 +00:00
terminal.js Restore terminal resize and collapse controls 2026-04-29 16:45:26 +08:00
ui.js release: v0.50.250 2026-04-30 22:27:40 +00:00
workspace.js release: v0.50.244 (#1308) 2026-04-29 21:34:27 -07:00