HERMES-GIELIE/tests
nesquena-hermes b470793473
Release: msg_limit ceiling + row-loss-safe pagination (#6152 + #6154, @rh-id) (#6213)
* fix(routes): clamp GET /api/session msg_limit to a server-side ceiling

Memory: ?msg_limit= had no upper bound — a client could request
msg_limit=1000000 (or the frontend's msg_limit=9999 outline-jump path) and
force the server to assemble and serialize an unbounded message payload. The
frontend's real pagination grows windows by ~30 at a time (initial load 30,
load-older +30, msg_before paging 30), so only the outline-jump and
pathological/hostile cases ask for huge values.

Add _MAX_MSG_LIMIT (500) and clamp at the query-parse site
(max(1, min(int(_msg_limit), _MAX_MSG_LIMIT))). The ceiling is generous — far
above any legitimate visible-row window — so real pagination is unaffected. The
existing _messages_truncated signal already covers the clamped case: when the
request exceeds the ceiling, _message_window_for_display returns
_messages_offset > 0 and the client learns more rows exist (load-older still
works). The bare no-msg_limit path is intentionally unchanged — it is the
documented "give me everything" escape hatch used by branch/undo/jump-to-start
flows that need the full transcript for correct global indices.

Test: tests/test_session_msg_limit_ceiling.py — the ceiling constant is
reasonable (100..2000), an over-ceiling request is clamped and signals
truncation, and legit sizes (5/30/60/100) are unaltered. Existing window/tail
tests (19) unchanged.

Contract Routing
- Task type: memory-bound fix (unbounded msg_limit request payload).
- Touched areas: GET /api/session query parsing (api/routes.py).
- Relevant public docs: AGENTS.md, CONTRIBUTING.md, docs/CONTRACTS.md.
- State layer mutated: none (read-only endpoint response shaping).
- Contract change (additive): ?msg_limit=N is now clamped to _MAX_MSG_LIMIT=500.
  Compatibility: the only frontend caller above the ceiling is outline.js's
  msg_limit=9999, which now receives up to 500 rows + _messages_truncated=true
  (load-older still works). All other callers (30/60) are unaffected. The bare
  no-msg_limit path is unchanged.

Release note: GET /api/session now caps ?msg_limit at 500 rows server-side,
bounding the worst-case payload for oversized requests.

Model Used: builtin:zai-coding-plan/GLM-5.2 (ZCode agent).

* fix(frontend): route msg_limit-heavy paths around the server ceiling

PR #6152 clamps GET /api/session ?msg_limit= to a max of 500 server-side. Two
frontend paths relied on unbounded msg_limit and silently broke for sessions
> 500 visible rows:

1. outline.js _jumpToMessage sent msg_limit=9999 as a "give me everything" hack
   so it could scroll to any message by absolute index (msg-user-<rawIdx>).
   Clamped to 500, the target row's DOM id doesn't exist for early messages in
   long sessions, and the jump silently no-ops (line 119 `if (r)` is falsy).
   Fix: drop msg_limit=9999 — use the bare messages=1 path, which #6152 left
   unbounded precisely for callers that need the full transcript. This restores
   exact pre-#6152 behavior for outline jumps.

2. sessions.js _loadOlderMessages grows msg_limit by +_INITIAL_MSG_LIMIT each
   load (30 -> 60 -> ... -> 500 -> clamped). Past 500 the server returns the
   same clamped tail, olderMsgs shrinks to 0, and endless-scroll / "Load
   earlier" silently stalls — the head becomes unreachable. Fix: once the grown
   requestedLimit meets/exceeds the new _MSG_LIMIT_MAX mirror (500), switch the
   primary fetch to msg_before paging (a fixed _INITIAL_MSG_LIMIT backward page
   keyed off _oldestIdx) — the same bounded paging the existing race-fallback
   uses, so the head stays reachable for arbitrarily long transcripts. The
   response is handled by the existing prepend path (tailMatches is naturally
   false for a page, so the !tailMatches branch reuses the fetched data).

Added _MSG_LIMIT_MAX = 500 constant in sessions.js mirroring backend
_MAX_MSG_LIMIT, documented as kept-in-sync.

Verification: node --check passes on both files; the backend window-contract
tests (test_session_tail_payload, test_session_message_window_renderable_tail,
19 tests) still pass. No JS test harness exists in this repo (vanilla JS,
manual browser verification per TESTING.md) — manual verification needed: open a
> 500-message session, (a) click an outline entry for an early message and
confirm it scrolls+flashes, (b) scroll up past 500 loaded rows and confirm
"Load earlier" keeps producing older messages without stalling.

Contract Routing
- Task type: frontend follow-up to a backend memory fix (#6152).
- Touched areas: outline jump-to-message (static/outline.js), endless-scroll /
  load-older (static/sessions.js _loadOlderMessages).
- Relevant public docs: AGENTS.md, CONTRIBUTING.md, docs/CONTRACTS.md.
- State layer mutated: client-side S.messages (the active-session transcript),
  same as the existing load-older path. No backend state change.
- Scope boundaries: does not weaken the #6152 clamp. The bare messages=1 path
  (outline) was intentionally left unbounded by #6152; the msg_before paging
  path (load-older) is bounded by _INITIAL_MSG_LIMIT and never hits the ceiling.

Release note: fixes outline jump-to-message and endless scroll silently
breaking on sessions longer than 500 messages after the server-side msg_limit
ceiling (companion to #6152).

Model Used: builtin:zai-coding-plan/GLM-5.2 (ZCode agent).

* test(frontend): update static-source assertion for refactored _loadOlderMessages fetch

The static-source test test_session_message_loads_keep_explicit_longer_timeouts
asserted the exact multi-line shape of the _loadOlderMessages fetch strings.
The #6154 refactor wrapped them in a useBeforePaging ternary (tail-growth vs
msg_before paging), reindenting them — the contract the test guards (both
fetches keep timeoutMs:120000 for large state.db loads) is preserved, but the
literal source shape changed, so the assertion failed on shard 0.

Updated the assertions to match the new source shape while keeping the test's
intent: assert each fetch URL + its {timeoutMs:120000} survive in sessions.js.

Model Used: builtin:zai-coding-plan/GLM-5.2 (ZCode agent).

* test(msg-limit): stopgap drift guard for _MSG_LIMIT_MAX === _MAX_MSG_LIMIT

Reviewer guidance (#6154 round-2): the stopgap drift-test belongs in THIS PR
(#6152) because _MAX_MSG_LIMIT is defined here. The frontend _MSG_LIMIT_MAX
mirror lives on #6154 (not master yet), so the assertion SKIPS when the JS
constant is absent and activates automatically once both branches land on master.

The guard: extract _MAX_MSG_LIMIT from api/routes.py and _MSG_LIMIT_MAX from
static/sessions.js via regex; assert equality when both present. If they drift,
load-older silently stalls at the wrong value (the exact regression #6154 fixed).
Retired by #6177 (metadata-exposure), which removes the mirror entirely.

Verified: on this branch the cross-check SKIPS (_MSG_LIMIT_MAX absent, as
expected — #6154 not landed) and the backend-existence test PASSES. Extraction
logic confirmed correct against simulated match (500==500 passes) and drift
(999!=500 fails) cases.

Model Used: builtin:zai-coding-plan/GLM-5.2 (ZCode agent).

* fix(session): prevent silent row-loss in msg_limit ceiling paging (gate follow-up)

Adversarial review of #6152/#6154 reproduced two silent row-loss regressions in
static/sessions.js; both fixed here, plus a stale source-string assertion update
and the CHANGELOG entry:

1. _loadOlderMessages: gate the suffix-continuity heuristic on !useBeforePaging so
   a raw-row-heavy msg_before cursor page whose visible text repeats the current
   tail can't be misclassified as the cumulative tail and wholesale-replace it
   (previously dropped 470 of 940 rows). msg_before pages are always prepended.

2. loadSession same-session refresh: only apply the width-hint msg_limit when it
   is <= _MSG_LIMIT_MAX; above the ceiling the backend would clamp and silently
   shrink an already-loaded >500-row transcript to the last 500. Over-ceiling
   reloads now use the bare full-transcript path (no msg_limit / no expand_renderable).

3. tests/test_webui_external_refresh_frontend.py: update the reloadLimitParam
   source assertion to the boundedReloadLimit form.

Re-gate: Codex adversarial SAFE TO SHIP (940/940 rows retained on cursor paging,
1000/1000 on refresh, no seam duplication, small sessions still use the fast tail
window); targeted + sessions/pagination/regression suites green.

Co-authored-by: Ruby Hartono <rh-id@users.noreply.github.com>

* test: fix two node-harness tests broken by the boundedReloadLimit change

- test_issue3162_ensure_messages_loaded: replace the brittle fixed 4500-char
  window (which the boundedReloadLimit lines pushed the carry-forward past) with
  robust brace-balance function-body extraction.
- test_cross_session_message_load_isolation: define _MSG_LIMIT_MAX=500 in the node
  harness env; _ensureMessagesLoaded now references it, and an undefined value made
  boundedReloadLimit=null -> the fetch URL dropped msg_limit/expand_renderable and
  mismatched the ordered api() harness -> stall/timeout.

---------

Co-authored-by: Ruby Hartono <58564005+rh-id@users.noreply.github.com>
Co-authored-by: nesquena-hermes <agent@nesquena-hermes>
Co-authored-by: Ruby Hartono <rh-id@users.noreply.github.com>
2026-07-17 20:15:40 -07:00
..
fixtures fix(#5884): focus composer after URL prefill 2026-07-10 11:04:44 -04:00
manual
__init__.py
_layout_helpers.py
_pytest_port.py
_wakeup_helpers.py
browser_smoke.py
conftest.py test(providers): clear cache between tests for auth-state isolation 2026-07-14 16:06:24 +08:00
helpers.py
js_source_extract.py
test_465_session_branching.py
test_499_tts_playback.py
test_732_gateway_routing_metadata.py
test_745_code_block_newlines.py
test_779_html_preview.py
test_886_ordered_list_numbering.py
test_1003_appearance_autosave.py
test_1003_preferences_autosave.py
test_1038_pwa_auth_redirect.py
test_1044_mermaid_csp_font.py
test_1045_bfcache_layout_restore.py
test_1058_adaptive_title_refresh.py
test_1059_settings_picker_active_state.py
test_1062_busy_input_modes.py
test_1079_cron_session_project.py
test_1325_user_fenced_code.py
test_1432_newchat_and_1423_profile_input.py
test_1466_bfcache_inflight_reattach.py
test_1466_sidebar_cancel_clarify.py
test_1560_password_env_var_no_op.py
test_1620_paste_text_with_image.py
test_1694_prompt_ownership.py
test_1694_root_saved_running_policy.py
test_1694_terminal_cleanup_ownership.py
test_1695_aiagent_import_error_detail.py
test_1707_workspace_filename_click.py
test_1710_folder_tooltip.py
test_1764_context_menu_essentials.py
test_2111_ios_pwa_bottom_scroll_stutter.py
test_2235_initial_aux_title.py
test_2558_reveal_path_translation.py
test_2735_open_in_vscode.py
test_2791_model_picker_keyboard_nav.py
test_3007_approval_card_collapse.py
test_3230_preserve_manual_session_title.py
test_3845_keyboard_session_nav.py
test_3850_settings_search.py
test_3866_project_context_memory_section.py
test_4109_notification_focus_existing_tab.py
test_4167_sidebar_payload_and_scope.py
test_4170_offline_probe.py
test_4273_expanduser_and_nullbyte.py
test_4413_seed_provider_models.py
test_4504_clarify_stuck_on_expiry.py
test_4676_project_new_session_shortcuts.py
test_4737_first_tab_model_catalog_refresh.py
test_4961_url_query_prefill.py fix(#5884): focus composer after URL prefill 2026-07-10 11:04:44 -04:00
test_5001_active_profile_recovery.py
test_5021_boot_model_redirect_budget.py
test_5144_busy_composer_placeholder_hint.py
test_5145_steer_default.py
test_5148_settings_search_busy_input_terms.py
test_5149_settings_search_ranking.py
test_5167_busy_input_mode_boot.py
test_5306_subagent_sidebar_flicker.py
test_5307_subagent_child_transcript.py
test_5428_stale_client_recovery.py
test_5455_agent_health_single_flight.py
test_5552_viewport_anchor_surrogate.py
test_5682_profile_query_switch.py Release exp-v0.52.42: ?profile= deep links (#5730) + Russian locale refresh (#5778) (#5953) 2026-07-11 15:58:47 -07:00
test_5749_anchor_scene_client_prefix_dedupe.py
test_a11y_prompt_flyout_hidden_state.py
test_a11y_transcript_landmarks.py
test_acp_session_sidebar_visibility.py Release exp-v0.52.40: ACP sessions in sidebar (#5939) + date-stamped Claude 3.0 reasoning fix (#5934) (#5951) 2026-07-11 15:20:41 -07:00
test_active_empty_session_sidebar.py
test_agent_context_docs.py
test_agent_health_pid_path_fallback.py
test_agent_health_remote.py
test_agent_max_turns_parity.py
test_agent_runtime_revision_guard.py fix(runtime): ignore in-memory agent module swaps 2026-07-16 22:28:35 +08:00
test_agent_source_dependency_audit.py fix: stop stale agent runtime after source updates 2026-07-16 22:28:35 +08:00
test_anchor_fallback_ownership.py
test_anchor_scene_persistence.py
test_api_timeout.py Release: msg_limit ceiling + row-loss-safe pagination (#6152 + #6154, @rh-id) (#6213) 2026-07-17 20:15:40 -07:00
test_app_titlebar_restore.py
test_approval_card_layering.py
test_approval_queue.py
test_approval_sse.py
test_approval_unblock.py
test_atomic_settings_writes.py
test_atomic_writer_fsync.py
test_attention_session_events.py
test_auth.py
test_auth_password_hash_cache.py
test_auth_session_persistence.py
test_auth_sessions.py
test_auth_settings_safety.py
test_auto_compression_card.py
test_auto_compression_terminal_failure.py
test_auxiliary_models_settings.py
test_background_process_wakeup_format.py
test_background_tasks.py
test_batch_fixes.py
test_bg_dedup_reaper_prune.py
test_bg_task_complete_ab_coexistence.py
test_bg_task_complete_focus_drop.py
test_bg_task_complete_loadsession_stream_restart.py
test_bg_task_complete_ring_buffer.py
test_bg_task_complete_throttle.py
test_bg_task_complete_wakeup.py
test_bg_task_drain_loop_backoff.py
test_bg_thread_start_lock.py
test_blank_live_turn_preserve_guard.py
test_blockquote_rendering.py
test_bootstrap_discover_agent.py fix(#2422): support packaged Hermes Agent discovery 2026-07-14 01:06:49 +00:00
test_bootstrap_dotenv.py
test_bootstrap_foreground.py fix(#2422): support packaged Hermes Agent discovery 2026-07-14 01:06:49 +00:00
test_bootstrap_python_selection.py fix(#2422): harden NixOS packaged runtime 2026-07-14 01:06:49 +00:00
test_broken_pipe_cascade.py
test_bugbatch_apr2026.py Release exp-v0.52.49: dictation preserves composer text (#5895) (#5978) 2026-07-11 20:47:54 -07:00
test_bugfix_sweep.py
test_byok_model_dropdown.py
test_byte_range_parser.py
test_cancel_interrupt.py
test_cancel_stream_owner_guard.py
test_cancelled_turn_status.py
test_canonical_session_resolution_rfc.py
test_catalog_has_provider_compound_ids.py
test_catppuccin_skin.py
test_chat_panel_sidebar_resync.py
test_chat_start_claim_cli_session.py
test_chat_start_provider_fallback.py
test_chat_upload_attachment_paths.py
test_chinese_locale.py test(#2147): honor english fallback-owned profile concept copy 2026-07-14 03:33:00 +00:00
test_ci_hygiene.py
test_clarify_sse.py
test_clarify_unblock.py
test_claude_code_session_import.py
test_cli_only_slash_commands.py
test_cli_session_tool_metadata.py
test_cli_sessions_cache_cap.py fix(models): cap _CLI_SESSIONS_CACHE with LRU eviction (drop-oldest) 2026-07-16 19:31:47 +07:00
test_cli_sessions_cache_fingerprint.py
test_client_event_diagnostics.py
test_cmd_dropdown_scroll_838.py
test_cmd_idle_fallback.py
test_commands_endpoint.py
test_compaction_marker_writeback.py
test_composer_capture_clear_race.py fix(send): snapshot files + clear draft pre-await (gate fixes) 2026-07-11 03:58:52 +00:00
test_composer_chip_lightbox.py
test_composer_draft_after_send.py
test_compress_status_404_fix.py
test_compression_recovery_action.py
test_compression_snapshot_runtime_clear.py
test_configurable_pinned_sessions_limit.py
test_conftest_network_isolation.py
test_conftest_server_boot.py
test_context_history_sanitization.py
test_context_message_dedup.py
test_context_message_stable_ids.py
test_contract_review_gate.py
test_copilot_provider_model_settings_not_allowlist.py
test_core_data_loss_cases.py test(core): accept new limit kwarg in get_state_db_session_messages stub 2026-07-16 19:47:36 +00:00
test_cors_preflight_allowlist.py
test_credential_pool_profile_scoping.py
test_credential_pool_providers.py
test_cron_delivery_options.py
test_cron_import_shadowing.py
test_cron_manual_run_persistence.py
test_cron_model_override.py
test_cron_model_provider_picker.py
test_cron_needs_attention.py
test_cron_no_agent_edit.py
test_cron_query_param_validation.py
test_cron_refresh_button_835.py
test_cron_run_job_import.py
test_cron_script_job_ui.py
test_cron_session_title.py
test_cron_toast_notifications.py
test_cross_session_message_load_isolation.py Release: msg_limit ceiling + row-loss-safe pagination (#6152 + #6154, @rh-id) (#6213) 2026-07-17 20:15:40 -07:00
test_csp_frame_src_extra.py
test_css_tooltips.py
test_csv_table_rendering.py
test_ctl_bash32_compat.py
test_ctl_script.py
test_custom_provider_bare_model_reasoning.py
test_custom_provider_display_name.py
test_custom_provider_prefix_collisions.py
test_custom_providers_in_panel.py
test_cvd3_terminal_local_origin_gate.py
test_czech_locale.py test(#2147): honor english fallback-owned profile concept copy 2026-07-14 03:33:00 +00:00
test_dashboard_link_ui.py
test_dashboard_poll_visibility.py
test_dashboard_probe.py
test_default_personality.py
test_default_workspace_fallback.py
test_delete_cli_session_delegate_cascade.py fix(sessions): cascade delegated subagents on parent deletion 2026-07-14 18:10:03 +08:00
test_docker_docs_and_readonly.py
test_docker_env_readonly_vars.py
test_docker_gpu_runtime_docs.py
test_docs_gitignore_policy.py
test_early_session_title.py
test_embedded_workspace_terminal.py fix(sessions): guard all auto-mint paths + strict config/body parsing (gate review) 2026-07-14 04:35:06 +00:00
test_empty_partial_activity_restore.py
test_empty_session_no_disk_write.py
test_evict_session_agent_active_run_guard.py
test_excalidraw_inline_embed.py
test_extension_hooks.py
test_extension_settings_runtime.py
test_extension_sidecar_proxy.py
test_extension_status_endpoint.py
test_extension_theme_registration.py
test_extension_tts_engine_registration.py
test_extensions_settings_panel.py
test_file_manager_external_session.py
test_firefox_sidebar_scroll_stability.py fix(cron): drop stale pre-switch session-list completion marks 2026-07-12 19:20:53 +00:00
test_folder_download.py
test_font_size_setting.py
test_french_voices_tts_allowlist.py
test_gateway_approval_legacy_path.py
test_gateway_approval_runs_api.py
test_gateway_lifecycle_controls.py
test_gateway_read_idle_timeout.py
test_gateway_sse_reconnect_dedupe.py test: widen fixed-window assertions after busy-reset reorder 2026-07-11 06:06:04 +00:00
test_gateway_status_agent_health.py
test_gateway_sync.py
test_gateway_watcher_profile.py
test_geist_contrast_skin.py
test_goal_command_webui.py fix: handle remaining stale runtime entrypoints 2026-07-16 22:28:35 +08:00
test_graphite_skin.py
test_health_restart.py fix: harden gateway restart recovery targeting 2026-07-14 16:01:56 +08:00
test_hidden_tab_server_initiated_turn.py
test_home_route_html_error.py
test_ime_composition.py
test_import_cli_session_lineage.py
test_index_shell_template_cache.py
test_inflight_purge_missing_sessions.py
test_inflight_send_start_race.py
test_inflight_storage_quota.py
test_inflight_stream_reuse.py fix(sessions): clear stale sidebar unread indicator on session visit (salvage of #4946) 2026-07-11 03:32:26 +00:00
test_insights.py
test_issue341.py
test_issue342.py
test_issue347.py
test_issue357.py
test_issue401.py
test_issue467_yolo_mode_toggle.py Release exp-v0.52.54: stabilize cross-platform WebUI test suite (#5970) (#5984) 2026-07-11 23:48:38 -07:00
test_issue470.py
test_issue477.py
test_issue483_inline_diff_viewer.py
test_issue484_json_tree_viewer.py
test_issue486_487.py
test_issue487b.py
test_issue492_workspace_reorder.py
test_issue500_message_list_virtualization.py
test_issue500_session_list_virtualization.py
test_issue513_wsl_autostart.py
test_issue538_mcp_management.py
test_issue540_workspace_office_documents.py
test_issue540_workspace_office_preview.py
test_issue569_579.py
test_issue570_permission.py
test_issue572.py
test_issue603_provider_categories.py
test_issue604_all_providers_model_picker.py
test_issue607.py
test_issue609.py
test_issue616.py
test_issue617_cron_profile_selector.py
test_issue632.py
test_issue634.py
test_issue644.py
test_issue646.py
test_issue660.py
test_issue673.py
test_issue677.py
test_issue691_model_health_table.py
test_issue693_system_health_panel.py
test_issue696_mcp_visibility_panel.py
test_issue697_mcp_tool_inventory.py
test_issue716_agent_heartbeat.py fix: retry transient agent gateway restart failures 2026-07-14 14:13:19 +08:00
test_issue734_message_windowing.py
test_issue739_652_653.py
test_issue744.py
test_issue749_profile_create_model_picker.py
test_issue765_streaming_persistence.py
test_issue781.py
test_issue789.py
test_issue798.py
test_issue803.py
test_issue840_slash_echo.py
test_issue852_thinking_card_mirror.py
test_issue854_live_model_prefix.py
test_issue856_active_session_read_state.py
test_issue856_background_completion_unread.py fix(cron): drop stale pre-switch session-list completion marks 2026-07-12 19:20:53 +00:00
test_issue856_pinned_indicator_layout.py fix(cache): keep streaming TTLs above poll cadence 2026-07-15 20:59:59 +00:00
test_issue856_session_streaming_state.py
test_issue893_cancel_preserves_partial.py
test_issue895_894_nous_prefix.py
test_issue926_hindsight_docker_dependency.py
test_issue1013_handoff_dock.py fix: normalize Codex handoff base URL 2026-07-17 16:33:52 +00:00
test_issue1014_model_not_found.py
test_issue1094_provider_bugs.py
test_issue1095_pasted_images.py
test_issue1096_copy_buttons.py
test_issue1097_workspace_drag_drop.py
test_issue1100_prism_sri.py
test_issue1103_reasoning_chip_visibility.py Release exp-v0.52.42: ?profile= deep links (#5730) + Russian locale refresh (#5778) (#5953) 2026-07-11 15:58:47 -07:00
test_issue1105_ssrf_custom_providers.py
test_issue1106_custom_providers_models.py
test_issue1112_csp_google_fonts.py
test_issue1116_composer_placeholder.py
test_issue1118_idle_session_retry.py
test_issue1139_password_remote.py
test_issue1140_cron_badge_per_job.py
test_issue1144_session_time_sync.py
test_issue1154_fenced_code_leak.py
test_issue1164_env_file_corruption.py
test_issue1188_fuzzy_match.py
test_issue1189_openai_codex_detection.py
test_issue1195_session_profile_routing.py
test_issue1202_oauth_provider_status.py
test_issue1217_transcript_compaction.py
test_issue1228_model_picker_duplicate_ids.py fix(#5989): separate picker dedup from restore matching 2026-07-13 18:57:15 +00:00
test_issue1240_generic_cli_catalog_sync.py
test_issue1257_llm_wiki_status.py
test_issue1298_cancel_and_activity.py
test_issue1360_streaming_scroll_hardening.py
test_issue1361_cancel_data_loss.py fix(#5940): key pending-turn recovery to exact checkpoints 2026-07-13 03:41:39 +00:00
test_issue1362_codex_oauth_onboarding.py
test_issue1384_local_provider.py
test_issue1413_li_path_coverage.py
test_issue1420_lmstudio_provider_env_var.py
test_issue1426_openrouter_free_tier_live_fetch.py Release exp-v0.52.39: transparent-stream mode-precedence fix (#5942/#5943) + hermetic OpenRouter test (#1426) (#5948) 2026-07-11 14:40:59 -07:00
test_issue1431_toolsets_chip_responsive.py
test_issue1436_context_indicator_load_path.py
test_issue1438_fence_anchoring.py
test_issue1443_ime_helper_promotion.py
test_issue1446_glued_heading_lift.py
test_issue1447_heading_hierarchy.py
test_issue1458_stability_hardening.py
test_issue1464_workspace_dropdown_filter.py
test_issue1488_composer_voice_buttons.py
test_issue1494_state_db_fd_leak.py fix(sessions): cascade delegated subagents on parent deletion 2026-07-14 18:10:03 +08:00
test_issue1499_keyless_onboarding.py
test_issue1499_onboarding_probe.py
test_issue1500_lmstudio_env_var_alignment.py
test_issue1511_dedup_shared_reference.py
test_issue1527_lmstudio_base_url_classification.py
test_issue1538_nous_live_catalog.py
test_issue1539_provider_removal_dropdown_invalidation.py
test_issue1560_password_env_var_lock.py
test_issue1567_nous_picker_capacity_and_symmetry.py
test_issue1568_duplicate_provider_groups.py
test_issue1574_cron_profile_lock.py
test_issue1579_whats_new_link_404.py
test_issue1611_session_profile_filtering.py
test_issue1612_renamed_root_profile.py
test_issue1614_project_profile_filtering.py
test_issue1617_tps_message_header.py
test_issue1618_yaml_json_diff_newline_preserve.py
test_issue1623_sse_heartbeat_alignment.py
test_issue1624_repair_stale_pending_grace.py
test_issue1625_local_server_model_id_preservation.py
test_issue1633_models_cache_version_stamp.py
test_issue1669_sidebar_scroll_jump_fix.py
test_issue1680_codex_spark.py
test_issue1690_scroll_completion.py
test_issue1697_multi_image_paste.py
test_issue1699_model_cache_source_fingerprint.py
test_issue1700_parallel_profile_switch.py
test_issue1731_upward_scroll_unpins.py
test_issue1743_model_picker_race.py
test_issue1765_codex_quota.py
test_issue1766_quota_topbar.py
test_issue1771_session_model_switch_sync.py
test_issue1785_workspace_preview_breadcrumb.py
test_issue1786_workspace_heading_actions.py
test_issue1793_file_tree_cruft_filter.py
test_issue1796_error_toasts.py
test_issue1800_file_html_interactions.py
test_issue1806_named_custom_provider_resolution.py
test_issue1807_codex_provider_card_live_models.py
test_issue1823_kanban_not_found.py
test_issue1824_cli_patch_diff_rendering.py
test_issue1850_csp_connect_src_jsdelivr.py
test_issue1855_request_diagnostics.py
test_issue1855_resolve_model_provider_fast_path.py
test_issue1857_usage_overwrite.py
test_issue1867_upload_size_preflight.py
test_issue1879_cross_container_gateway_liveness.py
test_issue1880_profile_scoped_skills.py
test_issue1881_phantom_custom_groups.py
test_issue1894_provider_overlap.py
test_issue1896_context_length_fallback_args.py
test_issue1897_profile_switch_agent_cache.py test: fix resolve_model_provider mocks to accept explicitly_picked kwarg 2026-07-13 01:45:07 +00:00
test_issue1908_docker_hardening.py
test_issue1909_csp_enforcement.py
test_issue1909_csp_report_only.py
test_issue1909_csrf_token.py
test_issue1910_login_attempt_persistence.py
test_issue1913_workspace_prefix_sentinel.py
test_issue1937_endless_scroll_jumpstart_race.py
test_issue1955_worktree_sessions.py
test_issue1955_worktree_ui_static.py feat(sessions): honor the agent's worktree config default in /api/session/new 2026-07-14 04:35:06 +00:00
test_issue1968_mcp_profile_discovery.py
test_issue1989_profile_skill_count.py
test_issue2023_hermes_home_skill_modules.py
test_issue2024_env_lock_skill_imports.py
test_issue2025_xiaomi_env_key.py
test_issue2028_compression_anchor_helpers.py
test_issue2031_cron_once_visibility.py
test_issue2057_worktree_lifecycle.py fix(sessions): cascade delegated subagents on parent deletion 2026-07-14 18:10:03 +08:00
test_issue2057_worktree_status.py
test_issue2057_worktree_ui_static.py fix(sessions): cascade delegated subagents on parent deletion 2026-07-14 18:10:03 +08:00
test_issue2066_stale_sidebar_spinner.py
test_issue2098_logs_i18n.py
test_issue2124_outline_panel.py
test_issue2147_profile_concept_help.py refine(#2147): drop confusing Binding row, keep localization + Example 2026-07-14 04:04:39 +00:00
test_issue2147_profile_workspace_copy.py fix(#2147): add profile_concept keys to all locale blocks and update existing test 2026-07-14 03:33:00 +00:00
test_issue2157_sessions_list_stale_stream_state.py
test_issue2177_nvidia_prefix_preservation.py
test_issue2184_fork_from_here_absolute_index.py
test_issue2211_workspace_panel_reopen.py
test_issue2223_compression_no_rename.py
test_issue2232_legacy_toolsets.py
test_issue2233_sqlite_connection_leak.py
test_issue2237_docker_chown_git_objects.py
test_issue2245_mixed_case_provider_models.py
test_issue2246_question_jump.py
test_issue2262_compression_marker_timeout_ui.py
test_issue2271_keyless_custom_provider.py
test_issue2289_cron_detail_expansion.py
test_issue2305_profile_create_seeds_skills.py
test_issue2341_pending_user_reattach.py
test_issue2351_cli_session_source_filter.py
test_issue2386_localstorage_quota.py
test_issue2389_storage_pressure.py
test_issue2399_provider_config_flags.py
test_issue2403_interim_collapse.py
test_issue2419_cache_usage_display.py
test_issue2428_table_pipe_protection.py
test_issue2453_agent_source_boundary.py
test_issue2454_active_session_spinner.py
test_issue2462_theme_i18n.py
test_issue2472_fork_from_here_messaging.py
test_issue2481_selected_text_reply.py
test_issue2508_session_pin_cap.py
test_issue2513_custom_provider_remote_models.py
test_issue2518_active_provider_fallback.py
test_issue2518_new_session_inflight.py
test_issue2540_models_endpoint_error.py
test_issue2542_anonymous_custom_endpoint.py
test_issue2543_named_context_session_switch.py test: cover context-selection counter reset on clear/session-switch (#5929) 2026-07-11 07:47:25 +00:00
test_issue2545_xai_oauth_provider.py
test_issue2551_project_picker_cache_refresh.py
test_issue2554_workspace_tree_file_indent.py
test_issue2565_reasoning_accumulation.py
test_issue2569_model_provider_picker.py
test_issue2572_csrf_diagnostics.py
test_issue2592_partial_dedupe.py
test_issue2613_render_cache_signature.py
test_issue2628_cli_sessions_perf.py
test_issue2655_frontend.py
test_issue2661_2629_frontend.py
test_issue2679_hide_suggestions.py
test_issue2698_isolated_hermes_home.py
test_issue2713_streaming_segment_flush.py
test_issue2720_bedrock_model_picker.py
test_issue2762_state_sync_profile_kwarg.py
test_issue2768_workspace_links.py
test_issue2775_log_request.py
test_issue2785_gateway_cron_guidance.py
test_issue2821_session_pin_state_sync.py
test_issue2823_large_markdown_preview.py
test_issue2840_windows_hermes_home_defaults.py
test_issue2841_show_cron_sessions_toggle.py
test_issue2848_checkpoint_profile.py
test_issue2863_session_index_prime.py
test_issue2867_tool_output_visual_distinction.py
test_issue2881_workspace_chat_links.py
test_issue2883_clarify_padding.py
test_issue2901_csp_connect_extra.py
test_issue2905_windows_home_migration_safety.py
test_issue2914_truncation_watermark.py
test_issue2929_settings_max_tokens.py
test_issue2931_edge_tts_endpoint.py
test_issue2941_wiki_browse.py
test_issue2965_streaming_sessiondb_profile_home.py test: fix resolve_model_provider mocks to accept explicitly_picked kwarg 2026-07-13 01:45:07 +00:00
test_issue2966_markdown_table_enhancer.py
test_issue2977_use_command.py
test_issue2998_panel_primary_contrast.py
test_issue3012_3006_docker_docs.py
test_issue3019_cron_project_sessions.py
test_issue3023_safe_session_id_validators.py
test_issue3040_reattach_focus_gate.py
test_issue3040_reattach_invariant.py
test_issue3066_disabled_read_profile.py
test_issue3066_profile_skill_disabled_state.py
test_issue3100_profile_toolsets_affordance.py
test_issue3103_sse_no_connection_close.py
test_issue3145_opencode_shared_runtime_key.py
test_issue3162_ensure_messages_loaded.py Release: msg_limit ceiling + row-loss-safe pagination (#6152 + #6154, @rh-id) (#6213) 2026-07-17 20:15:40 -07:00
test_issue3172_cron_session_limit.py
test_issue3194_gateway_configured_banner.py
test_issue3225_rename_sync.py
test_issue3227_help_tab.py
test_issue3238_orphaned_cli_sidecar_prune.py
test_issue3242_3214_i18n_tooltips.py
test_issue3250_upward_scroll_intent_window.py
test_issue3256_context_length_default_only_guard.py
test_issue3260_self_hosted_providers_settings.py
test_issue3262_artifact_path_canonicalization.py
test_issue3283_profiles_config_import_order.py
test_issue3293_title_language_drift.py
test_issue3294_profile_toolset_scoping.py
test_issue3306_loadsession_carry_forward.py
test_issue3319_pinned_scroll_jump.py
test_issue3329_artifact_tool_metadata_guard.py
test_issue3337_workspace_preview_highlight.py
test_issue3340_persistent_state_toasts.py
test_issue3346_legacy_dedup.py
test_issue3360_multi_slash_model_collision.py
test_issue3368_model_prefix_shadowing.py Release exp-v0.52.54: stabilize cross-platform WebUI test suite (#5970) (#5984) 2026-07-11 23:48:38 -07:00
test_issue3397_transparent_stream_prose_segments.py
test_issue3401_deep_review_fixes.py
test_issue3402_workspace_os_import.py
test_issue3402_workspace_tree_move.py
test_issue3405_profile_provider_resolution.py
test_issue3407_sigpipe_ignore.py
test_issue3411_workspace_tree_os_drop.py
test_issue3424_composer_drop_hint_polish.py
test_issue3429_uri_scheme_model_ids.py
test_issue3429_uri_scheme_model_label.py
test_issue3433_composer_path_completion.py
test_issue3455_think_block_extraction.py
test_issue3460_cron_session_unread.py fix(cron): guard profile-switch polling races 2026-07-12 19:20:53 +00:00
test_issue3468_duplicate_after_compression.py
test_issue3470_touch_unpin_streaming_scroll.py
test_issue3479_ios_stream_scroll_jump.py
test_issue3506_memory_and_watcher.py
test_issue3510_elevenlabs_tts.py
test_issue3539_language_dropdown_all_locales.py
test_issue3545_streaming_scroll_cue.py
test_issue3546_provider_refresh_route.py
test_issue3548_sessiondb_self_heal.py fix(#6108): bound SessionDB retries to transient sqlite contention 2026-07-17 05:42:00 -04:00
test_issue3571_saved_prompts.py
test_issue3582_tts_content_length.py
test_issue3583_orphaned_tool_calls.py
test_issue3585_cron_session_overflow.py
test_issue3586_cli_session_source_label.py
test_issue3587_intermediate_reasoning.py
test_issue3592_thinking_settlement.py
test_issue3595_activity_default_expanded.py
test_issue3597_update_banner_position.py
test_issue3599_inline_thinking_extraction.py
test_issue3603_external_session_import_gate.py
test_issue3623_profile_visibility.py
test_issue3635_profile_chip_active.py
test_issue3660_context_window_stale.py
test_issue3668_prompt_card_reshow_on_switch.py
test_issue3691_model_picker_show_all.py
test_issue3696_session_attention_scope.py
test_issue3700_push_to_talk.py
test_issue3709_thinking_double_render.py
test_issue3717_context_length_provider_overrides.py
test_issue3718_live_models_custom_probe.py
test_issue3737_explicit_pick_client_wiring.py
test_issue3746_session_move_delete_timeout.py
test_issue3750_lmstudio_probe_auth.py
test_issue3762_importable_rows_schema_guard.py
test_issue3787_probe_pool.py
test_issue3797_kanban_cli_parity.py
test_issue3800_compaction_summary_length.py
test_issue3802_delete_session_journals.py
test_issue3820_chat_activity_display_mode.py
test_issue3825_oidc_auth.py
test_issue3831_watermark_clear.py
test_issue3833_workspace_refresh.py
test_issue3842_dismissible_error_toast.py
test_issue3851_jump_to_question_mobile.py
test_issue3869_thinking_dots.py
test_issue3870_render_user_markdown_cache_reset.py
test_issue3875_blank_transcript_failsafe.py
test_issue3875_recovery_anchor_dedup.py
test_issue3877_midstream_flicker.py
test_issue3887_index_prime.py
test_issue3895_opencode_go_model_picker.py
test_issue3915_state_dir_warning.py
test_issue3916_external_refresh_poll.py
test_issue3924_cjk_slash_autocomplete.py
test_issue3928_models_budget_fallback.py
test_issue3929_credential_pool_classification.py
test_issue3929_error_preserves_partial.py
test_issue3929_partial_work_recovery.py fix(streaming): skip reasoning rows for tool anchors 2026-07-18 04:36:00 +08:00
test_issue3929_process_wakeup_pause.py
test_issue3930_source_filter_pushdown.py
test_issue3947_tasks_cross_profile_visibility.py
test_issue3952_escape_blur_composer.py
test_issue3957_profile_providers_models.py
test_issue3958_reasoning_post_session_context.py
test_issue3959_model_suffix_dedup.py
test_issue3975_cron_reply_materialization.py
test_issue3983_browser_tts_watchdog.py
test_issue3987_imported_session_titles.py
test_issue3988_show_cli_sessions_default.py
test_issue3993_session_load_self_heal.py Fix stale session load ownership races 2026-07-10 09:26:36 -06:00
test_issue3994_materialize_session.py
test_issue3996_sse_visibility.py
test_issue4001_inline_code_link_label.py
test_issue4002_shutdown_i18n_code_spans.py
test_issue4006_auto_scroll_follow_default.py
test_issue4026_collapsible_paused_crons.py
test_issue4029_stale_completion_age_gate.py
test_issue4039_panel_document_title.py
test_issue4041_approval_poll_busy_dip.py
test_issue4042_typing_lag_autoresize.py
test_issue4053_external_skill_categories.py
test_issue4064_worklog_mobile_overflow.py
test_issue4067_import_cli_cross_profile_guard.py
test_issue4075_mermaid_lightbox.py
test_issue4086_document_title_owner.py
test_issue4087_skill_bundles.py
test_issue4151_pwa_focus_sse.py
test_issue4154_sidebar_issue_numbers.py
test_issue4164_bound_non_git_project_context_walk.py
test_issue4183_regenerate_materialize.py
test_issue4251_wakeup_model_picker_race.py
test_issue4283_recovered_context_replay.py fix(#5940): key pending-turn recovery to exact checkpoints 2026-07-13 03:41:39 +00:00
test_issue4295_midstream_scroll_anchor.py
test_issue4295_scroll_pin_reentry.py
test_issue4300_gateway_approval_notice.py
test_issue4324_photon_phantom_providers.py
test_issue4325_virtualization_toggle.py
test_issue4346_vscroll_footer_jitter.py
test_issue4346_vscroll_recycled_anchor_jumpback.py
test_issue4356_no_git_update_check.py
test_issue4360_generic_pool_quota.py
test_issue4385_cron_archive_reappears.py
test_issue4391_settings_shortcut.py
test_issue4449_state_dir_contract.py
test_issue4465_builtin_personalities.py
test_issue4470_kanban_task_editor_fields.py
test_issue4479_gateway_approval_history.py
test_issue4490_presession_toolsets.py
test_issue4496_plugin_badge_state.py
test_issue4536_service_tier.py
test_issue4539_transparent_tool_settle.py
test_issue4553_mobile_transcript_overflow.py
test_issue4571_mic_insecure_origin.py
test_issue4582_workspace_escape_navigation.py
test_issue4586_named_profile_not_isolated.py
test_issue4598_composer_control_visibility.py
test_issue4622_settled_toolcard_body.py
test_issue4622_tool_card_restore_guard.py
test_issue4626_windows_restart_no_console.py
test_issue4633_crash_visibility.py
test_issue4638_lineage_top_n_cap.py
test_issue4650_reasoning_chip_no_storm.py Release exp-v0.52.42: ?profile= deep links (#5730) + Russian locale refresh (#5778) (#5953) 2026-07-11 15:58:47 -07:00
test_issue4650_yaml_config_cache.py
test_issue4658_transparent_collapsed_preview.py fix(ui): reject invalid read range limits 2026-07-15 20:37:02 +00:00
test_issue4662_profile_switch_skeleton_behaviour.py
test_issue4662_profile_switch_skeleton_static.py Release exp-v0.52.42: ?profile= deep links (#5730) + Russian locale refresh (#5778) (#5953) 2026-07-11 15:58:47 -07:00
test_issue4662_reload_config_mtime_cache.py
test_issue4662_sidebar_redaction_read_once.py fix(#6056): extend sidebar title-field redaction to /api/sessions/search (Codex class-fix) 2026-07-15 21:06:36 +00:00
test_issue4685_post_compression_context_metering.py Release exp-v0.52.48: post-compression context metering (#5872, #4685) (#5977) 2026-07-11 20:41:43 -07:00
test_issue4696_ios_tap_delay.py
test_issue4700_agent_dir_discovery.py
test_issue4702_portrait_open_scroll_bottom.py
test_issue4705_update_summary_expand.py
test_issue4713_plugins_badge_and_sort.py
test_issue4714_claude_code_visibility_toggle.py
test_issue4717_empty_profile_skeleton.py
test_issue4718_claude_code_parse_cache.py
test_issue4720_done_scroll_jump_first_message.py
test_issue4728_new_chat_default_model.py
test_issue4729_reasoning_sse_coalesce.py
test_issue4731_mobile_message_actions.py
test_issue4746_extension_gallery.py
test_issue4749_steer_reason_and_recovery.py
test_issue4752_collapsed_card_shows_result.py
test_issue4753_desktop_background_notifications.py
test_issue4754_approval_dismiss_persist.py
test_issue4755_profile_default_workspace.py
test_issue4756_session_visit_model_refresh.py
test_issue4757_macos_drag_drop_mime.py
test_issue4759_parallel_sidebar_boot_fetch.py
test_issue4761_voice_mode_config.py
test_issue4765_sessions_lru_eviction.py fix(#6083 follow-up): bound never-persisted empty session shells 2026-07-15 18:44:21 +00:00
test_issue4766_sidebar_source_pushdown.py
test_issue4768_cron_module_missing.py
test_issue4770_anthropic_oauth_detection.py
test_issue4771_gateway_approval_failure_ui.py
test_issue4771_local_approval_regression.py
test_issue4775_sidebar_hidden_zero_message_pushdown.py
test_issue4783_profile_skills_mtime_cache.py
test_issue4793_dom_recycle_hardening.py
test_issue4811_reconnect_chronology.py
test_issue4812_session_sse_contract_rfc.py
test_issue4812_session_sse_stream.py fix(#4812): break live SSE loop on a terminal event even when deduped at cutoff 2026-07-10 20:47:06 +00:00
test_issue4813_cron_model_bare_name.py
test_issue4814_mermaid_toolbar.py fix: address Greptile review and fix CI test mock for touch handlers 2026-07-15 23:02:13 +00:00
test_issue4836_manual_compression_recovery.py
test_issue4842_cli_cache_streaming.py
test_issue4842_cli_sessions_streaming_freeze.py
test_issue4842_cron_projection_perf.py fix(cache): keep streaming TTLs above poll cadence 2026-07-15 20:59:59 +00:00
test_issue4843_pet_webui_command.py
test_issue4856_android_scroll_regression.py
test_issue4856_mobile_transcript_unscrollable.py
test_issue4875_recovery_prompt_filter.py
test_issue4877_fresh_blank_boot_workspace_bind.py feat(sessions): honor the agent's worktree config default in /api/session/new 2026-07-14 04:35:06 +00:00
test_issue4891_detail_header_visibility.py
test_issue4926_shell_full_command.py
test_issue4927_durable_tool_snippet.py
test_issue4928_tool_arg_content_cap.py
test_issue4930_stale_turn_duration.py
test_issue4945_markdown_table_copy.py
test_issue4948_local_stale_approval.py
test_issue4970_stream_done_shrink_regression.py Release exp-v0.52.45: errored-turn response visible (#5941) + recovery honors model pick (#5924) (#5964) 2026-07-11 18:07:28 -07:00
test_issue4973_diagnostics_watchdog.py
test_issue4982_openai_tts.py
test_issue4985_orphaned_webui_zero_message.py
test_issue5057_moa_webui_route.py
test_issue5060_boot_composer_preserve.py
test_issue5099_ctrl_k_text_input_guard.py
test_issue5121_provider_auth_terminal_error.py fix(streaming): preserve terminal failure precedence 2026-07-12 22:39:15 +00:00
test_issue5127_process_wakeup_bare_model.py
test_issue5130_cron_profile_snapshot.py
test_issue5132_state_db_override_top_n_cap.py
test_issue5139_gateway_approval_offline_notice.py
test_issue5141_terminal_failure_transcript_evaluator.py
test_issue5169_profile_active_default_workspace.py
test_issue5175_macos_launchd_git.py
test_issue5177_hidden_tab_blank_gap.py Fix stale session load ownership races 2026-07-10 09:26:36 -06:00
test_issue5196_windows_safe_replace.py
test_issue5204_redactor_memoization_contract.py
test_issue5210_http_worker_bound.py
test_issue5220_config_reload_stampede.py
test_issue5224_terminal_error_transcript_preserve.py
test_issue5231_default_kanban_dispatch.py
test_issue5250_settings_search_dropdown_escape.py
test_issue5269_gateway_approval_docs.py
test_issue5270_cli_webui_continuity.py
test_issue5273_active_done_viewed_sync.py
test_issue5294_mobile_dictation_continuity.py fix(review): reset mic restart budget on a productive dictation result (#5294) 2026-07-10 20:17:33 -07:00
test_issue5311_opencode_go_static_models.py
test_issue5331_index_only_ghost_cleanup.py
test_issue5334_verification_stop_leak.py
test_issue5339_restart_stale_user_dedup.py
test_issue5345_clarify_toast_and_interrupt_provenance.py
test_issue5347_sidebar_action_menu_scroll.py
test_issue5364_skills_stats_thundering_herd.py
test_issue5367_transparent_live_row_reconcile.py
test_issue5379_cron_project_optin.py
test_issue5420_profile_switch_session_new.py
test_issue5435_tts_voice_preferences.py
test_issue5455_lineage_readonly_reads.py
test_issue5455_listing_readonly_connection.py
test_issue5472_preserve_draft_on_failed_send.py fix(send): clearPending:false + preserve file objects (gate round 2) 2026-07-11 04:13:53 +00:00
test_issue5497_preferences_model_picker.py
test_issue5501_session_list_retry_affordance.py
test_issue5514_composer_grow_scroll_pin.py Release exp-v0.52.52: keep transcript pinned across composer auto-resize (#5962, #5514) (#5983) 2026-07-11 22:37:23 -07:00
test_issue5525_mermaid_icon_distinct.py
test_issue5532_clear_truncation_watermark.py
test_issue5532_session_clear_state_db_replay.py
test_issue5533_preview_copy_file_path.py
test_issue5539_mobile_approval_card_height.py
test_issue5543_background_memory_commit.py
test_issue5545_three_panel_layout.py
test_issue5567_model_provider_contamination.py
test_issue5567_profile_home_override.py
test_issue5570_clear_backup_recovery.py
test_issue5572_messaging_clear_semantics.py
test_issue5578_login_next_nesting.py
test_issue5637_mobile_scroll_clamp_jumpback.py
test_issue5637_stale_anchor_guard.py
test_issue5638_user_row_intrinsic_height_collapse.py
test_issue5641_table_whitespace.py
test_issue5657_filetree_scroll_preserve.py
test_issue5671_workspace_switcher_a11y.py
test_issue5686_completed_output_text.py fix(streaming): preserve terminal failure precedence 2026-07-12 22:39:15 +00:00
test_issue5700_worklog_event_timestamps.py Release exp-v0.52.50: transparent-stream lazy settled DOM + per-turn cap (#5974, #5966) (#5981) 2026-07-11 21:56:20 -07:00
test_issue5720_reasoning_owner.py fix(chat): align reasoning fallback identity key 2026-07-15 07:10:02 +08:00
test_issue5731_session_model_provider_repair.py Release: repair stale session provider binding at chat start (#5873, #5731) (#5881) 2026-07-10 06:11:34 -07:00
test_issue5744_nonvirtual_userrow_collapse_jumpback.py
test_issue5748_model_picker_selected_badge.py
test_issue5749_transparent_stream_prefix_dedupe.py
test_issue5759_composer_focus_shortcut.py fix(#5759): match composer-focus chord on '/' char not physical Slash code 2026-07-14 01:20:12 +00:00
test_issue5760_code_block_containment.py
test_issue5839_lazy_worklog_render.py
test_issue5854_anchor_scene_split.py
test_issue5871_redaction_awareness_prompt.py fix: teach ephemeral system prompt that redacted credential values are intentional 2026-07-11 00:15:47 -07:00
test_issue5924_post_failure_recovery_model_pick.py Release exp-v0.52.45: errored-turn response visible (#5941) + recovery honors model pick (#5924) (#5964) 2026-07-11 18:07:28 -07:00
test_issue5940_terminal_error_surfaced.py Release exp: no false no-response after final tool (#5990, closes #5686). Thanks @jtstothard. 2026-07-13 01:28:48 +00:00
test_issue5941_errored_turn_response_visible.py Release exp-v0.52.45: errored-turn response visible (#5941) + recovery honors model pick (#5924) (#5964) 2026-07-11 18:07:28 -07:00
test_issue5954_empty_boot_reasoning_chip.py Release exp-v0.52.51: refresh reasoning chip after empty boot (#5967, #5954) (#5982) 2026-07-11 22:17:11 -07:00
test_issue5959_manual_update_i18n.py Release exp-v0.52.55: localize manual Docker update guidance (#5973, #5959) (#5985) 2026-07-11 23:53:02 -07:00
test_issue5960_cron_unread_profile_scope.py fix(cron): restrict reverse root-alias match to proven root names 2026-07-12 19:20:53 +00:00
test_issue5966_transparent_stream_lazy_dom.py Release exp-v0.52.50: transparent-stream lazy settled DOM + per-turn cap (#5974, #5966) (#5981) 2026-07-11 21:56:20 -07:00
test_issue5989_custom_proxy_picker_dedup.py fix(#5989): keep colon-suffixed proxy models distinct 2026-07-13 18:57:15 +00:00
test_issue6006_ttft_instrumentation.py feat(#6006): instrument send-to-first-token latency 2026-07-13 17:56:44 -04:00
test_issue6017_approve_once_no_persist.py Fix: "Approve once" no longer persists as a session approval (#6017) 2026-07-13 13:05:52 -07:00
test_issue6022_worktree_config_default.py fix(sessions): guard all auto-mint paths + strict config/body parsing (gate review) 2026-07-14 04:35:06 +00:00
test_issue6022_worktree_ui_static.py fix(sessions): guard all auto-mint paths + strict config/body parsing (gate review) 2026-07-14 04:35:06 +00:00
test_issue6080_model_picker_reparent.py fix: reparent mobile model picker to body so fixed positioning escapes footer (#6080) 2026-07-16 00:27:47 +00:00
test_issue6131_provider_aware_model_selection.py test(models): harden provider selection harness 2026-07-16 23:24:42 +08:00
test_issue_1584_multitab_sse.py
test_issue_1932_goal_hook_unrelated_turns.py
test_issue_branch_context_at_fork.py
test_issue_code_syntax_highlight.py
test_issue_edit_regenerate_absolute_keep_count.py
test_issue_neuralwatt_env_key.py
test_issue_new_chat_draft_restore.py Fix stale session load ownership races 2026-07-10 09:26:36 -06:00
test_issue_progress_echo_dedupe.py
test_issue_t16551f61_auth_token_churn_fingerprint.py
test_issue_windows_git_version_detection.py
test_issues_373_374_375.py
test_issues_853_857.py
test_issues_907_908_909_model_dropdown.py
test_japanese_locale.py test(#2147): honor english fallback-owned profile concept copy 2026-07-14 03:33:00 +00:00
test_jsyaml_vendored_assets.py
test_kanban_board_ui.py
test_kanban_bridge.py
test_kanban_ui_static.py
test_kanban_view_toggle.py
test_katex_streaming.py
test_katex_vendored_assets.py
test_korean_locale.py test(#2147): honor english fallback-owned profile concept copy 2026-07-14 03:33:00 +00:00
test_language_precedence.py
test_large_text_paste_attachment.py
test_layout_helpers.py
test_live_activity_timeline.py
test_live_anchor_progress_echo.py
test_live_models_ttl_cache.py
test_live_rebuild_budget_warn_rate_limit.py
test_live_stream_ux.py
test_live_to_final_anchor_visible_order.py Release exp-v0.52.39: transparent-stream mode-precedence fix (#5942/#5943) + hermetic OpenRouter test (#1426) (#5948) 2026-07-11 14:40:59 -07:00
test_live_tool_callback_events.py
test_login_locale.py
test_login_locale_parity.py
test_logs_endpoint.py
test_logs_ui_static.py
test_manual_title_regenerate_timeout.py
test_markdown_source_code_blocks_wrap.py
test_markdown_table_cell_spacing.py
test_mcp_server.py
test_mcp_tools_list_overflow.py
test_media_inline.py
test_memory_session_lifecycle_generation.py
test_memory_skill_badge.py
test_memory_write_symlink_guard.py
test_merge_append_only_normalization_cache.py perf(sessions): cache reconciliation message keys 2026-07-17 02:11:31 -06:00
test_merge_backfill_perf_optimization.py
test_merge_key_tool_calls.py
test_message_timestamp_stamping.py
test_messages_stale_stream_source_scope.py
test_metadata_save_wipe_1558.py
test_metering_session_lifecycle.py
test_minimax_provider.py
test_moa_model_picker_provider.py
test_mobile_layout.py Release exp-v0.52.42: ?profile= deep links (#5730) + Russian locale refresh (#5778) (#5953) 2026-07-11 15:58:47 -07:00
test_mobile_markdown_wrapping.py
test_mobile_reload_compression_recovery.py
test_mobile_scroll_jank.html
test_mobile_sidebar_header_icon_align.py
test_mobile_titlebar_session_actions.py
test_model_cache_metadata.py
test_model_default_boot_precedence.py
test_model_picker_badges.py
test_model_picker_escaping.py
test_model_picker_subgroups.py
test_model_resolver.py fix(models): route list-shaped custom provider models (#6127) (#6128) 2026-07-16 00:22:50 -07:00
test_model_scope_copy.py
test_model_selection_refresh_persistence.py
test_models_dev_reasoning.py
test_msg_footer_wrap.py
test_msg_limit_ceiling_drift.py Release: msg_limit ceiling + row-loss-safe pagination (#6152 + #6154, @rh-id) (#6213) 2026-07-17 20:15:40 -07:00
test_native_image_attachments.py
test_new_chat_default_model_frontend.py
test_nix_flake_module_source.py fix(#2422): support packaged Hermes Agent discovery 2026-07-14 01:06:49 +00:00
test_none_providers_config_guard.py
test_norm_model_id_trailing_empty_guard.py
test_notify_on_complete_webui.py
test_nous_portal_routing.py
test_numpad_enter_submit.py
test_offline_banner.py
test_offline_banner_theme.py
test_offline_soft_recovery.py
test_older_history_viewport_preservation.py
test_ollama_model_chip_label_regression.py
test_onboarding_existing_config.py
test_onboarding_mvp.py
test_onboarding_network.py
test_onboarding_oauth_single_flight.py
test_onboarding_static.py Release exp-v0.52.42: ?profile= deep links (#5730) + Russian locale refresh (#5778) (#5953) 2026-07-11 15:58:47 -07:00
test_openai_api_provider_alias.py
test_opencode_providers.py
test_options_content_length.py
test_optionz_liveview_perf.py
test_orphaned_tool_messages.py
test_parallel_session_switch.py
test_partial_bloat_fix.py
test_passkey_auth.py
test_passkey_login_content_length.py
test_pdf_html_preview.py
test_performance_polling_hardening.py
test_pin_limit_lineage_visibility.py
test_pinned_tail_midstream_jitter.py
test_plugin_model_providers.py fix(config): route plugin providers before config_provider bare-passthrough 2026-07-11 05:18:27 +00:00
test_plugins_panel.py
test_polish_locale.py test(#2147): honor english fallback-owned profile concept copy 2026-07-14 03:33:00 +00:00
test_pr1318_context_length_fallback.py
test_pr1339_fallback_providers_list.py
test_pr1341_context_window_persistence.py
test_pr1350_sse_atomic_subscribe.py
test_pr1350_sse_notify_correctness.py
test_pr1355_sse_handler_no_deadlock.py
test_pr1366_finalize_thinking_card_guard.py
test_pr1370_lineage_metadata_perf_and_orphan.py
test_pr1375_partial_tool_calls_sanitize.py
test_pr1441_ime_safari_guard.py
test_pr1445_opus_followups.py
test_pr1721_rtl_salvage.py
test_pr1947_same_model_multiple_custom_providers.py
test_pr1970_lmstudio_base_url_fallback.py
test_pr2520_extract_attachment_dir.py
test_process_wakeup_rendering.py
test_process_wakeup_synthetic.py
test_profile_default_workspace_823.py
test_profile_dropdown_fast_open.py
test_profile_env_isolation.py
test_profile_path_security.py
test_profile_skills_stats.py Release exp-v0.52.54: stabilize cross-platform WebUI test suite (#5970) (#5984) 2026-07-11 23:48:38 -07:00
test_profile_switch_1200.py
test_profile_switch_ux.py
test_profile_terminal_env.py
test_profiles_route_endpoint.py
test_project_chip_ui.py
test_provider_cost_budget.py
test_provider_cost_chart_ui.py
test_provider_cost_history.py
test_provider_management.py perf(providers): invalidate cache on oauth credential changes 2026-07-13 19:58:41 +08:00
test_provider_mismatch.py
test_provider_quota_status.py
test_provider_sort_order.py
test_pure_prose_turn_not_worklog.py
test_pwa_manifest_csp.py
test_pwa_manifest_sw.py
test_pwa_notification_controls.py
test_pwa_sidebar_swipe.py
test_pycache_purge.py
test_pytest_config_isolation.py
test_pytest_execv_guard.py
test_pytest_state_isolation.py
test_quota_chip_settings_toggle.py
test_quote_entity_mangling.py
test_rate_limit_map_prune.py
test_raw_audio_upload.py Release exp-v0.52.49: dictation preserves composer text (#5895) (#5978) 2026-07-11 20:47:54 -07:00
test_readme_compat_section.py
test_real_steer.py
test_reasoning_chip_btw_fixes.py
test_reasoning_chip_js_behaviour.py Release exp-v0.52.42: ?profile= deep links (#5730) + Russian locale refresh (#5778) (#5953) 2026-07-11 15:58:47 -07:00
test_reasoning_content_replay.py
test_reasoning_effort_model_capabilities.py Release exp-v0.52.40: ACP sessions in sidebar (#5939) + date-stamped Claude 3.0 reasoning fix (#5934) (#5951) 2026-07-11 15:20:41 -07:00
test_reasoning_show_hide.py feat: add max reasoning effort level (salvage of #4627) 2026-07-11 01:13:36 +00:00
test_recovered_journal_context.py
test_regressions.py fix: stop stale agent runtime after source updates 2026-07-16 22:28:35 +08:00
test_remote_terminal_workspace.py
test_renderer_comprehensive.py
test_renderer_js_behaviour.py fix(webui): render MEDIA: tokens inline during smd streaming 2026-07-13 07:41:12 +00:00
test_repair_workspace_user_turns.py
test_request_diagnostics_cache.py
test_resolve_model_provider_free_suffix.py
test_rollback_diff_symlink_disclosure.py
test_rollback_restore_symlink_containment.py
test_route_approvals_extraction.py
test_route_session_list_cache_extraction.py
test_routes_file_api_toctou.py
test_ruff_forward_lint.py
test_run_journal.py
test_run_journal_frontend_static.py Release exp-v0.52.41: dedupe pending prompts across compaction boundary (#5920) (#5952) 2026-07-11 15:26:05 -07:00
test_run_journal_routes.py
test_run_journal_seq_cache.py
test_run_journal_streaming_static.py
test_run_journal_writer_lock_evict.py
test_run_lifecycle_health.py
test_runner_client.py
test_runtime_adapter_seam.py
test_russian_locale.py test(#2147): honor english fallback-owned profile concept copy 2026-07-14 03:33:00 +00:00
test_scheduled_jobs_profile_isolation.py
test_security_redaction.py
test_security_review_fixes.py
test_selected_context_user_render_runtime.py
test_server_port_exclusivity.py
test_service_worker_api_cache.py
test_session_action_menu_focus.py Restore focus from non-button session action menus 2026-07-13 19:24:09 +00:00
test_session_action_menu_regression.py
test_session_active_profile_authorization.py
test_session_attention_badges.py fix(#6100): clear stale gateway approval attention badge (#6117) (#6125) 2026-07-15 22:34:19 -07:00
test_session_attention_sound.py
test_session_batch_select.py
test_session_cache_ownership.py
test_session_channel_option_x.py fix(sessions): clear stale sidebar unread indicator on session visit (salvage of #4946) 2026-07-11 03:32:26 +00:00
test_session_cli_scan_fast_path.py
test_session_copy_link_action.py
test_session_cross_tab_sync.py
test_session_db_sidecar_reconciliation.py
test_session_discoverability_audit.py
test_session_discoverability_invariants.py
test_session_discoverability_repair.py
test_session_display_resolver_no_live_rebuild.py
test_session_duplicate.py
test_session_duplicate_edit.py
test_session_duplicate_fields.py
test_session_endless_scroll.py
test_session_events.py
test_session_events_http_integration.py
test_session_export_html_palette.py
test_session_import_cli_fallback_model.py
test_session_import_cli_sse_refresh.py
test_session_import_workspace_validation.py
test_session_index.py
test_session_index_lock_window.py
test_session_index_parse_bytes.py
test_session_jump_buttons.py
test_session_lineage_collapse.py
test_session_lineage_full_transcript.py test(core): accept new limit kwarg in get_state_db_session_messages stub 2026-07-16 19:47:36 +00:00
test_session_lineage_metadata_api.py feat(#6033): show delegated goal titles for child sessions 2026-07-14 04:01:06 -04:00
test_session_lineage_report.py
test_session_list_long_history_perf.py
test_session_lost_response_regression.py
test_session_message_window_renderable_tail.py
test_session_metadata_cli_lookup.py
test_session_metadata_fast_path.py fix(sessions): clear stale sidebar unread indicator on session visit (salvage of #4946) 2026-07-11 03:32:26 +00:00
test_session_model_resolution_on_load.py
test_session_msg_limit_ceiling.py Release: msg_limit ceiling + row-loss-safe pagination (#6152 + #6154, @rh-id) (#6213) 2026-07-17 20:15:40 -07:00
test_session_ops.py
test_session_public_share.py fix(share): always-on redaction boundary + rebase/UX fixes (gate findings) 2026-07-11 02:06:34 +00:00
test_session_public_share_static.py lint: fix B904 raise-from in share session-resolve + drop unused importlib 2026-07-11 02:42:59 +00:00
test_session_recovery_api.py
test_session_recovery_audit.py
test_session_rename_lifecycle.py
test_session_rotate_url_sync.py
test_session_runtime_ownership_invariants.py
test_session_save_empty_pending_guard.py
test_session_save_mode.py
test_session_search_bfcache_822.py
test_session_sidebar_cache.py fix(cache): keep streaming TTLs above poll cadence 2026-07-15 20:59:59 +00:00
test_session_sidebar_relative_time.py
test_session_sidebar_resilience.py fix(cron): drop stale pre-switch session-list completion marks 2026-07-12 19:20:53 +00:00
test_session_sidecar_repair.py fix(streaming): recover interrupted reasoning 2026-07-18 03:23:45 +08:00
test_session_static_assets.py
test_session_summary_redaction.py
test_session_switch_busy_race.py
test_session_switch_performance.py
test_session_tail_payload.py
test_session_title_regenerate_controls.py
test_session_todo_state_route.py
test_session_touch_actions.py Restore focus from non-button session action menus 2026-07-13 19:24:09 +00:00
test_session_truncate_alignment_performance.py fix: preserve lazy alignment semantics 2026-07-17 15:36:55 -06:00
test_session_truncate_keep_count_validation.py
test_session_unread_dot_on_visit.py fix(sessions): guard viewed-count clear in message-load + derive stream state from target session (gate findings) 2026-07-11 05:39:19 +00:00
test_sessions_search_depth_validation.py
test_sessions_search_profile_scope.py
test_settings_navigation_and_detail_refresh.py
test_shift_enter_send_key.py
test_shutdown_audit_logging.py
test_sidebar_collapse_toggle.py
test_sidebar_completion_dedupe.py
test_sidebar_first_turn_visibility.py
test_sidebar_pin_immediate_reorder.py
test_sidebar_search_highlights.py
test_sidebar_session_partition.py
test_sidebar_tab_order.py
test_sidebar_tab_visibility.py
test_sidebar_tooltips.py
test_sidebar_unassigned_filter.py
test_sienna_skin.py
test_silent_failure_detection.py
test_simplified_tool_calling_setting.py
test_skill_detail_error_guard.py
test_skill_detail_markdown_styling.py
test_skill_save_symlink_guard.py
test_skill_usage.py
test_skills_category_collapse.py
test_skills_toggle.py
test_smd_media_in_stream.py fix(media): preserve scanner prose ownership 2026-07-13 07:41:13 +00:00
test_smooth_text_fade.py
test_soul_memory.py
test_spanish_locale.py test(#2147): honor english fallback-owned profile concept copy 2026-07-14 03:33:00 +00:00
test_sprint1.py
test_sprint2.py
test_sprint3.py
test_sprint4.py
test_sprint5.py
test_sprint6.py
test_sprint7.py
test_sprint8.py
test_sprint9.py
test_sprint10.py
test_sprint11.py
test_sprint12.py
test_sprint13.py
test_sprint14.py
test_sprint15.py
test_sprint16.py
test_sprint17.py
test_sprint19.py
test_sprint20.py
test_sprint20b.py
test_sprint23.py
test_sprint26.py
test_sprint27.py
test_sprint28.py
test_sprint29.py
test_sprint30.py
test_sprint31.py
test_sprint32.py
test_sprint33.py
test_sprint34.py Release exp-v0.52.42: ?profile= deep links (#5730) + Russian locale refresh (#5778) (#5953) 2026-07-11 15:58:47 -07:00
test_sprint35.py
test_sprint36.py
test_sprint37.py
test_sprint38.py
test_sprint39.py
test_sprint40.py
test_sprint40_ui_polish.py harden #5979 round 3 (Codex): lock-free atomic (snapshot,fingerprint) provenance 2026-07-12 05:41:08 +00:00
test_sprint41.py
test_sprint42.py fix(#6108): bound SessionDB retries to transient sqlite contention 2026-07-17 05:42:00 -04:00
test_sprint43.py
test_sprint44.py
test_sprint45.py
test_sprint46.py fix(compression): preserve running job reuse 2026-07-16 22:56:41 +08:00
test_sprint47.py
test_sprint48.py
test_sprint49.py
test_sprint50.py
test_sprint51.py
test_sse_chunked.py
test_sse_error_multi_probe_reconnect.py
test_sse_recovery_scroll_stranding.py
test_stable_assistant_turn_anchor_normalizer.py
test_stable_assistant_turn_anchor_phase0.py
test_stable_assistant_turn_anchor_registry.py test(chat): accept keyed reasoning fallback path 2026-07-15 06:58:02 +08:00
test_stage268_opus_followups.py
test_stage299_opus_fixes.py
test_stage302_config_override_regression.py
test_stage326_composer_draft_validation.py
test_stage326_pending_goal_continuation_race.py
test_stage364_opus_live_sse_event_id.py
test_stale_empty_session_restore.py
test_stale_stream_cleanup.py test: widen fixed-window assertions after busy-reset reorder 2026-07-11 06:06:04 +00:00
test_stale_stream_pending_recovery.py
test_stale_stream_writeback.py
test_stale_user_context_contamination.py
test_start_session_turn_runtime_adapter.py
test_state_db_active_filter.py
test_state_db_backstop_boundary_gate.py fix(routes): gate state.db row backstop on absence of truncation_boundary prefix 2026-07-17 07:19:47 +07:00
test_state_db_read_backstop.py fix(models): add defensive row backstop to display-path state.db message read 2026-07-16 23:40:26 +07:00
test_state_db_readonly_reads_models.py fix(sessions): cascade delegated subagents on parent deletion 2026-07-14 18:10:03 +08:00
test_state_db_worktree_recovery.py
test_static_asset_compression_and_cache.py
test_static_asset_resolver.py
test_static_js_runtime_lint.py
test_static_js_scope_undef.py
test_status_command_card.py
test_stream_end_recovery_gating.py
test_stream_offline_buffer_cap.py
test_stream_offline_gap_recovery.py
test_stream_subscriber_queue_cap.py test(stream): drop unused MagicMock import (ruff F401) 2026-07-17 01:10:05 +00:00
test_streaming_agent_cache_lifecycle.py
test_streaming_cache_ttl_vs_poll.py fix(cache): keep streaming TTLs above poll cadence 2026-07-15 20:59:59 +00:00
test_streaming_done_payload_message_count.py
test_streaming_katex_live_render.py
test_streaming_live_usage_estimate.py
test_streaming_markdown.py
test_streaming_max_tokens_quota.py
test_streaming_race_fix.py
test_streaming_session_sidebar.py
test_streaming_sidebar_scroll.py
test_streaming_todo_state_static.py
test_streaming_writeback_diagnostics.py
test_subpath_frontend_routes.py
test_svg_audio_video_rendering.py fix(media): harden streamed MEDIA rendering 2026-07-13 07:41:13 +00:00
test_symlink_cycle_detection.py
test_tars_scroll_reset_regressions.py
test_terminal_auto_expand_setting.py
test_terminal_fd_leak.py
test_terminal_linux_lifecycle.py
test_terminal_process_cleanup.py
test_terminal_zombie_reaper.py
test_theme_color_meta_bridge.py
test_title_aux_routing.py
test_title_gen_reasoning_extra_gate.py
test_title_sanitization.py
test_tls_aware_probe.py
test_tls_support.py
test_todo_live_frontend_static.py
test_todo_panel_cold_load_static.py
test_todo_state.py
test_todo_state_emission.py
test_tool_call_history_paging.py
test_tool_call_persistence.py
test_tool_card_preview_summary.py
test_tool_limit_terminal_state.py fix tool-limit final answer classification 2026-07-15 19:38:25 +00:00
test_tool_snippet_limit_parity.py
test_topbar_lazy_message_count.py
test_transcript_scroll_invariant.py
test_truncate_session_at_keep.py
test_trusted_header_auth.py Release exp-v0.52.43: trusted-header auth / reverse-proxy SSO (#5568, #3351) (#5956) 2026-07-11 16:34:14 -07:00
test_ttl_cache.py
test_turkish_locale.py test(#2147): honor english fallback-owned profile concept copy 2026-07-14 03:33:00 +00:00
test_turn_duration_display.py
test_turn_journal.py
test_turn_journal_callsite.py
test_turn_journal_lifecycle.py
test_turn_journal_lifecycle_callsite.py
test_ui_card_animation.py
test_ui_tool_call_cleanup.py test(chat): accept keyed reasoning fallback path 2026-07-15 06:58:02 +08:00
test_uiux_docs_theme_contract.py
test_update_apply_ui.py
test_update_banner_fixes.py fix: stop stale agent runtime after source updates 2026-07-16 22:28:35 +08:00
test_update_channels.py
test_update_check_ui.py
test_update_checker.py
test_update_stash_recovery.py
test_updates.py Release exp-v0.52.44: Docker/no-git image update notices (#5733, #2729) (#5958) 2026-07-11 16:46:13 -07:00
test_updates_6088_manual_check.py Release exp: allow manual update check when auto-update is disabled (#6088) + regression test. Thanks @webtecnica. 2026-07-15 20:02:35 +00:00
test_v050253_opus_followups.py
test_v050254_opus_followups.py
test_v050255_opus_followups.py
test_v050257_opus_followups.py
test_v050258_opus_followups.py
test_v050259_sessiondb_fd_leak.py fix(streaming): degrade self-heal SessionDB to None on failed rebuild 2026-07-16 19:14:53 +00:00
test_v050260_docker_invariants.py
test_verdigris_skin.py
test_version_badge.py
test_vietnamese_locale.py test(#2147): honor english fallback-owned profile concept copy 2026-07-14 03:33:00 +00:00
test_voice_transcribe_endpoint.py
test_wakeup_defer_race.py
test_wakeup_model_resolve_hang.py
test_watermark_advance_after_edit.py
test_webhook_project_sessions.py
test_webui_external_refresh_frontend.py Release: msg_limit ceiling + row-loss-safe pagination (#6152 + #6154, @rh-id) (#6213) 2026-07-17 20:15:40 -07:00
test_webui_gateway_chat_backend.py fix(#5940): key pending-turn recovery to exact checkpoints 2026-07-13 03:41:39 +00:00
test_webui_lineage_display_merge.py
test_webui_notes_sources.py
test_webui_platform_hint.py
test_webui_prefill_context.py
test_webui_runtime_diagnostics.py test(diagnostics): add subscriber_dropped_events to diagnostic_snapshot exact-dict assertion 2026-07-16 19:48:08 +00:00
test_webui_session_db_adapter.py
test_webui_state_db_context_reconciliation.py
test_webui_state_db_reconciliation.py perf(webui): skip impossible state-db prefix normalization 2026-07-14 05:38:34 +00:00
test_webui_surface_context.py
test_window_function_collision.py
test_windows_native_support.py
test_wipe_rows0_streaming_unpinned_restore.py
test_workspace_add_quote_strip.py
test_workspace_blank_page_fix.py feat(workspace): opt-in 'start new chat when switching workspace' (#5473) 2026-07-11 03:13:48 +00:00
test_workspace_blocked_roots_macos.py
test_workspace_context_menu_and_rename.py
test_workspace_dir_signature.py
test_workspace_display_prefix.py
test_workspace_files_persist_on_empty_reload.py
test_workspace_git.py
test_workspace_inaccessible_paths.py
test_workspace_panel_persists_on_empty_boot.py Release exp-v0.52.42: ?profile= deep links (#5730) + Russian locale refresh (#5778) (#5953) 2026-07-11 15:58:47 -07:00
test_workspace_panel_session_list.py
test_workspace_preview_preserved_on_stream_done.py
test_workspace_stale_recovery.py
test_workspace_subpath_raw_urls.py
test_workspace_symlink_containment.py
test_workspace_symlink_delete_rename.py
test_workspace_symlink_tree_shape.py
test_workspace_tree_rename.py
test_workspace_upload.py
test_worktree_remove.py fix(worktrees): unlock before remove so WebUI-created worktrees can be reaped 2026-07-13 17:47:58 +00:00
test_xsession_wakeup_misroute.py
test_zeus_skin.py
test_zh_hant_locale.py test(#2147): honor english fallback-owned profile concept copy 2026-07-14 03:33:00 +00:00