HERMES-GIELIE/tests
b3nw 160cd03c18 fix(chat): reset reasoning accumulator per turn and prefer reasoning_content (closes #2565)
Two confirmed bugs in the thinking/reasoning display:

1. reasoningText was initialized once when the SSE stream opened and never
   reset between turns. On the done event, the last assistant message
   received the union of every turn's reasoning. Now reset at both turn
   boundaries: tool (alongside existing liveReasoningText reset) and
   interim_assistant (the other turn boundary where prior reasoning closes).

2. ui.js renderMessages preferred m.reasoning (which could be corrupted by
   bug 1) over m.reasoning_content (the clean per-turn value from the
   backend). The fallback now reads m.reasoning_content || m.reasoning.

Both fixes are needed: bug 2 alone cannot cover providers that stream
reasoning events without populating reasoning_content on the final API
message.

Updated test_streaming_race_fix.py to scope its reconnect-accumulator
guard to the _wireSSE preamble only, since turn-boundary resets inside
event listeners are intentional and correct.

9 new regression tests in test_issue2565_reasoning_accumulation.py.
2026-05-24 04:08:40 +00:00
..
__init__.py
_pytest_port.py
conftest.py feat(workspace): add backend Git operations 2026-05-20 04:51:41 +00:00
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: anchor picker-active-state assertions to global #mainSettings rule 2026-05-20 00:23:01 +00:00
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_agent_context_docs.py docs: move Hermes overview out of agent context root 2026-05-19 23:55:58 -07:00
test_agent_max_turns_parity.py
test_api_timeout.py fix: time out hung browser api requests 2026-05-20 02:41:00 +08:00
test_app_titlebar_restore.py
test_approval_card_layering.py
test_approval_queue.py
test_approval_sse.py
test_approval_unblock.py
test_auth_password_hash_cache.py
test_auth_session_persistence.py
test_auth_sessions.py
test_auto_compression_card.py Stage 387: PR #2600 2026-05-19 22:10:20 +00:00
test_background_tasks.py
test_batch_fixes.py Stamp CHANGELOG for v0.51.119 (Release CQ / stage-batch1 / 3-PR low-risk batch) 2026-05-24 03:26:45 +00:00
test_blockquote_rendering.py
test_bootstrap_discover_agent.py
test_bootstrap_dotenv.py
test_bootstrap_foreground.py
test_bootstrap_python_selection.py
test_bugbatch_apr2026.py
test_byok_model_dropdown.py
test_byte_range_parser.py
test_cancel_interrupt.py
test_cancelled_turn_status.py
test_catppuccin_skin.py
test_chat_panel_sidebar_resync.py fix(chat): preserve session actions after panel resync 2026-05-22 09:25:15 +02:00
test_chinese_locale.py
test_ci_hygiene.py
test_clarify_sse.py
test_clarify_unblock.py fix(clarify): require stable clarify_id and wait for backend ack so stale responses are rejected 2026-05-20 16:35:15 +00:00
test_claude_code_session_import.py
test_cli_only_slash_commands.py
test_cli_session_tool_metadata.py
test_cmd_dropdown_scroll_838.py
test_cmd_idle_fallback.py
test_commands_endpoint.py
test_composer_chip_lightbox.py
test_compress_status_404_fix.py
test_compression_snapshot_runtime_clear.py
test_configurable_pinned_sessions_limit.py fix(session): keep conversation actions menu clickable 2026-05-22 12:21:10 +02:00
test_conftest_network_isolation.py
test_context_message_dedup.py Stage 399: PR #2705 — fix(api): dedupe replayed context_messages so the agent doesn't see duplicates (follow-up to v0.51.96 #2620) 2026-05-21 17:56:43 +00:00
test_credential_pool_providers.py
test_cron_manual_run_persistence.py
test_cron_needs_attention.py
test_cron_no_agent_edit.py
test_cron_refresh_button_835.py
test_cron_run_job_import.py
test_cron_session_title.py
test_cron_toast_notifications.py
test_css_tooltips.py
test_csv_table_rendering.py
test_ctl_bash32_compat.py
test_ctl_script.py
test_custom_provider_display_name.py
test_custom_providers_in_panel.py fix: show config-managed custom providers 2026-05-20 06:27:00 -07:00
test_dashboard_link_ui.py fix(system): allow browser-only dashboard links 2026-05-19 22:47:55 +00:00
test_dashboard_probe.py fix: preserve IPv6 dashboard link brackets 2026-05-19 21:35:10 -04:00
test_default_personality.py feat: new_session() reads display.personality from config as default 2026-05-22 16:13:33 +00:00
test_default_workspace_fallback.py
test_docker_docs_and_readonly.py
test_docker_env_readonly_vars.py
test_docs_gitignore_policy.py
test_early_session_title.py
test_embedded_workspace_terminal.py
test_empty_session_no_disk_write.py
test_excalidraw_inline_embed.py
test_extension_hooks.py
test_firefox_sidebar_scroll_stability.py
test_folder_download.py
test_font_size_setting.py
test_gateway_status_agent_health.py
test_gateway_sync.py fix: align messaging session display counts 2026-05-24 03:55:42 +00:00
test_geist_contrast_skin.py fix: honour skin value in theme command 2026-05-20 00:09:06 +00:00
test_goal_command_webui.py
test_home_route_html_error.py
test_ime_composition.py
test_import_cli_session_lineage.py
test_inflight_purge_missing_sessions.py
test_inflight_send_start_race.py fix: clear stale inflight UI state (closes #2795, squashed from 5 commits) 2026-05-24 04:08:25 +00:00
test_inflight_storage_quota.py fix(chat): rename _inflightStateLimits() to _getInflightStateLimits() to fix v0.51.117 collision 2026-05-22 23:17:00 +00:00
test_inflight_stream_reuse.py
test_insights.py
test_issue341.py
test_issue342.py
test_issue347.py
test_issue357.py
test_issue401.py
test_issue467_yolo_mode_toggle.py
test_issue470.py Fix settled rendering for file markdown links 2026-05-18 22:32:20 -06:00
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_session_list_virtualization.py Stage 397: PR #2688 — fix: resync virtualized sidebar after scroll clamp 2026-05-21 17:14:36 +00:00
test_issue513_wsl_autostart.py
test_issue538_mcp_management.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_issue693_system_health_panel.py
test_issue696_mcp_visibility_panel.py
test_issue697_mcp_tool_inventory.py
test_issue716_agent_heartbeat.py
test_issue734_message_windowing.py Stage 397: PR #2692 — fix(ui): invalidate transcript cache on same-count content changes 2026-05-21 17:14:37 +00:00
test_issue739_652_653.py
test_issue744.py
test_issue749_profile_create_model_picker.py
test_issue765_streaming_persistence.py Stage 399: PR #2705 — fix(api): dedupe replayed context_messages so the agent doesn't see duplicates (follow-up to v0.51.96 #2620) 2026-05-21 17:56:43 +00:00
test_issue781.py
test_issue789.py
test_issue798.py Fix new chats using profile default model 2026-05-20 10:57:04 -06:00
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 perf(webui): keep external refresh metadata cheap 2026-05-19 08:02:43 +00:00
test_issue856_pinned_indicator_layout.py
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
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
test_issue1105_ssrf_custom_providers.py
test_issue1106_custom_providers_models.py
test_issue1112_csp_google_fonts.py
test_issue1116_composer_placeholder.py Fix profile-aware assistant display names 2026-05-19 07:17:11 -06:00
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: allow custom provider settings filter 2026-05-20 09:33:51 -07:00
test_issue1217_transcript_compaction.py fix: dedupe replayed context tail after compression 2026-05-20 23:15:54 +02:00
test_issue1228_model_picker_duplicate_ids.py
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 profile-aware assistant display names 2026-05-19 07:17:11 -06: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
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
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 Fix composer model picker opening lag 2026-05-22 16:58:55 +00:00
test_issue1765_codex_quota.py
test_issue1766_quota_topbar.py
test_issue1771_session_model_switch_sync.py Fix profile-aware assistant display names 2026-05-19 07:17:11 -06:00
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 Stage 397: PR #2684 — fix: repair stale Codex OpenAI slash-qualified model state 2026-05-21 17:13:56 +00:00
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_issue1908_docker_hardening.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
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 fix(compression): ignore tool output for compaction cards 2026-05-24 03:55:42 +00:00
test_issue2031_cron_once_visibility.py
test_issue2057_worktree_lifecycle.py
test_issue2057_worktree_status.py
test_issue2057_worktree_ui_static.py
test_issue2066_stale_sidebar_spinner.py
test_issue2098_logs_i18n.py
test_issue2147_profile_workspace_copy.py
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 fix(webui): close sqlite3 connections in handoff-summary path (#2233) 2026-05-22 18:34:06 +08:00
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_issue2386_localstorage_quota.py
test_issue2389_storage_pressure.py
test_issue2399_provider_config_flags.py
test_issue2419_cache_usage_display.py fix: display canonical cache hit percentage 2026-05-19 02:27:12 -06:00
test_issue2428_table_pipe_protection.py
test_issue2453_agent_source_boundary.py
test_issue2454_active_session_spinner.py
test_issue2462_theme_i18n.py feat: add Geist Contrast skin 2026-05-20 00:09:06 +00:00
test_issue2472_fork_from_here_messaging.py fix(session): dedupe messaging transcript timestamps 2026-05-19 19:17:43 -04:00
test_issue2481_selected_text_reply.py
test_issue2508_session_pin_cap.py fix(session): keep conversation actions menu clickable 2026-05-22 12:21:10 +02:00
test_issue2513_custom_provider_remote_models.py
test_issue2518_new_session_inflight.py
test_issue2540_models_endpoint_error.py fix: surface custom provider model endpoint errors 2026-05-20 03:12:33 -07:00
test_issue2542_anonymous_custom_endpoint.py
test_issue2545_xai_oauth_provider.py fix: add Grok OAuth provider catalog support 2026-05-18 19:51:01 -07:00
test_issue2551_project_picker_cache_refresh.py
test_issue2554_workspace_tree_file_indent.py fix: centralize workspace tree toggle width 2026-05-19 01:49:52 -07:00
test_issue2565_reasoning_accumulation.py fix(chat): reset reasoning accumulator per turn and prefer reasoning_content (closes #2565) 2026-05-24 04:08:40 +00:00
test_issue2569_model_provider_picker.py fix: preserve provider for configured model picker selections 2026-05-19 08:05:52 -07:00
test_issue2592_partial_dedupe.py fix: dedupe tool-only partial recovery markers 2026-05-19 11:16:21 -07:00
test_issue2613_render_cache_signature.py Stage 397: PR #2692 — fix(ui): invalidate transcript cache on same-count content changes 2026-05-21 17:14:37 +00:00
test_issue2628_cli_sessions_perf.py fix: keep resumed CLI sessions in sidebar cap 2026-05-20 15:54:44 -07:00
test_issue2661_2629_frontend.py Stage 397: PR #2671 — fix: SSE reconnect jitter + cron run row inline expansion 2026-05-21 17:13:59 +00:00
test_issue2679_hide_suggestions.py Stage 398: PR #2687 — feat: hide suggestions preference (closes #2679) 2026-05-21 17:43:48 +00:00
test_issue2713_streaming_segment_flush.py fix(chat): flush pending render before segment reset at tool/interim boundaries 2026-05-24 04:08:33 +00:00
test_issue2720_bedrock_model_picker.py fix(models): surface bedrock provider in WebUI model picker (#2720) 2026-05-24 03:42:13 +00:00
test_issue_1584_multitab_sse.py
test_issue_1932_goal_hook_unrelated_turns.py
test_issue_code_syntax_highlight.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_kanban_bridge.py
test_kanban_ui_static.py
test_korean_locale.py Fix profile-aware assistant display names 2026-05-19 07:17:11 -06:00
test_language_precedence.py
test_live_models_ttl_cache.py
test_live_tool_callback_events.py fix: avoid duplicate live tool events 2026-05-19 18:41:08 -04:00
test_login_locale.py
test_login_locale_parity.py
test_logs_endpoint.py
test_logs_ui_static.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_metadata_save_wipe_1558.py fix(session): rebuild missing startup index 2026-05-20 23:43:30 +08:00
test_minimax_provider.py
test_mobile_layout.py Stage 397: PR #2706 — fix: tablet hardware keyboard Enter sends (treat iPad with attached keyboard like desktop) 2026-05-21 17:13:52 +00:00
test_mobile_markdown_wrapping.py
test_model_cache_metadata.py
test_model_default_boot_precedence.py Stage 400: PR #2709 — fix(model): prefer profile default model on fresh boot when localStorage has no persisted pick 2026-05-21 22:59:48 +00:00
test_model_picker_badges.py
test_model_picker_escaping.py
test_model_resolver.py
test_model_scope_copy.py
test_model_selection_refresh_persistence.py Fix composer model picker opening lag 2026-05-22 16:58:55 +00:00
test_native_image_attachments.py
test_new_chat_default_model_frontend.py fix(chat): keep restored session model visible on hard refresh 2026-05-22 16:50:17 +00:00
test_norm_model_id_trailing_empty_guard.py
test_notify_on_complete_webui.py
test_nous_portal_routing.py
test_offline_banner.py
test_offline_banner_theme.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_static.py
test_opencode_providers.py
test_orphaned_tool_messages.py
test_parallel_session_switch.py
test_partial_bloat_fix.py Stage 399: PR #2704 — fix(streaming): prevent exponential empty _partial accumulation across reasoning-only cancellations 2026-05-21 17:56:46 +00:00
test_pdf_html_preview.py
test_plugins_panel.py fix(plugins): distinguish exclusive/provider activation in Settings panel 2026-05-20 00:01:02 -04: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_profile_default_workspace_823.py
test_profile_env_isolation.py
test_profile_path_security.py
test_profile_switch_1200.py
test_profile_switch_ux.py Avoid duplicate session list boot animation 2026-05-20 11:03:37 -06:00
test_profile_terminal_env.py
test_project_chip_ui.py
test_provider_cost_history.py
test_provider_management.py
test_provider_mismatch.py Fix new chats using profile default model 2026-05-20 10:57:04 -06:00
test_provider_quota_status.py
test_provider_sort_order.py fix: remove xai from has_key test (CI env has no XAI_API_KEY) 2026-05-22 16:13:46 +00:00
test_pwa_manifest_csp.py
test_pwa_manifest_sw.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_real_steer.py
test_reasoning_chip_btw_fixes.py
test_reasoning_chip_js_behaviour.py
test_reasoning_show_hide.py
test_regressions.py Stage 400: PR #2723 — fix(chat): dedupe uploaded-file optimistic user turns 2026-05-21 22:59:40 +00:00
test_renderer_comprehensive.py
test_renderer_js_behaviour.py
test_repair_workspace_user_turns.py
test_resolve_model_provider_free_suffix.py
test_run_journal.py
test_run_journal_frontend_static.py
test_run_journal_routes.py
test_run_journal_streaming_static.py
test_run_lifecycle_health.py
test_runtime_adapter_seam.py docs(runtime): define runner route gate 2026-05-22 04:08:59 -07:00
test_russian_locale.py
test_scheduled_jobs_profile_isolation.py address session event review 2026-05-20 14:33:36 -06:00
test_security_redaction.py
test_service_worker_api_cache.py
test_session_action_menu_regression.py fix(session): keep conversation actions menu clickable 2026-05-22 12:21:10 +02:00
test_session_batch_select.py
test_session_cli_scan_fast_path.py
test_session_cross_tab_sync.py
test_session_db_sidecar_reconciliation.py
test_session_duplicate.py
test_session_endless_scroll.py
test_session_events.py tighten session refresh invalidation 2026-05-20 14:40:13 -06:00
test_session_events_http_integration.py Stage 393 follow-up: HTTP integration tests for /api/sessions/events (Opus advisor PR #2637) 2026-05-20 22:27:23 +00:00
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_jump_buttons.py
test_session_lineage_collapse.py
test_session_lineage_full_transcript.py
test_session_lineage_metadata_api.py
test_session_lineage_report.py
test_session_lost_response_regression.py fix(session): keep state db replays out of sidecar tail 2026-05-22 16:25:10 +00:00
test_session_metadata_cli_lookup.py
test_session_metadata_fast_path.py Optimize profile switching and session list loading 2026-05-20 08:47:49 -06:00
test_session_model_resolution_on_load.py fix(chat): resolve session model before activating 2026-05-22 16:50:17 +00:00
test_session_ops.py
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_mode.py
test_session_search_bfcache_822.py
test_session_sidebar_relative_time.py
test_session_sidecar_repair.py Stage 400: PR #2721 — fix(session): treat active runs as live during repair (skip restart-stale prune for sessions with live streams) 2026-05-21 22:59:43 +00:00
test_session_static_assets.py
test_session_summary_redaction.py
test_session_tail_payload.py
test_settings_navigation_and_detail_refresh.py
test_sidebar_collapse_toggle.py
test_sidebar_first_turn_visibility.py
test_sidebar_tab_visibility.py Stage-394 follow-up: profile-switch reconciliation + a11y switch role + server-side chat/settings filter 2026-05-20 23:05:19 +00:00
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_skills_category_collapse.py
test_skills_toggle.py feat: add per-skill enable/disable toggle in Skills panel 2026-05-22 19:43:00 +00:00
test_smooth_text_fade.py
test_soul_memory.py
test_spanish_locale.py
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 Stamp CHANGELOG for v0.51.119 (Release CQ / stage-batch1 / 3-PR low-risk batch) 2026-05-24 03:26:45 +00:00
test_sprint23.py
test_sprint26.py
test_sprint27.py
test_sprint28.py
test_sprint29.py
test_sprint30.py feat: make clarify prompt collapsible 2026-05-22 17:45:40 +00:00
test_sprint31.py
test_sprint32.py
test_sprint33.py
test_sprint34.py
test_sprint35.py
test_sprint36.py Fix profile-aware assistant display names 2026-05-19 07:17:11 -06:00
test_sprint37.py
test_sprint38.py
test_sprint39.py
test_sprint40.py
test_sprint40_ui_polish.py Optimize profile switching and session list loading 2026-05-20 08:47:49 -06:00
test_sprint41.py
test_sprint42.py Stage 399: PR #2705 — fix(api): dedupe replayed context_messages so the agent doesn't see duplicates (follow-up to v0.51.96 #2620) 2026-05-21 17:56:43 +00:00
test_sprint43.py
test_sprint44.py
test_sprint45.py
test_sprint46.py
test_sprint47.py
test_sprint48.py
test_sprint49.py
test_sprint50.py
test_sprint51.py
test_stage268_opus_followups.py
test_stage299_opus_fixes.py
test_stage302_config_override_regression.py
test_stage326_composer_draft_validation.py fix(webui): prevent composer draft rollback on refresh 2026-05-19 13:31:12 -06:00
test_stage326_pending_goal_continuation_race.py
test_stage364_opus_live_sse_event_id.py
test_stale_empty_session_restore.py Stamp CHANGELOG for v0.51.119 (Release CQ / stage-batch1 / 3-PR low-risk batch) 2026-05-24 03:26:45 +00:00
test_stale_stream_cleanup.py
test_stale_stream_pending_recovery.py
test_stale_stream_writeback.py
test_state_db_worktree_recovery.py
test_status_command_card.py
test_streaming_katex_live_render.py Stage 400: PR #2710 — fix: render streamed math incrementally (no flash when delta completes a KaTeX expression) 2026-05-21 22:59:46 +00:00
test_streaming_markdown.py fix: preserve settled tool cards after stream completion 2026-05-24 03:03:31 +00:00
test_streaming_max_tokens_quota.py
test_streaming_race_fix.py fix(chat): reset reasoning accumulator per turn and prefer reasoning_content (closes #2565) 2026-05-24 04:08:40 +00:00
test_streaming_session_sidebar.py
test_streaming_sidebar_scroll.py
test_subpath_frontend_routes.py
test_svg_audio_video_rendering.py
test_symlink_cycle_detection.py
test_tars_scroll_reset_regressions.py perf(webui): keep external refresh metadata cheap 2026-05-19 08:02:43 +00:00
test_terminal_process_cleanup.py fix: reap terminal shells on shutdown 2026-05-19 04:57:51 -07:00
test_theme_color_meta_bridge.py
test_title_aux_routing.py fix: forward title generation api key 2026-05-20 14:39:38 -06:00
test_title_sanitization.py
test_tls_support.py
test_tool_call_persistence.py
test_ttl_cache.py
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 fix: keep compact tool activity grouped 2026-05-20 08:29:46 -06:00
test_uiux_docs_theme_contract.py
test_update_apply_ui.py
test_update_banner_fixes.py fix(updates): pass --force to git fetch --tags to recover from remote re-tags 2026-05-22 17:25:54 +00:00
test_update_check_ui.py Stage 400: PR #2717 — fix: surface update check fetch errors instead of failing silently 2026-05-21 22:59:54 +00:00
test_update_checker.py Stage 400: PR #2719 — fix: apply release update target (clear sessionStorage check-once stamp + force banner re-evaluation on user click) 2026-05-21 22:59:56 +00:00
test_updates.py fix(updates): fall through to branch check when HEAD is past latest tag 2026-05-24 03:42:13 +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
test_v050260_docker_invariants.py
test_version_badge.py
test_voice_transcribe_endpoint.py
test_webui_external_refresh_frontend.py tighten session refresh invalidation 2026-05-20 14:40:13 -06:00
test_webui_platform_hint.py
test_webui_runtime_diagnostics.py feat(health): expose WebUI stream runtime diagnostics 2026-05-19 22:48:10 +00:00
test_webui_state_db_context_reconciliation.py fix(webui): preserve reconciled session invariants 2026-05-19 08:02:43 +00:00
test_webui_state_db_reconciliation.py fix: drop stale cached user tail after saved assistant 2026-05-24 04:06:45 +00:00
test_window_function_collision.py fix(chat): rename _inflightStateLimits() to _getInflightStateLimits() to fix v0.51.117 collision 2026-05-22 23:17:00 +00:00
test_workspace_add_quote_strip.py
test_workspace_blank_page_fix.py
test_workspace_blocked_roots_macos.py
test_workspace_context_menu_and_rename.py
test_workspace_dir_signature.py feat(workspace): add backend Git operations 2026-05-20 04:51:41 +00:00
test_workspace_display_prefix.py
test_workspace_files_persist_on_empty_reload.py
test_workspace_git.py Stage-394 test fix: set destructive env in test_git_commit_route_rejects_active_stream 2026-05-21 00:06:53 +00:00
test_workspace_inaccessible_paths.py
test_workspace_panel_persists_on_empty_boot.py
test_workspace_panel_session_list.py
test_workspace_stale_recovery.py
test_workspace_tree_rename.py
test_worktree_remove.py