From 2f07df31778a2b1099f3c376de62f8b236dd2716 Mon Sep 17 00:00:00 2001 From: Test Date: Thu, 19 Mar 2026 18:17:28 -0700 Subject: [PATCH] fix(cli): expand session list columns for full ID visibility MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Show complete session IDs in 'hermes sessions list' instead of truncating to 20 characters. Widens title column from 20→30 chars and adjusts header widths accordingly. Fixes #2068. Based on PR #2085 by @Nebula037 with a correction to preserve the no-titles layout (the original PR accidentally replaced the Preview/Src header with a duplicate Title/Preview header). --- hermes_cli/main.py | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/hermes_cli/main.py b/hermes_cli/main.py index f493b8c7..48fd2d0c 100644 --- a/hermes_cli/main.py +++ b/hermes_cli/main.py @@ -3721,20 +3721,20 @@ For more help on a command: return has_titles = any(s.get("title") for s in sessions) if has_titles: - print(f"{'Title':<22} {'Preview':<40} {'Last Active':<13} {'ID'}") - print("─" * 100) + print(f"{'Title':<32} {'Preview':<40} {'Last Active':<13} {'ID'}") + print("─" * 110) else: print(f"{'Preview':<50} {'Last Active':<13} {'Src':<6} {'ID'}") - print("─" * 90) + print("─" * 95) for s in sessions: last_active = _relative_time(s.get("last_active")) preview = s.get("preview", "")[:38] if has_titles else s.get("preview", "")[:48] if has_titles: - title = (s.get("title") or "—")[:20] - sid = s["id"][:20] - print(f"{title:<22} {preview:<40} {last_active:<13} {sid}") + title = (s.get("title") or "—")[:30] + sid = s["id"] + print(f"{title:<32} {preview:<40} {last_active:<13} {sid}") else: - sid = s["id"][:20] + sid = s["id"] print(f"{preview:<50} {last_active:<13} {s['source']:<6} {sid}") elif action == "export":