..
__init__.py
Hermes WebUI v0.1.0 — initial public release
2026-03-30 20:40:19 -07:00
_pytest_port.py
fix(tests): auto-derive unique port+state-dir per worktree (fixes parallel pytest)
2026-04-14 19:04:48 +00:00
conftest.py
fix(tests): auto-derive unique port+state-dir per worktree (fixes parallel pytest)
2026-04-14 19:04:48 +00:00
test_approval_queue.py
fix: queue simultaneous approval requests per session ( fixes #527 )
2026-04-15 19:16:14 +00:00
test_approval_unblock.py
fix(tests): auto-derive unique port+state-dir per worktree (fixes parallel pytest)
2026-04-14 19:04:48 +00:00
test_auth_sessions.py
fix(auth): prune expired sessions on every verify to prevent memory leak ( #196 )
2026-04-09 18:05:23 -07:00
test_batch_fixes.py
test: add 22 tests covering batch fixes v0.50.47 (#506-#521)
2026-04-15 07:47:18 +00:00
test_cancel_interrupt.py
v0.46.0: security, Docker UID/GID, model discovery, i18n, cancel fix
2026-04-11 10:17:52 -07:00
test_chinese_locale.py
fix i18n review comments and locale test robustness
2026-04-14 17:14:01 +00:00
test_clarify_unblock.py
feat: harden clarify dialog flow and refresh recovery
2026-04-15 13:10:50 +08:00
test_custom_provider_display_name.py
fix(models): show named custom provider label in model dropdown instead of generic 'Custom'
2026-04-16 01:09:39 +00:00
test_default_workspace_fallback.py
fix: recover from invalid default workspace paths ( #366 )
2026-04-13 14:28:24 -07:00
test_gateway_sync.py
fix(tests): auto-derive unique port+state-dir per worktree (fixes parallel pytest)
2026-04-14 19:04:48 +00:00
test_ime_composition.py
test: loosen IME guard regression assertions
2026-04-15 23:21:56 +08:00
test_issue336.py
fix(tests): auto-derive unique port+state-dir per worktree (fixes parallel pytest)
2026-04-14 19:04:48 +00:00
test_issue341.py
fix: add table styles to .msg-body for readable bordered chat tables ( fixes #341 ) ( #345 )
2026-04-13 00:08:30 -07:00
test_issue342.py
fix(renderer): prevent double-linking and esc() corruption in renderMd()
2026-04-14 21:13:33 +00:00
test_issue347.py
feat: KaTeX math rendering for LaTeX in chat + workspace previews ( #352 )
2026-04-13 11:40:15 -07:00
test_issue357.py
fix: Docker uv pre-install at build time + workspace permissions ( #365 )
2026-04-13 12:36:11 -07:00
test_issue401.py
fix: correct tool call card rendering on session load after context compaction ( #408 )
2026-04-13 22:41:31 -07:00
test_issue429.py
fix: suppress N/A source_tag in session list sidebar ( #429 )
2026-04-14 22:14:31 +00:00
test_issue470.py
fix(renderer): backtick code spans inside bold/italic no longer get esc'd
2026-04-14 21:14:00 +00:00
test_issue477.py
fix(csp): allow cdn.jsdelivr.net for font-src so KaTeX fonts load ( fixes #477 )
2026-04-14 21:14:33 +00:00
test_issue486_487.py
fix: code-in-table CSS sizing + markdown image rendering ( #486 , #487 )
2026-04-14 21:52:34 +00:00
test_issue487b.py
fix(review): 4 issues found in agent review of PR #535
2026-04-16 00:00:22 +00:00
test_issue572.py
feat: MCP toolsets in WebUI + onboarding fix for non-standard providers — v0.50.63
2026-04-15 23:39:07 -07:00
test_issue_code_syntax_highlight.py
feat(ui): remove mobile bottom nav on phones
2026-04-14 17:13:03 +00:00
test_issues_373_374_375.py
chore: update OpenRouter and provider model lists
2026-04-15 22:20:25 +00:00
test_language_precedence.py
fix i18n review comments and locale test robustness
2026-04-14 17:14:01 +00:00
test_login_locale.py
fix(tests): auto-derive unique port+state-dir per worktree (fixes parallel pytest)
2026-04-14 19:04:48 +00:00
test_media_inline.py
feat(ui): render MEDIA: images inline in web UI chat ( fixes #450 )
2026-04-14 19:35:52 +00:00
test_mobile_layout.py
feat(ui): remove mobile bottom nav on phones
2026-04-14 17:13:03 +00:00
test_model_resolver.py
fix(routing): strip provider prefix from model ID when custom base_url is configured ( fixes #433 )
2026-04-14 19:06:35 +00:00
test_onboarding_existing_config.py
test: skip onboarding config tests when PyYAML unavailable, remove duplicate definition — v0.50.60
2026-04-15 20:45:42 -07:00
test_onboarding_mvp.py
fix(tests): auto-derive unique port+state-dir per worktree (fixes parallel pytest)
2026-04-14 19:04:48 +00:00
test_onboarding_network.py
fix(tests): auto-derive unique port+state-dir per worktree (fixes parallel pytest)
2026-04-14 19:04:48 +00:00
test_onboarding_static.py
feat(onboarding): add one-shot bootstrap and first-run setup wizard ( #285 )
2026-04-12 00:11:41 -07:00
test_opencode_providers.py
fix: delegate all live model fetching to agent provider_model_ids() ( #411 )
2026-04-13 22:57:58 -07:00
test_orphaned_tool_messages.py
fix: strip orphaned tool messages before sending history to API ( fixes #534 )
2026-04-15 16:57:31 +00:00
test_profile_env_isolation.py
fix: isolate profile .env secrets on switch ( #351 )
2026-04-13 00:51:55 -07:00
test_profile_path_security.py
v0.50.25: mobile scroll, import timestamps, profile security, mic fallback ( #404 )
2026-04-13 22:11:45 -07:00
test_provider_mismatch.py
fix: show toast when model is switched during active session ( #419 )
2026-04-15 08:04:03 +00:00
test_regressions.py
fix(tests): auto-derive unique port+state-dir per worktree (fixes parallel pytest)
2026-04-14 19:04:48 +00:00
test_security_redaction.py
fix(tests): auto-derive unique port+state-dir per worktree (fixes parallel pytest)
2026-04-14 19:04:48 +00:00
test_session_sidebar_relative_time.py
fix(tests): consolidate sprint-40 test file, fix module-scope vars, update sidebar-time assertion
2026-04-14 19:10:23 +00:00
test_session_summary_redaction.py
fix(tests): auto-derive unique port+state-dir per worktree (fixes parallel pytest)
2026-04-14 19:04:48 +00:00
test_spanish_locale.py
feat(i18n): add Spanish locale for WebUI ( #275 )
2026-04-11 20:06:37 -07:00
test_sprint1.py
fix(tests): auto-derive unique port+state-dir per worktree (fixes parallel pytest)
2026-04-14 19:04:48 +00:00
test_sprint2.py
fix(tests): auto-derive unique port+state-dir per worktree (fixes parallel pytest)
2026-04-14 19:04:48 +00:00
test_sprint3.py
fix(tests): auto-derive unique port+state-dir per worktree (fixes parallel pytest)
2026-04-14 19:04:48 +00:00
test_sprint4.py
fix(tests): auto-derive unique port+state-dir per worktree (fixes parallel pytest)
2026-04-14 19:04:48 +00:00
test_sprint5.py
fix(tests): auto-derive unique port+state-dir per worktree (fixes parallel pytest)
2026-04-14 19:04:48 +00:00
test_sprint6.py
fix(tests): auto-derive unique port+state-dir per worktree (fixes parallel pytest)
2026-04-14 19:04:48 +00:00
test_sprint7.py
fix(tests): auto-derive unique port+state-dir per worktree (fixes parallel pytest)
2026-04-14 19:04:48 +00:00
test_sprint8.py
fix(tests): auto-derive unique port+state-dir per worktree (fixes parallel pytest)
2026-04-14 19:04:48 +00:00
test_sprint9.py
fix(tests): auto-derive unique port+state-dir per worktree (fixes parallel pytest)
2026-04-14 19:04:48 +00:00
test_sprint10.py
fix(tests): auto-derive unique port+state-dir per worktree (fixes parallel pytest)
2026-04-14 19:04:48 +00:00
test_sprint11.py
fix(tests): auto-derive unique port+state-dir per worktree (fixes parallel pytest)
2026-04-14 19:04:48 +00:00
test_sprint12.py
fix(tests): auto-derive unique port+state-dir per worktree (fixes parallel pytest)
2026-04-14 19:04:48 +00:00
test_sprint13.py
fix(tests): auto-derive unique port+state-dir per worktree (fixes parallel pytest)
2026-04-14 19:04:48 +00:00
test_sprint14.py
fix(tests): auto-derive unique port+state-dir per worktree (fixes parallel pytest)
2026-04-14 19:04:48 +00:00
test_sprint15.py
fix(tests): auto-derive unique port+state-dir per worktree (fixes parallel pytest)
2026-04-14 19:04:48 +00:00
test_sprint16.py
fix(tests): auto-derive unique port+state-dir per worktree (fixes parallel pytest)
2026-04-14 19:04:48 +00:00
test_sprint17.py
fix(tests): auto-derive unique port+state-dir per worktree (fixes parallel pytest)
2026-04-14 19:04:48 +00:00
test_sprint19.py
fix(tests): auto-derive unique port+state-dir per worktree (fixes parallel pytest)
2026-04-14 19:04:48 +00:00
test_sprint20.py
fix(tests): auto-derive unique port+state-dir per worktree (fixes parallel pytest)
2026-04-14 19:04:48 +00:00
test_sprint20b.py
fix(tests): auto-derive unique port+state-dir per worktree (fixes parallel pytest)
2026-04-14 19:04:48 +00:00
test_sprint23.py
fix(tests): auto-derive unique port+state-dir per worktree (fixes parallel pytest)
2026-04-14 19:04:48 +00:00
test_sprint26.py
fix(tests): auto-derive unique port+state-dir per worktree (fixes parallel pytest)
2026-04-14 19:04:48 +00:00
test_sprint27.py
fix(tests): auto-derive unique port+state-dir per worktree (fixes parallel pytest)
2026-04-14 19:04:48 +00:00
test_sprint28.py
fix(tests): auto-derive unique port+state-dir per worktree (fixes parallel pytest)
2026-04-14 19:04:48 +00:00
test_sprint29.py
fix(tests): auto-derive unique port+state-dir per worktree (fixes parallel pytest)
2026-04-14 19:04:48 +00:00
test_sprint30.py
feat: harden clarify dialog flow and refresh recovery
2026-04-15 13:10:50 +08:00
test_sprint31.py
fix(tests): auto-derive unique port+state-dir per worktree (fixes parallel pytest)
2026-04-14 19:04:48 +00:00
test_sprint32.py
fix(tests): auto-derive unique port+state-dir per worktree (fixes parallel pytest)
2026-04-14 19:04:48 +00:00
test_sprint33.py
v0.47.0: dialogs, session menu, /skills, mobile fixes, mobile QA suite
2026-04-11 12:19:12 -07:00
test_sprint34.py
fix(tests): auto-derive unique port+state-dir per worktree (fixes parallel pytest)
2026-04-14 19:04:48 +00:00
test_sprint35.py
fix+feat: session title guard + breadcrumb nav + wider panel + responsive msgs ( closes #300 , #292 )
2026-04-12 10:51:48 -07:00
test_sprint36.py
fix: expand test_sprint36 search window for setBusy after stopClarifyPolling additions
2026-04-15 07:24:53 +00:00
test_sprint37.py
feat: workspace panel state persists across refreshes ( #321 )
2026-04-12 12:50:32 -07:00
test_sprint38.py
fix: strip think tags when model emits leading whitespace before <think> ( #327 )
2026-04-12 14:07:00 -07:00
test_sprint39.py
feat: HERMES_WEBUI_SKIP_ONBOARDING env var + synchronous key reload ( #330 )
2026-04-12 14:26:00 -07:00
test_sprint40.py
feat: OAuth provider onboarding path — Codex/Copilot no longer blocks setup ( #331 )
2026-04-12 14:28:16 -07:00
test_sprint40_ui_polish.py
fix: suppress N/A source_tag in session list sidebar ( #429 )
2026-04-14 22:14:31 +00:00
test_sprint41.py
feat(sessions): auto-summarize provisional session titles
2026-04-15 23:59:36 +00:00
test_sprint42.py
fix(tests): shared helpers in test_sprint42.py; correct test count to 1130
2026-04-14 21:04:37 +00:00
test_sprint43.py
security: bandit fixes B310/B324/B110 + QuietHTTPServer ( #354 )
2026-04-13 11:11:56 -07:00
test_sprint44.py
fix: workspace panel close button — no duplicate X on desktop, mobile X respects file preview ( #414 )
2026-04-13 23:25:26 -07:00
test_sprint45.py
fix(tests): auto-derive unique port+state-dir per worktree (fixes parallel pytest)
2026-04-14 19:04:48 +00:00
test_tls_support.py
feat: optional HTTPS/TLS support via cert and key env vars ( #199 )
2026-04-09 18:08:29 -07:00
test_update_checker.py
v0.44.0: approval fix, login CSP, update diagnostics, Lucide icons
2026-04-10 10:02:28 -07:00
test_updates.py
fix: improve self-update git pull diagnostics ( #287 )
2026-04-12 00:19:33 -07:00
test_voice_transcribe_endpoint.py
v0.50.25: mobile scroll, import timestamps, profile security, mic fallback ( #404 )
2026-04-13 22:11:45 -07:00