HERMES-GIELIE/tests
nesquena-hermes bb5aa02523
Release v0.51.224 — Release GR (stage-p6 — profile tool/skill config authoritative on streaming worker #3294) (#3456)
* fix: respect profile toolset/skill config on WebUI streaming worker (#3294)

The streaming agent runs on a detached worker thread that does not inherit
the per-request thread-local profile context (set from the hermes_profile
cookie on the HTTP handler thread). On that worker, the ambient get_config()
resolves via get_active_profile_name() which falls back to the process-global
_active_profile (usually 'default'). A session under a non-default profile
with an empty platform_toolsets.cli therefore loaded the DEFAULT profile's
full toolset list, inflating a tools-disabled profile's prompt from ~400 to
~15K input tokens.

Add api.config.get_config_for_profile_home() — a race-free direct disk read
of an explicit profile home's config.yaml (no shared-cache mutation), which
defers to get_config() when the requested home matches the ambient path so
in-memory test overrides are preserved. The streaming worker now resolves
_cfg from the session's own profile home, fixing toolsets, prefill context,
and fallback chains in one place.

Closes #3294

Co-authored-by: gottipx <gottipx@users.noreply.github.com>

* docs(changelog): v0.51.224 — #3294 profile toolset config (dropped #3405 to hold per Codex stale-model-repair finding)

---------

Co-authored-by: nesquena-hermes <[email protected]>
Co-authored-by: gottipx <gottipx@users.noreply.github.com>
2026-06-02 18:33:22 -07:00
..
__init__.py
_pytest_port.py
browser_smoke.py ci: add headless browser smoke test (runtime brick-class gate) (#3231) 2026-05-30 18:48:25 -07:00
conftest.py fix(#3104): correct dedup filename reporting + make zip-bomb cap testable 2026-06-02 00:41:11 +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 Fix workspace open in browser inline sandbox 2026-06-01 04:42:05 +00:00
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 fix(#3337): prevent Prism highlight leaking across workspace files 2026-06-01 21:56:26 +00:00
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 feat: add distinct attention request sound 2026-05-30 19:40:40 +00:00
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_2735_open_in_vscode.py
test_agent_context_docs.py
test_agent_health_pid_path_fallback.py
test_agent_health_remote.py fix: probe remote gateway via HERMES_API_URL before local fallback (#3312) 2026-06-01 19:38:00 +00:00
test_agent_max_turns_parity.py
test_api_timeout.py fix: harden webui passive performance paths 2026-05-30 01:39:54 +00:00
test_app_titlebar_restore.py
test_approval_card_layering.py
test_approval_queue.py
test_approval_sse.py
test_approval_unblock.py
test_attention_session_events.py feat: add distinct attention request sound 2026-05-30 19:40:40 +00:00
test_auth_password_hash_cache.py
test_auth_session_persistence.py ci: run test suite in 3 parallel shards + make suite shard-safe 2026-05-30 21:09:25 +00:00
test_auth_sessions.py
test_auto_compression_card.py
test_auxiliary_models_settings.py
test_background_tasks.py
test_batch_fixes.py
test_blockquote_rendering.py
test_bootstrap_discover_agent.py
test_bootstrap_dotenv.py
test_bootstrap_foreground.py
test_bootstrap_python_selection.py
test_broken_pipe_cascade.py fix(helpers): use ssl.SSLError instead of broad OSError in disconnect tuple 2026-05-31 01:56:39 +00:00
test_bugbatch_apr2026.py
test_bugfix_sweep.py fix: harden WebUI bugfix sweep 2026-05-28 13:38:50 -04:00
test_byok_model_dropdown.py
test_byte_range_parser.py
test_cancel_interrupt.py
test_cancelled_turn_status.py
test_canonical_session_resolution_rfc.py
test_catppuccin_skin.py
test_chat_panel_sidebar_resync.py
test_chat_start_provider_fallback.py Fix browser chat provider fallback on fresh sessions 2026-05-28 11:10:14 -07:00
test_chat_upload_attachment_paths.py fix: hide attachment path markers in chat UI 2026-06-01 05:31:53 +00:00
test_chinese_locale.py
test_ci_hygiene.py
test_clarify_sse.py
test_clarify_unblock.py
test_claude_code_session_import.py fix: let cron sessions bypass CLI_VISIBLE_SESSION_LIMIT for project chips (#3172) 2026-05-30 23:25:41 +08:00
test_cli_only_slash_commands.py
test_cli_session_tool_metadata.py
test_client_event_diagnostics.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 fix: exclude hidden snapshots from pin quota 2026-05-30 11:48:57 +02:00
test_configurable_pinned_sessions_limit.py
test_conftest_network_isolation.py
test_context_message_dedup.py fix(sidebar): keep newer continuation visible over older snapshot 2026-05-28 13:38:06 -06:00
test_contract_review_gate.py
test_credential_pool_providers.py
test_cron_delivery_options.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(ctl): allow dotenv-free launches 2026-06-01 04:42:05 +00:00
test_custom_provider_bare_model_reasoning.py fix: generalized reasoning capability heuristics for custom providers (#3377) 2026-06-02 17:11:32 +00:00
test_custom_provider_display_name.py
test_custom_providers_in_panel.py
test_dashboard_link_ui.py
test_dashboard_probe.py
test_default_personality.py
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_partial_activity_restore.py
test_empty_session_no_disk_write.py
test_excalidraw_inline_embed.py
test_extension_hooks.py
test_file_manager_external_session.py fix: file manager falls back to state.db for external Telegram/CLI sessions (#3280) 2026-06-01 17:19:48 +00:00
test_firefox_sidebar_scroll_stability.py fix: harden webui passive performance paths 2026-05-30 01:39:54 +00:00
test_folder_download.py
test_font_size_setting.py
test_gateway_sse_reconnect_dedupe.py fix: suppress phantom sidebar refresh on gateway SSE reconnect 2026-05-31 18:26:30 +00:00
test_gateway_status_agent_health.py
test_gateway_sync.py fix: keep agent cron sessions in project chips 2026-05-30 02:18:51 +00:00
test_geist_contrast_skin.py
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
test_inflight_storage_quota.py
test_inflight_stream_reuse.py
test_insights.py fix(insights): exclude source='webui' from CLI session pass + add tests 2026-05-30 18:58:20 +00:00
test_issue341.py
test_issue342.py
test_issue347.py stage-batch11: #3330 pinned-scroll + #3311 inline-math currency 2026-06-01 19:08:30 +00:00
test_issue357.py
test_issue401.py fix: avoid double rebasing legacy tool cards 2026-05-30 16:10:52 +02:00
test_issue467_yolo_mode_toggle.py
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_session_list_virtualization.py
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 i18n: decode and complete zh-Hant locale strings (#3414, @PeterDaveHello) 2026-06-02 20:01:53 +00:00
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 feat: sticky manual unpin for streaming chat scroll (#3343) 2026-06-01 20:34:06 +00:00
test_issue693_system_health_panel.py ci: run test suite in 3 parallel shards + make suite shard-safe 2026-05-30 21:09:25 +00:00
test_issue696_mcp_visibility_panel.py
test_issue697_mcp_tool_inventory.py
test_issue716_agent_heartbeat.py Merge PR #3039 2026-05-28 18:27:03 +00: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 fix: guard session cache ownership across compression 2026-05-30 18:19:31 +02:00
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 workspace preview closing on chat stream done 2026-05-31 16:53:57 +00:00
test_issue856_pinned_indicator_layout.py feat: surface session attention badges 2026-05-30 19:18:13 +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
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
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 fix(models): preserve provider-qualified model selections in the picker 2026-05-29 10:24:44 -07:00
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
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
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 fix(#3331): gate findings — empty-session profile retag, root-alias project filter, create-profile validation 2026-06-01 21:05:32 +00:00
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: update loadSession source-assertion tests for #3326 conditional renderMessages arg 2026-06-02 19:11:15 +00:00
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 feat: sticky manual unpin for streaming chat scroll (#3343) 2026-06-01 20:34:06 +00:00
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 fix(security #3234): enumerate named-profile roots, drop wholesale profiles deny (Codex review #8) 2026-05-31 03:48:59 +00:00
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 docs: v0.51.201 release header + fix #3336 tool-card diff test extraction list 2026-06-01 19:54:45 +00:00
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_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: update sessions.js string-assertions for #3313 carry-forward rename 2026-06-01 19:46:36 +00:00
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
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
test_issue2237_docker_chown_git_objects.py
test_issue2245_mixed_case_provider_models.py
test_issue2246_question_jump.py test: update #2246 question-jump assertions for #3114 (button on all assistant msgs with resolvable target) 2026-05-30 00:10:29 +00:00
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: update loadSession source-assertion tests for #3326 conditional renderMessages arg 2026-06-02 19:11:15 +00:00
test_issue2351_cli_session_source_filter.py
test_issue2386_localstorage_quota.py
test_issue2389_storage_pressure.py
test_issue2399_provider_config_flags.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 Merge remote-tracking branch 'origin/master' into fix/session-list-touch-actions 2026-05-28 13:03:55 -06:00
test_issue2462_theme_i18n.py
test_issue2472_fork_from_here_messaging.py fix(session): preserve sidecar order in display merges 2026-05-28 19:58:17 +02:00
test_issue2481_selected_text_reply.py
test_issue2508_session_pin_cap.py Release v0.51.222 — Release GP (stage-p4 — backend bugfix batch: title language drift #3293 + orphaned CLI sidecar prune #3238 + pin-quota lineage #3288) (#3452) 2026-06-02 17:35:18 -07:00
test_issue2513_custom_provider_remote_models.py
test_issue2518_new_session_inflight.py
test_issue2540_models_endpoint_error.py
test_issue2542_anonymous_custom_endpoint.py
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_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 Release v0.51.222 — Release GP (stage-p4 — backend bugfix batch: title language drift #3293 + orphaned CLI sidecar prune #3238 + pin-quota lineage #3288) (#3452) 2026-06-02 17:35:18 -07:00
test_issue2823_large_markdown_preview.py test: pin #3250 scroll-intent window + fix #2823 openFile anchor for #3262 2026-05-31 16:54:55 +00:00
test_issue2840_windows_hermes_home_defaults.py
test_issue2848_checkpoint_profile.py
test_issue2863_session_index_prime.py
test_issue2867_tool_output_visual_distinction.py fix: restore legacy tool card visuals 2026-05-30 10:31:35 +02:00
test_issue2881_workspace_chat_links.py
test_issue2883_clarify_padding.py
test_issue2901_csp_connect_extra.py
test_issue2905_windows_home_migration_safety.py fix(profiles): avoid config import cycle 2026-06-01 05:05:16 +00:00
test_issue2914_truncation_watermark.py fix(#3102): don't let persisted watermark permanently drop future state.db recovery rows 2026-06-01 18:14:48 +00:00
test_issue2931_edge_tts_endpoint.py test(#2931): pin auth OFF in the endpoint tests for suite-order determinism 2026-06-02 02:04:56 +00:00
test_issue2965_streaming_sessiondb_profile_home.py
test_issue2998_panel_primary_contrast.py
test_issue3012_3006_docker_docs.py docs: clarify docker host and home paths 2026-05-30 03:35:24 +00:00
test_issue3019_cron_project_sessions.py fix: keep agent cron sessions in project chips 2026-05-30 02:18:51 +00:00
test_issue3023_safe_session_id_validators.py
test_issue3040_reattach_focus_gate.py
test_issue3066_disabled_read_profile.py fix: read skills disabled state from active profile 2026-05-29 23:21:48 +00:00
test_issue3066_profile_skill_disabled_state.py test(#3066): mark profile-skill tests requires_agent_modules (skill_utils import unavailable in CI) 2026-05-30 03:51:13 +00:00
test_issue3103_sse_no_connection_close.py test: pin #3103 — SSE event-stream handlers must not emit Connection: close (keep it for finite responses) 2026-05-30 02:08:37 +00:00
test_issue3145_opencode_shared_runtime_key.py fix: honor shared OpenCode key at runtime 2026-05-30 02:18:06 +00:00
test_issue3162_ensure_messages_loaded.py test: update loadSession source-assertion tests for #3326 conditional renderMessages arg 2026-06-02 19:11:15 +00:00
test_issue3172_cron_session_limit.py fix: let cron sessions bypass CLI_VISIBLE_SESSION_LIMIT for project chips (#3172) 2026-05-30 23:25:41 +08:00
test_issue3194_gateway_configured_banner.py fix: apply Opus+Codex gate findings — stale-stopped not configured (#1944), narrow #2905 markers, scope except 2026-05-31 19:12:30 +00:00
test_issue3238_orphaned_cli_sidecar_prune.py Release v0.51.222 — Release GP (stage-p4 — backend bugfix batch: title language drift #3293 + orphaned CLI sidecar prune #3238 + pin-quota lineage #3288) (#3452) 2026-06-02 17:35:18 -07:00
test_issue3242_3214_i18n_tooltips.py fix: localize WebUI tooltip quick wins 2026-05-31 18:26:31 +00:00
test_issue3250_upward_scroll_intent_window.py feat: sticky manual unpin for streaming chat scroll (#3343) 2026-06-01 20:34:06 +00:00
test_issue3256_context_length_default_only_guard.py fix(#3263): provider-compatible default match — reject same-bare-name on different providers (Codex over-match MUST-FIX) 2026-06-01 01:19:49 +00:00
test_issue3262_artifact_path_canonicalization.py fix: canonicalize ./ and ~/ prefixes in _normalizeArtifactPath (#3262) 2026-05-31 17:03:07 +00:00
test_issue3283_profiles_config_import_order.py fix(profiles): avoid config import cycle 2026-06-01 05:05:16 +00:00
test_issue3293_title_language_drift.py Release v0.51.222 — Release GP (stage-p4 — backend bugfix batch: title language drift #3293 + orphaned CLI sidecar prune #3238 + pin-quota lineage #3288) (#3452) 2026-06-02 17:35:18 -07:00
test_issue3294_profile_toolset_scoping.py Release v0.51.224 — Release GR (stage-p6 — profile tool/skill config authoritative on streaming worker #3294) (#3456) 2026-06-02 18:33:22 -07:00
test_issue3306_loadsession_carry_forward.py fix: preserve ephemeral turn fields when loadSession force-reloads (#3313) 2026-06-01 19:38:00 +00:00
test_issue3319_pinned_scroll_jump.py stage-batch11: #3330 pinned-scroll + #3311 inline-math currency 2026-06-01 19:08:30 +00:00
test_issue3329_artifact_tool_metadata_guard.py fix(artifacts): guard malformed tool_calls entries in collectSessionArtifacts (#3329) 2026-06-01 17:27:02 +00:00
test_issue3337_workspace_preview_highlight.py fix: highlight extensionless workspace code files 2026-06-02 05:08:30 +00:00
test_issue3346_legacy_dedup.py fix: deduplicate legacy messages in merge_session_messages_append_only (#3393, @thanhtoantnt) 2026-06-02 19:20:23 +00:00
test_issue3360_multi_slash_model_collision.py fix: model picker snaps to wrong model with multi-slash IDs (#3360) 2026-06-02 05:08:30 +00:00
test_issue3429_uri_scheme_model_ids.py fix(config): extend #3429 URI-scheme fix to backend normalization + model-key matching (#3436, @b3nw) 2026-06-02 21:04:02 +00:00
test_issue3429_uri_scheme_model_label.py fix(ui): #3429 round-2 — never fall back to authority or placeholder (Codex MUST-FIX) 2026-06-02 20:49:29 +00:00
test_issue_1584_multitab_sse.py
test_issue_1932_goal_hook_unrelated_turns.py
test_issue_code_syntax_highlight.py
test_issue_progress_echo_dedupe.py
test_issue_t16551f61_auth_token_churn_fingerprint.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_jsyaml_vendored_assets.py
test_kanban_bridge.py
test_kanban_ui_static.py
test_katex_streaming.py
test_katex_vendored_assets.py
test_korean_locale.py
test_language_precedence.py
test_live_activity_timeline.py fix: harden webui passive performance paths 2026-05-30 01:39:54 +00:00
test_live_models_ttl_cache.py
test_live_stream_ux.py test: drop unused 're' import in test_live_stream_ux (ruff F401) 2026-06-01 20:21:40 +00: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_markdown_table_cell_spacing.py
test_mcp_server.py
test_mcp_tools_list_overflow.py
test_media_inline.py iterate(stage-hi1): Nathan UX feedback — #3220 clean image+hover-download, #3337 uniform code bg, #3223 menu clip fix 2026-06-01 22:48:01 +00:00
test_memory_session_lifecycle_generation.py fix: close evicted agents from WebUI cache 2026-05-30 10:43:13 +02:00
test_message_timestamp_stamping.py fix(session): preserve subsecond message timestamp order 2026-05-28 19:58:18 +02:00
test_metadata_save_wipe_1558.py
test_minimax_provider.py Release v0.51.223 — Release GQ (stage-p5 — openai-api first-class picker provider #3443 + MiniMax-M3 #3374) (#3453) 2026-06-02 18:08:01 -07:00
test_mobile_layout.py test: make .send-btn / .app-titlebar global-selector finders skin-variant-aware (#3164 Neon uses :root.dark[data-skin=]) 2026-05-30 04:32:18 +00:00
test_mobile_markdown_wrapping.py
test_model_cache_metadata.py
test_model_default_boot_precedence.py
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
test_models_dev_reasoning.py
test_native_image_attachments.py
test_new_chat_default_model_frontend.py
test_norm_model_id_trailing_empty_guard.py fix: model picker snaps to wrong model with multi-slash IDs (#3360) 2026-06-02 05:08:30 +00:00
test_notify_on_complete_webui.py
test_nous_portal_routing.py
test_numpad_enter_submit.py fix: submit composer on numpad enter 2026-05-29 13:00:15 +08:00
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 ci: run test suite in 3 parallel shards + make suite shard-safe 2026-05-30 21:09:25 +00:00
test_onboarding_network.py
test_onboarding_static.py
test_openai_api_provider_alias.py Release v0.51.223 — Release GQ (stage-p5 — openai-api first-class picker provider #3443 + MiniMax-M3 #3374) (#3453) 2026-06-02 18:08:01 -07:00
test_opencode_providers.py fix: detect shared OpenCode API key 2026-05-29 23:22:15 +00:00
test_orphaned_tool_messages.py
test_parallel_session_switch.py test: update loadSession source-assertion tests for #3326 conditional renderMessages arg 2026-06-02 19:11:15 +00:00
test_partial_bloat_fix.py
test_passkey_auth.py
test_pdf_html_preview.py
test_performance_polling_hardening.py fix: harden webui passive performance paths 2026-05-30 01:39:54 +00:00
test_pin_limit_lineage_visibility.py Release v0.51.222 — Release GP (stage-p4 — backend bugfix batch: title language drift #3293 + orphaned CLI sidecar prune #3238 + pin-quota lineage #3288) (#3452) 2026-06-02 17:35:18 -07:00
test_plugins_panel.py fix(#2622): plugin card UX — legible Open button, single badge, visible toggle + reject protocol-relative tab.path 2026-06-02 03:58:02 +00:00
test_pr1318_context_length_fallback.py fix(#3263): init _skip_cc_cl/_cc_cl before compressor block (UnboundLocalError on no-compressor path) + relax brittle #1318 source-assertion 2026-06-01 00:14:13 +00:00
test_pr1339_fallback_providers_list.py
test_pr1341_context_window_persistence.py fix(#3263): apply Codex dual-gate MUST-FIX — recompute persisted stale cap + rescale terminal threshold 2026-06-01 00:09:21 +00:00
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 ci: run test suite in 3 parallel shards + make suite shard-safe 2026-05-30 21:09:25 +00:00
test_profile_path_security.py
test_profile_skills_stats.py stage-batch10: #3327 model-id normalize + #3334 RFC slice doc + #3341 profile skill counts 2026-06-01 18:24:05 +00:00
test_profile_switch_1200.py
test_profile_switch_ux.py
test_profile_terminal_env.py
test_project_chip_ui.py
test_provider_cost_history.py
test_provider_management.py
test_provider_mismatch.py
test_provider_quota_status.py
test_provider_sort_order.py
test_pwa_manifest_csp.py
test_pwa_manifest_sw.py
test_pwa_sidebar_swipe.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_raw_audio_upload.py fix(#3169): pin capture backend at mic start (_activeCaptureMode) — toggle-mid-record safety (Codex review #2) 2026-05-31 04:54:56 +00:00
test_real_steer.py
test_reasoning_chip_btw_fixes.py
test_reasoning_chip_js_behaviour.py
test_reasoning_effort_model_capabilities.py
test_reasoning_show_hide.py fix(reasoning): 推理强度补齐 max 档,与 hermes_constants 对齐 2026-05-29 03:05:02 +08:00
test_regressions.py test: update loadSession source-assertion tests for #3326 conditional renderMessages arg 2026-06-02 19:11:15 +00:00
test_renderer_comprehensive.py
test_renderer_js_behaviour.py fix(security/#3234 + #3219): case-fold deny checks + make bare file:// rewrite code-fence-aware (Codex review #5) 2026-05-31 03:17:10 +00:00
test_repair_workspace_user_turns.py
test_resolve_model_provider_free_suffix.py
test_ruff_forward_lint.py ci: forward-looking ruff lint gate (E9+F+B, new-code-only) (#3275) 2026-05-31 18:26:37 +00:00
test_run_journal.py
test_run_journal_frontend_static.py
test_run_journal_routes.py fix: make SSE replay cursors run-aware 2026-05-30 04:09:20 +00:00
test_run_journal_streaming_static.py
test_run_lifecycle_health.py
test_runner_client.py harden: runner client rejects non-http(s) base_url + no redirect-follow (#3073) 2026-05-31 17:49:26 +00:00
test_runtime_adapter_seam.py stage-batch10: #3327 model-id normalize + #3334 RFC slice doc + #3341 profile skill counts 2026-06-01 18:24:05 +00:00
test_russian_locale.py
test_scheduled_jobs_profile_isolation.py
test_security_redaction.py fix(todos): hydrate cold-load state from session snapshot 2026-06-02 17:33:49 +00:00
test_service_worker_api_cache.py
test_session_action_menu_regression.py Merge remote-tracking branch 'origin/master' into fix/session-list-touch-actions 2026-05-28 13:03:55 -06:00
test_session_attention_badges.py refactor(sessions): simplify attention indicator to a color-coded dot 2026-05-30 19:54:51 +00:00
test_session_attention_sound.py feat: add distinct attention request sound 2026-05-30 19:40:40 +00:00
test_session_batch_select.py
test_session_cache_ownership.py Close evicted cached agents on identity mismatch 2026-05-30 19:25:51 -04:00
test_session_cli_scan_fast_path.py
test_session_copy_link_action.py feat: resolve session links in conversation filter 2026-05-30 19:13:49 +00:00
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_duplicate.py
test_session_duplicate_edit.py fix(session): copy all critical fields on duplicate and branch to prevent state loss 2026-05-30 01:19:50 +00:00
test_session_duplicate_fields.py fix(session): copy all critical fields on duplicate and branch to prevent state loss 2026-05-30 01:19:50 +00:00
test_session_endless_scroll.py
test_session_events.py
test_session_events_http_integration.py
test_session_import_cli_fallback_model.py fix(sidebar): keep newer continuation visible over older snapshot 2026-05-28 13:38:06 -06:00
test_session_import_cli_sse_refresh.py test: update sessions.js string-assertions for #3313 carry-forward rename 2026-06-01 19:46:36 +00:00
test_session_import_workspace_validation.py
test_session_index.py fix: speed up session index metadata refresh 2026-05-29 23:21:48 +00:00
test_session_jump_buttons.py
test_session_lineage_collapse.py feat: resolve session links in conversation filter 2026-05-30 19:13:49 +00:00
test_session_lineage_full_transcript.py
test_session_lineage_metadata_api.py
test_session_lineage_report.py
test_session_lost_response_regression.py fix(helpers): use ssl.SSLError instead of broad OSError in disconnect tuple 2026-05-31 01:56:39 +00:00
test_session_message_window_renderable_tail.py
test_session_metadata_cli_lookup.py
test_session_metadata_fast_path.py
test_session_model_resolution_on_load.py
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 fix: filter interrupted recovery control text from visible transcript (#3321) 2026-06-01 20:07:16 +00:00
test_session_runtime_ownership_invariants.py fix: preserve clarify fallback ownership 2026-05-28 08:35:26 -04:00
test_session_save_mode.py
test_session_search_bfcache_822.py
test_session_sidebar_relative_time.py
test_session_sidecar_repair.py
test_session_static_assets.py
test_session_summary_redaction.py test: keep redaction fixture visible in session index 2026-05-28 09:52:42 +02:00
test_session_tail_payload.py fix: avoid double rebasing legacy tool cards 2026-05-30 16:10:52 +02:00
test_session_title_regenerate_controls.py feat: add manual session title regeneration (#3223, @AJV20) 2026-06-01 21:39:51 +00:00
test_session_todo_state_route.py fix(todos): hydrate cold-load state from session snapshot 2026-06-02 17:33:49 +00:00
test_session_touch_actions.py Merge remote-tracking branch 'origin/master' into fix/session-list-touch-actions 2026-05-28 13:03:55 -06:00
test_settings_navigation_and_detail_refresh.py
test_shutdown_audit_logging.py fix: log WebUI shutdown diagnostics 2026-05-28 23:22:31 +02:00
test_sidebar_collapse_toggle.py
test_sidebar_completion_dedupe.py fix: dedupe sidebar completion session ids 2026-05-30 18:19:34 +02:00
test_sidebar_first_turn_visibility.py fix: show cron sessions in project filter 2026-05-28 08:10:15 -04:00
test_sidebar_search_highlights.py fix: scope conversation filter clear search CSS 2026-05-30 00:52:29 +00:00
test_sidebar_tab_visibility.py
test_sidebar_tooltips.py fix: localize WebUI tooltip quick wins 2026-05-31 18:26:31 +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_skill_detail_markdown_styling.py Fix skills detail markdown styling with preview-md wrapper 2026-05-31 23:02:23 +00:00
test_skill_usage.py
test_skills_category_collapse.py
test_skills_toggle.py
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 fix: preserve tilde workspace suggestions 2026-05-30 11:35:05 +02:00
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: make .send-btn / .app-titlebar global-selector finders skin-variant-aware (#3164 Neon uses :root.dark[data-skin=]) 2026-05-30 04:32:18 +00:00
test_sprint23.py
test_sprint26.py
test_sprint27.py
test_sprint28.py
test_sprint29.py
test_sprint30.py fix: distinguish identical clarify prompts by id 2026-05-31 14:12:15 +09:00
test_sprint31.py test: update _write_endpoint_to_config tests for api_key→.env migration 2026-05-28 16:07:13 +08:00
test_sprint32.py
test_sprint33.py
test_sprint34.py
test_sprint35.py
test_sprint36.py
test_sprint37.py
test_sprint38.py
test_sprint39.py
test_sprint40.py
test_sprint40_ui_polish.py
test_sprint41.py
test_sprint42.py
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: harden webui passive performance paths 2026-05-30 01:39:54 +00:00
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_stale_stream_pending_recovery.py
test_stale_stream_writeback.py fix: avoid interruption marker for completed journal runs 2026-05-28 15:19:09 +02:00
test_state_db_worktree_recovery.py
test_static_asset_compression_and_cache.py
test_static_js_runtime_lint.py fix(#3162): const→let in _ensureMessagesLoaded (brick-class mobile TypeError) + ESLint runtime-error guard 2026-05-30 03:24:41 +00:00
test_status_command_card.py
test_streaming_agent_cache_lifecycle.py test(#3218): extend cache-eviction lock-discipline guard to the self-heal site (Opus NIT) 2026-05-31 00:26:59 +00:00
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 absorb #3201: set _streamFinalized immediately in SSE done handler (closes #3195) 2026-05-31 00:07:39 +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 Release v0.51.221 — Release GO (stage-p3e — block all workspace symlink escapes + portable TOCTOU hardening [security]) (#3398) (#3451) 2026-06-02 16:56:30 -07:00
test_tars_scroll_reset_regressions.py feat: sticky manual unpin for streaming chat scroll (#3343) 2026-06-01 20:34:06 +00:00
test_terminal_linux_lifecycle.py
test_terminal_process_cleanup.py test: skip terminal cleanup collection on non-posix 2026-05-31 04:33:11 +00:00
test_theme_color_meta_bridge.py
test_title_aux_routing.py fix: strip @provider: prefix from auxiliary title_generation model id (#3430, @pamnard) 2026-06-02 21:14:49 +00:00
test_title_sanitization.py
test_tls_support.py
test_todo_panel_cold_load_static.py fix(todos): hydrate cold-load state from session snapshot 2026-06-02 17:33:49 +00:00
test_todo_state.py fix(todos): hydrate cold-load state from session snapshot 2026-06-02 17:33:49 +00:00
test_tool_call_history_paging.py test: update sessions.js string-assertions for #3313 carry-forward rename 2026-06-01 19:46:36 +00:00
test_tool_call_persistence.py
test_tool_card_preview_summary.py fix(#3267): harden collapsed tool-preview secret filter (Codex gate MUST-FIX) 2026-05-31 19:21:15 +00:00
test_tool_snippet_limit_parity.py Add regression test for JS/Python snippet limit parity 2026-05-29 16:12:05 +08:00
test_ttl_cache.py
test_turkish_locale.py
test_turn_duration_display.py
test_turn_journal.py
test_turn_journal_callsite.py
test_turn_journal_lifecycle.py fix: handle Windows media and turn journal edge cases 2026-05-30 11:15:35 +02:00
test_turn_journal_lifecycle_callsite.py
test_ui_card_animation.py
test_ui_tool_call_cleanup.py
test_uiux_docs_theme_contract.py
test_update_apply_ui.py
test_update_banner_fixes.py fix(updates): fall through when release tag is not ff-reachable 2026-05-31 16:18:06 +00:00
test_update_check_ui.py
test_update_checker.py refine swipe action reveal timing 2026-05-28 12:47:55 -06:00
test_updates.py fix(updates): fall through when release tag is not ff-reachable 2026-05-31 16:18:06 +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: close evicted agents from WebUI cache 2026-05-30 10:43:13 +02:00
test_v050260_docker_invariants.py
test_version_badge.py fix: hash dirty WebUI dev builds 2026-05-30 11:25:33 +02:00
test_voice_transcribe_endpoint.py
test_webui_external_refresh_frontend.py fix: preserve loaded transcript width on same-session external refresh (#3326, @viraatdas) 2026-06-02 18:53:12 +00:00
test_webui_gateway_chat_backend.py fix(gateway): carry WebUI delivery context on gateway-backed path too (Codex MUST-FIX on #3324) 2026-06-02 19:42:14 +00:00
test_webui_notes_sources.py fix(#3210 review): convert bare urlopen TimeoutError to ValueError in _joplin_api_get 2026-05-31 01:57:29 +00:00
test_webui_platform_hint.py
test_webui_prefill_context.py test: rewrite gateway-like-metadata test for #3324 system-prompt relocation (Opus MUST-FIX) 2026-06-02 19:43:26 +00:00
test_webui_runtime_diagnostics.py
test_webui_state_db_context_reconciliation.py
test_webui_state_db_reconciliation.py
test_webui_surface_context.py fix(streaming): inject WebUI delivery context via system prompt, not prefill user message (#3324, @aether-agent) 2026-06-02 19:36:25 +00:00
test_window_function_collision.py
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
test_workspace_display_prefix.py fix: hide attachment path markers in chat UI 2026-06-01 05:31:53 +00:00
test_workspace_files_persist_on_empty_reload.py
test_workspace_git.py Merge remote-tracking branch 'origin/master' into HEAD 2026-05-28 14:50:33 -04:00
test_workspace_inaccessible_paths.py
test_workspace_panel_persists_on_empty_boot.py
test_workspace_panel_session_list.py feat: surface session attention badges 2026-05-30 19:18:13 +00:00
test_workspace_preview_preserved_on_stream_done.py Reload open workspace preview when agent mutates that file 2026-05-31 16:54:22 +00:00
test_workspace_stale_recovery.py
test_workspace_symlink_containment.py Release v0.51.221 — Release GO (stage-p3e — block all workspace symlink escapes + portable TOCTOU hardening [security]) (#3398) (#3451) 2026-06-02 16:56:30 -07:00
test_workspace_tree_rename.py
test_workspace_upload.py Release v0.51.221 — Release GO (stage-p3e — block all workspace symlink escapes + portable TOCTOU hardening [security]) (#3398) (#3451) 2026-06-02 16:56:30 -07:00
test_worktree_remove.py
test_zh_hant_locale.py i18n: decode and complete zh-Hant locale strings (#3414, @PeterDaveHello) 2026-06-02 20:01:53 +00:00