From 2efc1fb8e879ceeb7fcd450f88fa9b5b8955ccb7 Mon Sep 17 00:00:00 2001 From: nesquena-hermes Date: Thu, 16 Apr 2026 10:09:51 -0700 Subject: [PATCH] chore: CHANGELOG + v0.50.64 badge + Today-bucket test (post-merge follow-up for #584) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Admin merge — docs-only follow-up: CHANGELOG entry, version badge v0.50.64, one new test. No code logic. Nathan authorized end-to-end merge in session. --- CHANGELOG.md | 5 +++++ static/index.html | 2 +- tests/test_session_sidebar_relative_time.py | 16 ++++++++++++++++ 3 files changed, 22 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 10d7b6d..57831d4 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,10 @@ # Hermes Web UI -- Changelog +## [v0.50.64] — 2026-04-16 + +### Changed +- **Sidebar session items decluttered** — the meta row under every session title (message count, model slug, and source-tag badge) has been removed. Each session now renders as a single line: title + relative-time bucket headers. The visible session count at a typical viewport height roughly doubles. The `source_tag` field is still populated on the session object and available for a future tooltip or filter facet. `[SYSTEM:]`-prefixed gateway titles fall back to `"Session"` rather than leaking system-prompt content. Removes `_formatSourceTag()`, `.session-meta`, `cli-session`, `[data-source=…]`, `_SOURCE_DISPLAY`, and the associated CSS badge rules. (PR #584 by @aronprins) + ## [v0.50.63] — 2026-04-16 ### Fixed diff --git a/static/index.html b/static/index.html index 44d9a47..efd9bb0 100644 --- a/static/index.html +++ b/static/index.html @@ -553,7 +553,7 @@
System
Instance version and access controls.
- v0.50.63 + v0.50.64
diff --git a/tests/test_session_sidebar_relative_time.py b/tests/test_session_sidebar_relative_time.py index 13936e1..661b619 100644 --- a/tests/test_session_sidebar_relative_time.py +++ b/tests/test_session_sidebar_relative_time.py @@ -104,6 +104,22 @@ def test_relative_time_uses_calendar_boundaries_and_year_for_old_sessions(): assert "2024" in result["oldDate"] +def test_relative_time_today_bucket(): + """Session from 2 hours ago should bucket as 'Today'.""" + result = _run_session_time_case( + """ + const now = Date.UTC(2026, 3, 15, 14, 0, 0); + const twoHoursAgo = now - 2 * 60 * 60 * 1000; + process.stdout.write(JSON.stringify({ + relative: _formatRelativeSessionTime(twoHoursAgo, now), + bucket: _sessionTimeBucketLabel(twoHoursAgo, now), + })); + """ + ) + assert result["relative"] == "2 hours ago" + assert result["bucket"] == "Today" + + def test_relative_time_handles_just_now_and_dst_safe_yesterday_boundary(): result = _run_session_time_case( """