docs: v0.50.37 CHANGELOG, version bump, test count
This commit is contained in:
26
CHANGELOG.md
26
CHANGELOG.md
@@ -1,5 +1,31 @@
|
|||||||
# Hermes Web UI -- Changelog
|
# Hermes Web UI -- Changelog
|
||||||
|
|
||||||
|
## [v0.50.37] fix(onboarding): skip wizard when Hermes is already configured
|
||||||
|
|
||||||
|
Fixes #420 — existing Hermes users with a valid `config.yaml` were shown the first-run
|
||||||
|
onboarding wizard on every WebUI load because the only completion gate was
|
||||||
|
`settings.onboarding_completed` in the WebUI's own settings file. Users who configured
|
||||||
|
Hermes via the CLI before the WebUI existed had no such flag, so the wizard always fired
|
||||||
|
and could silently overwrite their working config.
|
||||||
|
|
||||||
|
**Changes:**
|
||||||
|
1. `api/onboarding.py` `get_onboarding_status()`: auto-complete when `config.yaml` exists
|
||||||
|
AND `chat_ready=True`. Existing configured users are never shown the wizard.
|
||||||
|
2. `api/onboarding.py` `apply_onboarding_setup()`: refuse to overwrite an existing
|
||||||
|
`config.yaml` without `confirm_overwrite=True` in the request body. Returns
|
||||||
|
`{error: "config_exists", requires_confirm: true}` for the frontend to handle.
|
||||||
|
3. `static/index.html`: "Skip setup" button added to wizard footer — users are never
|
||||||
|
trapped in the wizard.
|
||||||
|
4. `static/onboarding.js`: `skipOnboarding()` calls `/api/onboarding/complete` without
|
||||||
|
modifying config, then closes the overlay.
|
||||||
|
5. `static/boot.js`: Escape key now dismisses the onboarding overlay.
|
||||||
|
6. `static/i18n.js`: `onboarding_skip` / `onboarding_skipped` keys added to en + es locales.
|
||||||
|
7. `tests/test_onboarding_existing_config.py`: 8 new unit tests covering gate logic and
|
||||||
|
overwrite guard.
|
||||||
|
|
||||||
|
- Total tests: 1063 (was 1055)
|
||||||
|
|
||||||
|
|
||||||
## [v0.50.36] fix: workspace list cleaner — allow own-profile paths, remove brittle string filter
|
## [v0.50.36] fix: workspace list cleaner — allow own-profile paths, remove brittle string filter
|
||||||
|
|
||||||
Two bugs in `_clean_workspace_list()` caused workspace additions to silently disappear on the next `load_workspaces()` call, breaking `test_workspace_add_no_duplicate` and `test_workspace_rename` (and potentially causing real-world workspace list corruption):
|
Two bugs in `_clean_workspace_list()` caused workspace additions to silently disappear on the next `load_workspaces()` call, breaking `test_workspace_add_no_duplicate` and `test_workspace_rename` (and potentially causing real-world workspace list corruption):
|
||||||
|
|||||||
@@ -8,7 +8,7 @@
|
|||||||
> Prerequisites: SSH tunnel is active on port 8787. Open http://localhost:8787 in browser.
|
> Prerequisites: SSH tunnel is active on port 8787. Open http://localhost:8787 in browser.
|
||||||
> Server health check: curl http://127.0.0.1:8787/health should return {"status":"ok"}.
|
> Server health check: curl http://127.0.0.1:8787/health should return {"status":"ok"}.
|
||||||
>
|
>
|
||||||
> Automated tests: 961 total (961 passing, 0 known failures). Includes onboarding coverage for bootstrap/static wizard presence, real provider config persistence (`config.yaml` + `.env`), and the `/api/onboarding/*` backend.
|
> Automated tests: 1063 total (1063 passing, 0 known failures). Includes onboarding coverage for bootstrap/static wizard presence, real provider config persistence (`config.yaml` + `.env`), the `/api/onboarding/*` backend, and the onboarding skip/existing-config guard.
|
||||||
> Run: `pytest tests/ -v --timeout=60`
|
> Run: `pytest tests/ -v --timeout=60`
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|||||||
@@ -535,7 +535,7 @@
|
|||||||
<div class="settings-section-title">System</div>
|
<div class="settings-section-title">System</div>
|
||||||
<div class="settings-section-meta">Instance version and access controls.</div>
|
<div class="settings-section-meta">Instance version and access controls.</div>
|
||||||
</div>
|
</div>
|
||||||
<span class="settings-version-badge">v0.50.36</span>
|
<span class="settings-version-badge">v0.50.37</span>
|
||||||
</div>
|
</div>
|
||||||
<div class="settings-field" style="border-top:1px solid var(--border);padding-top:12px;margin-top:8px">
|
<div class="settings-field" style="border-top:1px solid var(--border);padding-top:12px;margin-top:8px">
|
||||||
<label for="settingsPassword" data-i18n="settings_label_password">Access Password</label>
|
<label for="settingsPassword" data-i18n="settings_label_password">Access Password</label>
|
||||||
|
|||||||
Reference in New Issue
Block a user