diff --git a/CHANGELOG.md b/CHANGELOG.md index 3856808..d429f2a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,31 @@ # Hermes Web UI -- Changelog +## [v0.50.38] feat: mobile nav cleanup, Prism syntax highlighting, zh-CN/zh-Hant i18n + +Three community contributions combined: + +**PR #425 — Remove mobile bottom nav (@aronprins)** +The fixed iOS-style bottom navigation bar on phones has been removed. The sidebar drawer +tabs already handle all navigation — the bottom nav was redundant and consumed ~56px of +vertical chat space. `test_mobile_layout.py` updated with `test_mobile_bottom_nav_removed()` +and new sidebar nav coverage tests. + +**PR #426 — Prism syntax highlighting with light + dark theme token colors (@GiggleSamurai)** +Fenced code blocks now emit `class="language-{lang}"` on `` elements, enabling Prism's +autoloader to apply token-level syntax highlighting. Added 36-line `:root[data-theme="light"]` +token color overrides scoped to light theme only; dark/dim/monokai/nord themes unaffected. +Background guard uses `var(--code-bg) !important` to prevent Prism's dark background from +overriding theme variables. 2 new regression tests in `test_issue_code_syntax_highlight.py`. + +**PR #428 — zh-CN/zh-Hant i18n hardening (@vansour)** +Pluggable `resolvePreferredLocale()` function with smart zh-CN/zh-SG/zh-TW/zh-HK variant +mapping. Full zh-Simplified and zh-Traditional locale blocks added to `i18n.js`. Login page +locale routing updated in `api/routes.py` (`_resolve_login_locale_key()` helper). Hardcoded +strings in `panels.js` cron UI extracted to i18n keys. 3 new test files: +`test_chinese_locale.py`, `test_language_precedence.py`, `test_login_locale.py`. + +- Total tests: 1073 (was 1063) + ## [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 diff --git a/TESTING.md b/TESTING.md index 71e788e..57e0c6a 100644 --- a/TESTING.md +++ b/TESTING.md @@ -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: 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. +> Automated tests: 1073 total (1073 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` --- diff --git a/static/index.html b/static/index.html index 9459e82..cd47457 100644 --- a/static/index.html +++ b/static/index.html @@ -536,7 +536,7 @@
System
Instance version and access controls.
- v0.50.37 + v0.50.38