alpha
Login
Join now
alice.mosphere.at
/
hermes-webui
Star
Starred
Star
Something went wrong. Try again.
Fork
0
Eye filled
Watch
Watching
Watch
Hermes WebUI: The best way to use Hermes Agent from the web or from your phone!
Star
Starred
Star
Something went wrong. Try again.
Fork
0
Eye filled
Watch
Watching
Watch
Overview
Overview
Issues
Issues
Pulls
Pulls
Pipelines
Pipelines
hermes-webui
/
tests
166 files
at
master
nesquena-hermes
·
v0.50.207: batch of 10 PRs — TPS stat, SSE guard, session polish, cron UX, folder create, model errors, session speed, title gen (#1031)
·
5mo ago
ad8e1030
__init__.py
Hermes WebUI v0.1.0 — initial public release
6mo ago
_pytest_port.py
Merge pull request #788 from nesquena/fix/ci-test-default-model-isolation
5mo ago
conftest.py
perf: TTL cache for model list + incremental session index (#780)
5mo ago
test_745_code_block_newlines.py
fix(renderer): preserve newlines in code blocks during paragraph split (#745) (#746)
5mo ago
test_886_ordered_list_numbering.py
fix(renderer): ordered list items always showed 1. — emit value= on each li (#886) (#904)
5mo ago
test_approval_queue.py
fix: queue simultaneous approval requests per session (fixes #527) — v0.50.52
5mo ago
test_approval_unblock.py
Merge pull request #457 from nesquena/release/v0.50.40
6mo ago
test_auth_session_persistence.py
fix(auth): persist sessions across restarts via STATE_DIR/.sessions.json (#962)
5mo ago
test_auth_sessions.py
fix(auth): prune expired sessions on every verify to prevent memory leak (#196)
6mo ago
test_background_tasks.py
Merge pull request #932 from nesquena/pr-929-review
5mo ago
test_batch_fixes.py
refactor(ui): three-column layout with left rail + main-view migration (#899)
5mo ago
test_bootstrap_dotenv.py
fix: bootstrap.py loads REPO_ROOT/.env so direct invocation matches start.sh (#730) (#791)
5mo ago
test_bugbatch_apr2026.py
fix(ux): selected text visible in user message bubbles + CI i18n fix — v0.50.160 (PR #877 by @pavolbiely)
5mo ago
test_byok_model_dropdown.py
fix(settings): show live models in default model picker and apply to new chats (#872) (#900)
5mo ago
test_cancel_interrupt.py
fix(streaming): eagerly release session lock in cancel_stream() (#778)
5mo ago
test_chinese_locale.py
Merge pull request #446 from nesquena/release/v0.50.38
6mo ago
test_clarify_unblock.py
feat: clarify dialog flow and refresh recovery (#520) - merge PR #522
5mo ago
test_cmd_dropdown_scroll_838.py
fix(ui): scroll selected item into view on slash command dropdown keyboard navigation (closes #838)
5mo ago
test_commands_endpoint.py
feat: slash command parity + skill autocomplete — v0.50.91 (PR #711)
5mo ago
test_credential_pool_providers.py
release: v0.50.151 — credential_pool provider detection + Ollama Cloud support (PR #820 by @starship-s)
5mo ago
test_cron_refresh_button_835.py
refactor(ui): three-column layout with left rail + main-view migration (#899)
5mo ago
test_custom_provider_display_name.py
fix(tests): add autouse cache-isolation fixture to get_available_models test files
5mo ago
test_default_workspace_fallback.py
fix: HERMES_WEBUI_DEFAULT_WORKSPACE wins over settings.json; trust DEFAULT_WORKSPACE subtree (#610)
5mo ago
test_font_size_setting.py
fix(appearance): font size setting now visibly scales UI text (closes #843)
5mo ago
test_gateway_sync.py
v0.50.207: batch of 10 PRs — TPS stat, SSE guard, session polish, cron UX, folder create, model errors, session speed, title gen (#1031)
5mo ago
test_ime_composition.py
fix: respect IME composition in all Enter submit flows (#531) — v0.50.49
5mo ago
test_issue_code_syntax_highlight.py
Merge pull request #446 from nesquena/release/v0.50.38
6mo ago
test_issue1014_model_not_found.py
v0.50.207: batch of 10 PRs — TPS stat, SSE guard, session polish, cron UX, folder create, model errors, session speed, title gen (#1031)
5mo ago
test_issue341.py
feat(theme): replace color scheme system with light/dark + accent skins (PR #627 by @aronprins)
5mo ago
test_issue342.py
Merge pull request #478 from nesquena/release/v0.50.43
6mo ago
test_issue347.py
feat: KaTeX math rendering for LaTeX in chat + workspace previews (#352)
6mo ago
test_issue357.py
fix: add --chown to Dockerfile COPY so RUN can write api/_version.py (#793)
5mo ago
test_issue401.py
fix: harden _accepts_gzip + update stale test assertions post-#959 (#981)
5mo ago
test_issue470.py
Merge pull request #478 from nesquena/release/v0.50.43
6mo ago
test_issue477.py
Merge pull request #478 from nesquena/release/v0.50.43
6mo ago
test_issue486_487.py
fix: code-in-table CSS sizing + markdown image rendering (fixes #486, #487)
6mo ago
test_issue487b.py
feat(sessions): auto-summarize session titles after first exchange (fixes #495) — v0.50.57
5mo ago
test_issue569_579.py
feat(ui): add sidebar density mode to session list (#764)
5mo ago
test_issue570_permission.py
fix: catch OSError from SETTINGS_FILE.exists() — Docker UID-mismatch 500 crash (#614)
5mo ago
test_issue572.py
feat: MCP toolsets in WebUI + onboarding fix for non-standard providers — v0.50.63
5mo ago
test_issue607.py
fix(streaming): strip Gemma 4 thinking token delimiter in all paths — closes #607
5mo ago
test_issue609.py
fix: HERMES_WEBUI_DEFAULT_WORKSPACE wins over settings.json; trust DEFAULT_WORKSPACE subtree (#610)
5mo ago
test_issue616.py
refactor(ui): three-column layout with left rail + main-view migration (#899)
5mo ago
test_issue632.py
feat(reasoning): full /reasoning CLI parity — show|hide + effort levels via config.yaml (#812)
5mo ago
test_issue634.py
v0.50.207: batch of 10 PRs — TPS stat, SSE guard, session polish, cron UX, folder create, model errors, session speed, title gen (#1031)
5mo ago
test_issue644.py
fix(tests): add autouse cache-isolation fixture to get_available_models test files
5mo ago
test_issue646.py
fix(config): default model empty string — no unavailable OpenAI model for non-OpenAI users — closes #646 (PR #649)
5mo ago
test_issue660.py
fix(ui): persist session queue to sessionStorage across page refresh (#768)
5mo ago
test_issue673.py
feat(ui): add sidebar density mode to session list (#764)
5mo ago
test_issue677.py
fix: streaming scroll override, Gemini 3.x models, read-only workspace, two-container UID — v0.50.87 (closes #677 #669 #670 #668)
5mo ago
test_issue739_652_653.py
fix(streaming): quota error detection, error persistence, stream_end session_id fix (#767)
5mo ago
test_issue744.py
fix(ui): restrict edit to latest user message (#747)
5mo ago
test_issue765_streaming_persistence.py
fix: harden session persistence and per-session lock handling during streaming (v0.50.175, #910) (#910)
5mo ago
test_issue781.py
fix(ui): hide duplicate close button in workspace header at mobile width (#783)
5mo ago
test_issue789.py
fix(sessions): new sessions appear immediately in sidebar (#806)
5mo ago
test_issue798.py
feat(ui): session attention indicators — streaming spinner, unread dot, timestamps (#856)
5mo ago
test_issue803.py
fix: correct webui profile switching state — v0.50.150 (PR #849 by @migueltavares)
5mo ago
test_issue840_slash_echo.py
fix(ui): slash command input now echoed as user message in chat (closes #840)
5mo ago
test_issue852_thinking_card_mirror.py
fix: thinking card no longer mirrors main response — v0.50.154 (closes #852)
5mo ago
test_issue854_live_model_prefix.py
fix(settings): show live models in default model picker and apply to new chats (#872) (#900)
5mo ago
test_issue856_active_session_read_state.py
feat(ui): session attention indicators — streaming spinner, unread dot, timestamps (#856)
5mo ago
test_issue856_pinned_indicator_layout.py
v0.50.207: batch of 10 PRs — TPS stat, SSE guard, session polish, cron UX, folder create, model errors, session speed, title gen (#1031)
5mo ago
test_issue856_session_streaming_state.py
feat(ui): session attention indicators — streaming spinner, unread dot, timestamps (#856)
5mo ago
test_issue893_cancel_preserves_partial.py
fix(cancel): preserve partial streamed response on Stop Generation (#893) (#902)
5mo ago
test_issue895_894_nous_prefix.py
fix(models): preserve @nous: prefix in settings + fix cross-namespace 404 for Nous (#895 #894) (#901)
5mo ago
test_issues_373_374_375.py
fix(streaming): quota error detection, error persistence, stream_end session_id fix (#767)
5mo ago
test_issues_853_857.py
fix: image_generate renders inline + auto-title strips thinking preamble — v0.50.152 (closes #853, #857)
5mo ago
test_issues_907_908_909_model_dropdown.py
fix(models): duplicate dropdown entries, stale default model, lowercase injected label (#907 #908 #909) (#918)
5mo ago
test_language_precedence.py
Merge pull request #446 from nesquena/release/v0.50.38
6mo ago
test_login_locale.py
feat: add full Russian (ru-RU) localization — v0.50.95 (PR #713)
5mo ago
test_media_inline.py
feat: support subpath mount via reverse proxy — v0.50.67 (PR #588 by @vcavichini)
5mo ago
test_minimax_provider.py
fix(tests): add autouse cache-isolation fixture to get_available_models test files
5mo ago
test_mobile_layout.py
Merge pull request #446 from nesquena/release/v0.50.38
6mo ago
test_model_resolver.py
fix(tests): pin _cfg_mtime=0.0 in except so CI reload_config() guard works
5mo ago
test_nous_portal_routing.py
fix: Nous static models use @nous: prefix — v0.50.164 (#885)
5mo ago
test_ollama_model_chip_label_regression.py
release: v0.50.151 — credential_pool provider detection + Ollama Cloud support (PR #820 by @starship-s)
5mo ago
test_onboarding_existing_config.py
fix: persist onboarding_completed for CLI-configured users on first chat_ready (#922)
5mo ago
test_onboarding_mvp.py
Merge pull request #457 from nesquena/release/v0.50.40
6mo ago
test_onboarding_network.py
Merge pull request #457 from nesquena/release/v0.50.40
6mo ago
test_onboarding_static.py
feat: support subpath mount via reverse proxy — v0.50.67 (PR #588 by @vcavichini)
5mo ago
test_opencode_providers.py
fix(tests): add autouse cache-isolation fixture to get_available_models test files
5mo ago
test_orphaned_tool_messages.py
fix: strip orphaned tool messages before API calls (fixes #534) — v0.50.51
5mo ago
test_profile_default_workspace_823.py
fix(workspace): _profileDefaultWorkspace persists after newSession() (#823)
5mo ago
test_profile_env_isolation.py
fix(ci): eliminate test_set_key flakiness — v0.50.161
5mo ago
test_profile_path_security.py
fix(ci): eliminate test_set_key flakiness — v0.50.161
5mo ago
test_provider_management.py
fix(ci): eliminate test_set_key flakiness — v0.50.161
5mo ago
test_provider_mismatch.py
fix: keep GET /api/session side-effect free for stale models — v0.50.149 (PR #848 by @franksong2702)
5mo ago
test_pwa_manifest_csp.py
fix(csp): add explicit manifest-src 'self' directive (#961)
5mo ago
test_pwa_manifest_sw.py
feat: add PWA support (manifest, service worker, install prompt) (#920)
5mo ago
test_quote_entity_mangling.py
fix(renderer): stop " mangling inside code blocks (#801)
5mo ago
test_reasoning_chip_btw_fixes.py
v0.50.185: /btw stream hardening + .venv bootstrap + /reasoning toast (#935 #939 #941 #942)
5mo ago
test_reasoning_show_hide.py
feat(reasoning): full /reasoning CLI parity — show|hide + effort levels via config.yaml (#812)
5mo ago
test_regressions.py
fix(queue): drain correct session queue after cross-session stream completion (#964)
5mo ago
test_russian_locale.py
feat: add full Russian (ru-RU) localization — v0.50.95 (PR #713)
5mo ago
test_security_redaction.py
Merge pull request #457 from nesquena/release/v0.50.40
6mo ago
test_session_index.py
v0.50.207: batch of 10 PRs — TPS stat, SSE guard, session polish, cron UX, folder create, model errors, session speed, title gen (#1031)
5mo ago
test_session_metadata_fast_path.py
v0.50.207: batch of 10 PRs — TPS stat, SSE guard, session polish, cron UX, folder create, model errors, session speed, title gen (#1031)
5mo ago
test_session_ops.py
feat: slash command parity + skill autocomplete — v0.50.91 (PR #711)
5mo ago
test_session_search_bfcache_822.py
fix(ui): clear session search on boot + autocomplete=off + pageshow bfcache handler (closes #822)
5mo ago
test_session_sidebar_relative_time.py
v0.50.207: batch of 10 PRs — TPS stat, SSE guard, session polish, cron UX, folder create, model errors, session speed, title gen (#1031)
5mo ago
test_session_summary_redaction.py
Merge pull request #457 from nesquena/release/v0.50.40
6mo ago
test_settings_navigation_and_detail_refresh.py
refactor(ui): three-column layout with left rail + main-view migration (#899)
5mo ago
test_spanish_locale.py
feat(i18n): add Spanish locale for WebUI (#275)
6mo ago
test_sprint1.py
Merge pull request #457 from nesquena/release/v0.50.40
6mo ago
test_sprint10.py
refactor(ui): three-column layout with left rail + main-view migration (#899)
5mo ago
test_sprint11.py
fix(config): default model empty string — no unavailable OpenAI model for non-OpenAI users — closes #646 (PR #649)
5mo ago
test_sprint12.py
fix(models): preserve @nous: prefix in settings + fix cross-namespace 404 for Nous (#895 #894) (#901)
5mo ago
test_sprint13.py
Merge pull request #457 from nesquena/release/v0.50.40
6mo ago
test_sprint14.py
Merge pull request #457 from nesquena/release/v0.50.40
6mo ago
test_sprint15.py
Merge pull request #457 from nesquena/release/v0.50.40
6mo ago
test_sprint16.py
feat(theme): replace color scheme system with light/dark + accent skins (PR #627 by @aronprins)
5mo ago
test_sprint17.py
Merge pull request #457 from nesquena/release/v0.50.40
6mo ago
test_sprint19.py
Merge pull request #457 from nesquena/release/v0.50.40
6mo ago
test_sprint2.py
Merge pull request #457 from nesquena/release/v0.50.40
6mo ago
test_sprint20.py
feat(theme): replace color scheme system with light/dark + accent skins (PR #627 by @aronprins)
5mo ago
test_sprint20b.py
feat(theme): replace color scheme system with light/dark + accent skins (PR #627 by @aronprins)
5mo ago
test_sprint23.py
Merge pull request #457 from nesquena/release/v0.50.40
6mo ago
test_sprint26.py
feat(theme): replace color scheme system with light/dark + accent skins (PR #627 by @aronprins)
5mo ago
test_sprint27.py
Merge pull request #457 from nesquena/release/v0.50.40
6mo ago
test_sprint28.py
Merge pull request #457 from nesquena/release/v0.50.40
6mo ago
test_sprint29.py
Merge pull request #457 from nesquena/release/v0.50.40
6mo ago
test_sprint3.py
fix(workspace): allow adding external paths not under home directory (#991)
5mo ago
test_sprint30.py
feat: clarify dialog flow and refresh recovery (#520) - merge PR #522
5mo ago
test_sprint31.py
Merge pull request #457 from nesquena/release/v0.50.40
6mo ago
test_sprint32.py
fix(security): gate auto-install behind HERMES_WEBUI_AUTO_INSTALL=1 — v0.50.156
5mo ago
test_sprint33.py
v0.47.0: dialogs, session menu, /skills, mobile fixes, mobile QA suite
6mo ago
test_sprint34.py
refactor(ui): three-column layout with left rail + main-view migration (#899)
5mo ago
test_sprint35.py
fix+feat: session title guard + breadcrumb nav + wider panel + responsive msgs (closes #300, #292)
6mo ago
test_sprint36.py
fix: correct message ordering after task cancellation — v0.50.163 (#883)
5mo ago
test_sprint37.py
feat: redesign chat transcript + fix streaming/persistence lifecycle — v0.50.70 (PR #587 by @aronprins)
5mo ago
test_sprint38.py
fix(streaming): strip Gemma 4 thinking token delimiter in all paths — closes #607
5mo ago
test_sprint39.py
fix: HERMES_WEBUI_SKIP_ONBOARDING unconditional + guard against config writes + 10 skipped tests fixed — v0.50.65
5mo ago
test_sprint4.py
Merge pull request #457 from nesquena/release/v0.50.40
6mo ago
test_sprint40_ui_polish.py
fix: correct webui profile switching state — v0.50.150 (PR #849 by @migueltavares)
5mo ago
test_sprint40.py
feat: OAuth provider onboarding path — Codex/Copilot no longer blocks setup (#331)
6mo ago
test_sprint41.py
fix: harden session persistence and per-session lock handling during streaming (v0.50.175, #910) (#910)
5mo ago
test_sprint42.py
fix(streaming): guard newer AIAgent kwargs with inspect for hermes-agent compat (#775)
5mo ago
test_sprint43.py
security: bandit fixes B310/B324/B110 + QuietHTTPServer (#354)
6mo ago
test_sprint44.py
fix: workspace panel close button — no duplicate X on desktop, mobile X respects file preview (#414)
6mo ago
test_sprint45.py
Merge pull request #457 from nesquena/release/v0.50.40
6mo ago
test_sprint46.py
fix(compress): prefer persisted reference handoff after completion — v0.50.90 (PR #699 by @franksong2702)
5mo ago
test_sprint47.py
feat: slash command parity + skill autocomplete — v0.50.91 (PR #711)
5mo ago
test_sprint48.py
fix(streaming): strip malformed DSML function_calls tags (#958)
5mo ago
test_sprint49.py
fix(ui): hover-only footer chrome with timestamps for both user and assistant — v0.50.110 (fixes #680) (#758)
5mo ago
test_sprint5.py
feat(workspaces): autocomplete trusted workspace paths — v0.50.162 (PR #880 by @franksong2702, closes #616)
5mo ago
test_sprint50.py
fix(ui): constrain slash autocomplete width to composer — v0.50.98 (closes #633) (#750)
5mo ago
test_sprint51.py
fix(streaming): eagerly release session lock in cancel_stream() (#778)
5mo ago
test_sprint6.py
refactor(ui): three-column layout with left rail + main-view migration (#899)
5mo ago
test_sprint7.py
Merge pull request #457 from nesquena/release/v0.50.40
6mo ago
test_sprint8.py
Merge pull request #457 from nesquena/release/v0.50.40
6mo ago
test_sprint9.py
feat: support subpath mount via reverse proxy — v0.50.67 (PR #588 by @vcavichini)
5mo ago
test_streaming_markdown.py
fix(streaming): prevent dropped characters in incremental smd path (#960)
5mo ago
test_streaming_race_fix.py
fix: streaming race conditions (#631) + blank-page workspace binding (#804)
5mo ago
test_title_aux_routing.py
v0.50.207: batch of 10 PRs — TPS stat, SSE guard, session polish, cron UX, folder create, model errors, session speed, title gen (#1031)
5mo ago
test_title_sanitization.py
fix: remove hardcoded chinese title heuristics (#887)
5mo ago
test_tls_support.py
feat: optional HTTPS/TLS support via cert and key env vars (#199)
6mo ago
test_tool_call_persistence.py
feat: redesign chat transcript + fix streaming/persistence lifecycle — v0.50.70 (PR #587 by @aronprins)
5mo ago
test_ttl_cache.py
perf: TTL cache for model list + incremental session index (#780)
5mo ago
test_ui_card_animation.py
fix(ui): dark-mode user bubbles use subtle tint + thinking card collapsible — v0.50.111 (#759)
5mo ago
test_update_banner_fixes.py
fix: poll /health after update instead of blind setTimeout — v0.50.158 (closes #874)
5mo ago
test_update_checker.py
v0.44.0: approval fix, login CSP, update diagnostics, Lucide icons
6mo ago
test_updates.py
fix: improve self-update git pull diagnostics (#287)
6mo ago
test_version_badge.py
fix: dynamic version badge — read from git tag, never hardcoded (#790)
5mo ago
test_voice_transcribe_endpoint.py
v0.50.25: mobile scroll, import timestamps, profile security, mic fallback (#404)
6mo ago
test_webui_platform_hint.py
fix: identify WebUI sessions as webui platform (#948)
5mo ago
test_workspace_blank_page_fix.py
fix: streaming race conditions (#631) + blank-page workspace binding (#804)
5mo ago