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
|
||||
|
||||
## [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
|
||||
|
||||
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.
|
||||
> 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`
|
||||
|
||||
---
|
||||
|
||||
@@ -535,7 +535,7 @@
|
||||
<div class="settings-section-title">System</div>
|
||||
<div class="settings-section-meta">Instance version and access controls.</div>
|
||||
</div>
|
||||
<span class="settings-version-badge">v0.50.36</span>
|
||||
<span class="settings-version-badge">v0.50.37</span>
|
||||
</div>
|
||||
<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>
|
||||
|
||||
Reference in New Issue
Block a user