hermes-bsd/tests/gateway
fayenix d6c53dcdcb fix(gateway): stop per-turn agent-cache eviction from model + message_id signature churn
Two independent bugs evicted the cached gateway AIAgent on every turn,
preventing the prompt cache from ever warming:

1. Model normalization mismatch: the post-run fallback-eviction check
   compared _agent.model (stripped in AIAgent.__init__) against the raw
   _resolve_gateway_model() config string. For vendor-prefixed config on
   native providers (e.g. 'deepseek/deepseek-v4-pro' vs 'deepseek-v4-pro')
   this was always unequal, so the agent was evicted after every
   successful run. Normalize _cfg_model the same way (skip aggregators).

2. Discord triggering message_id leaked into the cached system prompt via
   build_session_context_prompt()'s Discord IDs block. message_id changes
   every turn, so the agent-cache signature (computed from the ephemeral
   prompt) changed every Discord turn -> rebuild every message. The id is
   now injected per-turn into the user message (where per-turn content
   belongs and does not touch the cache signature); the cached IDs block
   carries a static pointer to it, preserving reply/react/pin via the
   discord tools.

Adapted from #28846. Bug #1 fix is the contributor's; bug #2 reworked to
be non-destructive (keeps the triggering-id capability instead of deleting
it). Redundant auto-reset eviction (already on main via #9893/#48031) and
the wrong-premise reset_context_note plumbing from the original PR were
dropped.

Co-authored-by: Hermes Agent <hermes@nousresearch.com>
2026-06-30 04:22:41 -07:00
..
platforms
relay feat(relay): multi-platform-per-agent — list identity, provision-loop, N-hello, per-frame egress (Phase 1.5) (#52830) 2026-06-26 17:32:46 +10:00
__init__.py
_plugin_adapter_loader.py
conftest.py fix(gateway): route SessionDB calls through AsyncSessionDB 2026-06-29 15:51:57 -07:00
feishu_helpers.py
restart_test_helpers.py test(agent,gateway): cover partial-stream recovery and restart helper salvage 2026-06-27 22:03:14 -07:00
test_7100_transient_failure_transcript.py
test_10710_auto_reset_evicts_cached_agent.py test(gateway): pin auto-reset cached-agent eviction (#10710) 2026-06-28 22:35:17 -07:00
test_13121_shutdown_inflight_transcript_flush.py fix(gateway): offload remaining inline agent cleanup off the event loop (#53175) 2026-06-28 02:41:36 -07:00
test_35809_auto_reset_clean_context.py fix(gateway): offload the Telegram topic-recovery helper tree off the loop 2026-06-29 15:51:57 -07:00
test_35994_reset_button_deadlock.py fix(gateway): offload agent cleanup off the event loop in /new reset (#35994) 2026-06-25 00:27:22 +05:30
test_42039_duplicate_user_message.py fix(gateway): dedupe user turns on transient failure (#47237) 2026-06-26 00:11:17 +05:30
test_48031_model_switch_after_auto_reset.py fix(gateway): consume was_auto_reset so /model survives session auto-reset 2026-06-24 19:12:44 +05:30
test_53175_cleanup_off_loop.py fix(gateway): offload remaining inline agent cleanup off the event loop (#53175) 2026-06-28 02:41:36 -07:00
test_active_session_text_merge.py fix(telegram): preserve Bot API update queue on watcher reconnect 2026-06-25 21:29:57 -07:00
test_agent_cache.py fix(gateway): route SessionDB calls through AsyncSessionDB 2026-06-29 15:51:57 -07:00
test_allowed_channels_widening.py
test_allowlist_startup_check.py
test_api_server.py fix(security): wire session-id sanitizer into artifact paths + API boundary 2026-06-29 04:25:45 -07:00
test_api_server_bind_guard.py
test_api_server_jobs.py
test_api_server_multimodal.py
test_api_server_normalize.py
test_api_server_runs.py
test_api_server_toolset.py
test_approval_prompt_redaction.py fix(gateway): redact credentials from approval prompts before sending to clients (#48456) (#50767) 2026-06-22 11:39:45 +00:00
test_approve_deny_commands.py fix(gateway): remove process-global HERMES_SESSION_KEY write that misroutes approval prompts across concurrent sessions 2026-06-27 04:31:37 +05:30
test_async_delivery_capability.py
test_async_session_db.py test(gateway): assert interleaving safety of concurrent offloaded DB calls 2026-06-29 15:51:57 -07:00
test_auth_fallback.py
test_auto_continue.py
test_auto_voice_reply_format.py
test_background_command.py
test_background_process_notifications.py
test_base_topic_sessions.py fix(telegram): preserve Bot API update queue on watcher reconnect 2026-06-25 21:29:57 -07:00
test_bluebubbles.py
test_bounded_adapter_teardown.py fix(gateway): bound adapter teardown awaits on the stop path (#14128) 2026-06-27 19:05:04 -07:00
test_bundles_command.py
test_busy_session_ack.py
test_busy_session_auth_bypass.py
test_cached_agent_max_iterations.py
test_cancel_background_drain.py fix(telegram): preserve Bot API update queue on watcher reconnect 2026-06-25 21:29:57 -07:00
test_cgroup_cleanup.py fix: satisfy ruff encoding + windows-footgun lints for cgroup reaper 2026-06-28 02:05:50 -07:00
test_channel_directory.py
test_clarify_active_session_bypass.py fix: accept typed clarify choice replies 2026-06-28 04:13:19 -07:00
test_clean_shutdown_marker.py fix(gateway): preserve sessions across restarts (#54442) 2026-06-28 15:10:39 -07:00
test_command_bypass_active_session.py fix(telegram): preserve Bot API update queue on watcher reconnect 2026-06-25 21:29:57 -07:00
test_complete_path_at_filter.py
test_compress_command.py fix: use self._session_db directly + add regression test 2026-06-26 00:50:40 +05:30
test_compress_focus.py fix: use self._session_db directly + add regression test 2026-06-26 00:50:40 +05:30
test_compress_plugin_engine.py fix: use self._session_db directly + add regression test 2026-06-26 00:50:40 +05:30
test_compression_concurrent_sessions.py test(compression): pin rotation-fallback tests to in_place=False ahead of default flip 2026-06-25 12:56:05 -07:00
test_compression_failure_session_sync.py
test_compression_session_id_persistence.py
test_config.py feat(gateway): per-platform typing_indicator toggle 2026-06-29 21:12:57 -07:00
test_config_cwd_bridge.py
test_config_driven_access_policy.py
test_config_env_bridge_authority.py
test_cron_fire_webhook.py fix(cron): complete plugins.cron_providers rename in 2 missed test files 2026-06-23 23:39:22 -07:00
test_dead_targets.py fix(gateway): skip confirmed-dead delivery targets (deleted groups, blocked bots) (#55115) 2026-06-29 13:23:29 -07:00
test_debug_command.py
test_dedupe_user_turns.py fix(gateway): dedupe user turns on transient failure (#47237) 2026-06-26 00:11:17 +05:30
test_delivery.py fix(delivery): drop env-var knob, flag all chunking adapters 2026-06-22 05:41:22 -07:00
test_delivery_silence_filter.py
test_destructive_slash_confirm.py
test_dingtalk.py
test_discord_allowed_channels.py
test_discord_allowed_mentions.py
test_discord_attachment_download.py
test_discord_bot_auth_bypass.py fix(telegram): apply bot auth policy to Telegram sources 2026-06-28 00:57:03 -07:00
test_discord_bot_filter.py
test_discord_channel_controls.py
test_discord_channel_prompts.py
test_discord_channel_skills.py
test_discord_clarify_buttons.py
test_discord_component_auth.py fix(discord): check pairing store for component button auth 2026-06-23 23:55:18 -07:00
test_discord_connect.py fix(discord): honor "*" wildcard in DISCORD_ALLOWED_USERS (#22334) 2026-06-27 19:11:30 -07:00
test_discord_document_handling.py
test_discord_double_dispatch.py fix(gateway): prevent double dispatch of Discord messages via thread-starter dedup 2026-06-24 03:25:33 +05:30
test_discord_edit_message_overflow.py fix(discord): split oversized final edits, truncate mid-stream previews (#27881) 2026-06-30 03:49:52 -07:00
test_discord_format.py fix(discord): auto-convert markdown tables to bullet groups 2026-06-27 03:57:24 +05:30
test_discord_free_response.py fix(discord): channel name matching and flush pending sends on shutdown 2026-06-30 02:48:42 -07:00
test_discord_imports.py
test_discord_lazy_install_views.py
test_discord_liveness.py fix(gateway/discord): REST liveness probe to detect zombie clients (#26656) 2026-06-27 19:30:32 -07:00
test_discord_media_metadata.py
test_discord_model_picker.py
test_discord_opus.py
test_discord_pending_text_batch_shutdown.py fix(discord): channel name matching and flush pending sends on shutdown 2026-06-30 02:48:42 -07:00
test_discord_race_polish.py
test_discord_reactions.py
test_discord_reply_mode.py
test_discord_roles_dm_scope.py
test_discord_send.py
test_discord_slash_auth.py fix(discord): extend channel-name matching to slash-command auth; clamp flush deadline to disconnect budget 2026-06-30 02:48:42 -07:00
test_discord_slash_commands.py
test_discord_sync_limit.py test(discord): add regression test for 100-command sync limit 2026-06-22 13:58:33 -07:00
test_discord_system_messages.py
test_discord_thread_persistence.py
test_discord_voice_mixer.py
test_display_config.py feat(discord): render reasoning as -# subtext via display.reasoning_style (#51168) 2026-06-23 10:44:02 -07:00
test_dm_topics.py
test_document_cache.py
test_document_context_note.py
test_duplicate_reply_suppression.py fix(telegram): preserve Bot API update queue on watcher reconnect 2026-06-25 21:29:57 -07:00
test_email.py fix(email): reject spoofed From: header for authorization (GHSA-rxqh-5572-8m77) 2026-06-25 21:11:02 -07:00
test_empty_model_recovery.py
test_ephemeral_reply.py fix(telegram): preserve Bot API update queue on watcher reconnect 2026-06-25 21:29:57 -07:00
test_external_drain_control.py feat(gateway): suppress home-channel shutdown broadcast on flagged drains (#54824) 2026-06-29 12:18:11 -07:00
test_extract_local_files.py
test_fallback_eviction.py
test_fast_command.py
test_feishu.py
test_feishu_approval_buttons.py
test_feishu_bot_admission.py
test_feishu_bot_auth_bypass.py fix(telegram): apply bot auth policy to Telegram sources 2026-06-28 00:57:03 -07:00
test_feishu_comment.py
test_feishu_comment_rules.py
test_feishu_meeting_invite.py
test_feishu_onboard.py
test_feishu_sdk_executor.py fix(gateway,feishu): refuse executor resurrection during real shutdown 2026-06-27 04:13:09 -07:00
test_fresh_reset_skill_injection.py
test_gateway_command_help.py
test_gateway_command_line_matcher.py fix(gateway): track no-systemd restart runtimes 2026-06-23 23:29:28 -07:00
test_gateway_inactivity_timeout.py
test_gateway_process_exit.py fix(gateway): force exit after graceful shutdown 2026-06-28 02:34:23 -07:00
test_gateway_shutdown.py fix(gateway): treat zombie PIDs as dead in _pid_exists to unblock --replace (closes #42126) 2026-06-28 04:11:14 -07:00
test_gateway_silence_tokens.py
test_goal_max_turns_config.py
test_goal_status_notice.py
test_goal_verdict_send.py feat(goals): /goal wait <pid> — park the loop on a background process (#50503) 2026-06-22 06:27:29 -07:00
test_google_chat.py
test_handoff_watcher_async_db.py fix(gateway): route SessionDB calls through AsyncSessionDB 2026-06-29 15:51:57 -07:00
test_home_target_env_var.py
test_homeassistant.py
test_hooks.py
test_insights_unicode_flags.py
test_internal_event_bypass_pairing.py
test_internal_event_never_interrupts_busy_session.py
test_interrupt_key_match.py fix(telegram): preserve Bot API update queue on watcher reconnect 2026-06-25 21:29:57 -07:00
test_irc_adapter.py
test_kanban_auto_decompose_live.py
test_kanban_notifier.py
test_kanban_notifier_watcher_dispatch_gate.py
test_kanban_watchers_mixin.py
test_keep_typing_timeout.py fix(telegram): preserve Bot API update queue on watcher reconnect 2026-06-25 21:29:57 -07:00
test_line_plugin.py
test_load_transcript_db_only.py
test_loop_exception_handler.py
test_matrix.py fix(gateway): avoid Matrix pending invite boot loops 2026-06-27 20:45:51 -07:00
test_matrix_approval_reaction_fail_closed.py
test_matrix_dm_invite_recording.py test(matrix): authorize inviter in DM-invite fixture for new invite-auth gate 2026-06-28 20:47:33 -07:00
test_matrix_exec_approval.py
test_matrix_mention.py
test_matrix_project_context_isolation.py fix(gateway): route SessionDB calls through AsyncSessionDB 2026-06-29 15:51:57 -07:00
test_matrix_voice.py
test_mattermost.py
test_max_concurrent_sessions.py
test_max_tokens_propagation.py
test_mcp_reload_refreshes_cached_agents.py
test_media_download_retry.py
test_media_extraction.py
test_media_metadata_contract.py
test_memory_monitor.py
test_message_deduplicator.py
test_message_timestamps.py
test_mirror.py
test_mixed_attachment_routing.py fix(gateway): classify mixed attachments per-attachment + transcode uncommon image formats 2026-06-27 19:26:04 -07:00
test_moa_one_shot_restore.py refactor(gateway): extract MoA one-shot restore helper; restore #28686 comment; real-method tests 2026-06-27 03:43:28 -07:00
test_model_command_async_offload.py fix(gateway): show MoA presets in model picker 2026-06-27 03:43:38 -07:00
test_model_command_custom_providers.py fix(gateway): offload /model switch off the event loop (#53603) 2026-06-27 04:36:22 -07:00
test_model_command_expensive_confirm.py
test_model_command_flat_string_config.py fix(gateway): clear stale base_url on model switches 2026-06-27 21:23:25 -07:00
test_model_picker_persist.py fix(gateway): clear stale base_url on model switches 2026-06-27 21:23:25 -07:00
test_model_switch_persistence.py
test_msgraph_webhook.py
test_multiplex_adapter_registry.py
test_multiplex_credential_isolation.py
test_multiplex_http_routing.py
test_multiplex_lifecycle.py
test_multiplex_phase0.py
test_native_image_buffer_isolation.py
test_notice_delivery.py
test_notice_rendering.py
test_ntfy_plugin.py
test_pairing.py
test_pending_drain_no_recursion.py fix(telegram): preserve Bot API update queue on watcher reconnect 2026-06-25 21:29:57 -07:00
test_pending_drain_race.py fix(telegram): preserve Bot API update queue on watcher reconnect 2026-06-25 21:29:57 -07:00
test_pending_event_none.py
test_per_platform_streaming_defaults.py
test_pii_redaction.py
test_planned_stop_watcher.py
test_platform_base.py fix(gateway): stop media-send fallbacks from leaking host paths into chat 2026-06-30 03:24:36 -07:00
test_platform_connected_checkers.py
test_platform_http_client_limits.py
test_platform_reconnect.py fix(telegram): preserve Bot API update queue on watcher reconnect 2026-06-25 21:29:57 -07:00
test_platform_reconnect_fd_leak.py fix(telegram): preserve Bot API update queue on watcher reconnect 2026-06-25 21:29:57 -07:00
test_platform_registry.py
test_plugin_platform_interface.py
test_post_delivery_callback_chaining.py fix(telegram): preserve Bot API update queue on watcher reconnect 2026-06-25 21:29:57 -07:00
test_pre_gateway_dispatch.py
test_proxy_mode.py
test_qqbot.py
test_queue_consumption.py fix(telegram): preserve Bot API update queue on watcher reconnect 2026-06-25 21:29:57 -07:00
test_raft_adapter.py
test_reasoning_command.py
test_relay_capability_surface.py fix(telegram): preserve Bot API update queue on watcher reconnect 2026-06-25 21:29:57 -07:00
test_relay_upstream_authz.py fix(relay): authorize relay-delivered events by delivery, not source.platform (#52306) 2026-06-25 14:21:09 +10:00
test_reload_skills_command.py
test_reload_skills_discord_resync.py
test_replay_entry_fields.py
test_reply_to_injection.py
test_response_filters.py
test_restart_drain.py feat(gateway): suppress home-channel shutdown broadcast on flagged drains (#54824) 2026-06-29 12:18:11 -07:00
test_restart_notification.py
test_restart_redelivery_dedup.py
test_restart_resume_pending.py
test_restart_service_detection.py fix(gateway): detect launchd in /restart service-manager probe (#43475) 2026-06-24 00:14:25 -07:00
test_resume_command.py fix(gateway): offload the Telegram topic-recovery helper tree off the loop 2026-06-29 15:51:57 -07:00
test_retry_replacement.py
test_retry_response.py
test_run_cleanup_progress.py fix(telegram): preserve Bot API update queue on watcher reconnect 2026-06-25 21:29:57 -07:00
test_run_progress_interrupt.py fix(telegram): preserve Bot API update queue on watcher reconnect 2026-06-25 21:29:57 -07:00
test_run_progress_topics.py feat(display): friendly human-phrased tool labels for built-in tools (#55166) 2026-06-29 20:31:17 -07:00
test_run_tool_media_re.py
test_runner_fatal_adapter.py fix(telegram): preserve Bot API update queue on watcher reconnect 2026-06-25 21:29:57 -07:00
test_runner_startup_failures.py fix(telegram): preserve Bot API update queue on watcher reconnect 2026-06-25 21:29:57 -07:00
test_running_agent_session_toggles.py
test_runtime_config_env_expansion.py
test_runtime_env_reload_config_authority.py
test_runtime_footer.py
test_safe_adapter_disconnect.py
test_scale_to_zero.py feat(gateway): scale-to-zero idle detection + dormant-quiesce (Phase 0) 2026-06-24 18:47:18 -07:00
test_scale_to_zero_watcher.py fix(gateway): scale-to-zero never armed — arm-gate counted disabled placeholder platforms (#52831) 2026-06-26 14:01:48 +10:00
test_send_error_classification.py
test_send_image_file.py
test_send_multiple_images.py fix(telegram): preserve Bot API update queue on watcher reconnect 2026-06-25 21:29:57 -07:00
test_send_retry.py fix(telegram): preserve Bot API update queue on watcher reconnect 2026-06-25 21:29:57 -07:00
test_send_voice_reply_notify.py
test_session.py fix(gateway): stop per-turn agent-cache eviction from model + message_id signature churn 2026-06-30 04:22:41 -07:00
test_session_api.py
test_session_boundary_hooks.py
test_session_boundary_security_state.py fix(gateway): route SessionDB calls through AsyncSessionDB 2026-06-29 15:51:57 -07:00
test_session_dm_thread_seeding.py
test_session_env.py fix(gateway,feishu): refuse executor resurrection during real shutdown 2026-06-27 04:13:09 -07:00
test_session_hygiene.py fix(telegram): preserve Bot API update queue on watcher reconnect 2026-06-25 21:29:57 -07:00
test_session_info.py
test_session_list_allowed_sources.py
test_session_load_bool.py fix(gateway): skip non-dict entries in session loading (#46994) 2026-06-25 01:26:13 +05:30
test_session_model_override_routing.py
test_session_model_reset.py
test_session_override_thread_recovery.py
test_session_race_guard.py fix(gateway): route SessionDB calls through AsyncSessionDB 2026-06-29 15:51:57 -07:00
test_session_reset_notify.py test(gateway): exercise last_prompt_tokens in reset-activity tests 2026-06-29 04:25:37 -07:00
test_session_split_brain_11016.py fix(telegram): preserve Bot API update queue on watcher reconnect 2026-06-25 21:29:57 -07:00
test_session_state_cleanup.py
test_session_store_prune.py docs(sessions): clarify sessions.json is the gateway routing index, not the session list (#51726) 2026-06-23 23:56:36 -07:00
test_session_store_runtime_stale_guard.py fix(gateway): self-heal stale sessions.json routing at message time 2026-06-30 13:17:51 +05:30
test_session_store_stale_prune.py fix(gateway): prune stale sessions.json entries on startup 2026-06-28 02:41:47 -07:00
test_setup_feishu.py
test_shared_group_sender_prefix.py
test_shutdown_cache_cleanup.py fix(gateway): offload remaining inline agent cleanup off the event loop (#53175) 2026-06-28 02:41:36 -07:00
test_shutdown_forensics.py
test_shutdown_memory_provider_messages.py
test_signal.py
test_signal_format.py
test_signal_rate_limit.py
test_simplex_plugin.py
test_slack.py fix(slack): transcribe in-app voice messages (audio/mp4) instead of failing 2026-06-23 14:44:12 +05:30
test_slack_approval_buttons.py
test_slack_channel_session_scope.py
test_slack_channel_skills.py
test_slack_group_dm_scope_warning.py feat(slack): nudge stale installs to add mpim scopes; mark message.mpim required 2026-06-29 01:02:53 -07:00
test_slack_mention.py fix(slack): split csv mention pattern fallback 2026-06-22 09:44:52 -07:00
test_slack_plugin_action_handlers.py
test_slack_plugin_setup.py
test_slack_user_token_warning.py fix(slack): warn when configured token is a user token, not a bot token 2026-06-29 20:57:43 -07:00
test_slash_access.py
test_slash_access_dispatch.py fix(gateway): gate quick_commands through slash access policy 2026-06-28 02:43:23 -07:00
test_sms.py
test_sse_agent_cancel.py test(api-server): cover SSE failure finish_reason for both failure modes 2026-06-27 03:52:44 -07:00
test_ssl_cert_detection.py
test_ssl_certs.py
test_stale_platform_lock_retryable.py fix(gateway): mark platform lock failure as retryable instead of permanently fatal 2026-06-28 04:35:37 -07:00
test_startup_no_eager_platform_install.py
test_startup_restart_race.py test(gateway): update startup-restart-race fixtures for current main 2026-06-30 03:22:18 -07:00
test_status.py fix(windows): cover remaining console-flash spawn legs (#54417) 2026-06-28 13:49:08 -07:00
test_status_command.py fix(gateway): route SessionDB calls through AsyncSessionDB 2026-06-29 15:51:57 -07:00
test_steer_command.py
test_step_callback_compat.py
test_sticker_cache.py
test_stop_thread_sibling.py
test_stream_consumer.py fix(gateway): add session staleness guard to stream consumer 2026-06-30 03:42:25 -07:00
test_stream_consumer_draft.py
test_stream_consumer_fresh_final.py
test_stream_consumer_thread_routing.py fix(feishu): route blocking SDK calls through an adapter-owned executor 2026-06-27 04:13:09 -07:00
test_stream_events.py
test_stt_config.py
test_stuck_loop.py
test_subagent_protection_30170.py
test_table_helpers.py refactor: extract shared GFM table→bullet helpers into helpers.py 2026-06-27 03:57:24 +05:30
test_teams.py
test_teams_pipeline_runtime_wiring.py
test_telegram_approval_buttons.py
test_telegram_audio_vs_voice.py
test_telegram_auth_check.py fix(telegram): reject unauthorized users before event construction (#40863) 2026-06-28 14:25:15 -07:00
test_telegram_bot_auth_bypass.py fix: salvage #33830 for current main — relocate allow_bots bridge to telegram plugin hook, fix stale adapter import in test 2026-06-28 00:57:03 -07:00
test_telegram_callback_auth_fail_closed.py
test_telegram_caption_merge.py
test_telegram_channel_posts.py
test_telegram_clarify_buttons.py fix(telegram): notify user when clarify button tap arrives after expiry 2026-06-28 01:07:53 -07:00
test_telegram_closewait_limits_31599.py fix(telegram): wire platform_httpx_limits into general-pool HTTPXRequest (#31599) 2026-06-24 02:15:47 +05:30
test_telegram_conflict.py fix(telegram): kill 409 polling conflict loop by disarming PTB retry synchronously (#53941) 2026-06-27 20:46:08 -07:00
test_telegram_documents.py fix(telegram): surface failed media downloads to user and agent, not a silent empty turn (#53912) 2026-06-27 19:12:57 -07:00
test_telegram_format.py fix(telegram): clip mid-stream overflow instead of splitting (#48648) 2026-06-24 00:00:46 -07:00
test_telegram_forum_commands.py
test_telegram_group_gating.py test(telegram): make config-bridge tests immune to ambient .env pollution (#53594) 2026-06-27 04:36:45 -07:00
test_telegram_max_doc_bytes.py
test_telegram_mention_boundaries.py
test_telegram_model_picker.py
test_telegram_network.py
test_telegram_network_reconnect.py fix(telegram): persistent heartbeat loop to detect CLOSE-WAIT polling sockets 2026-06-25 18:50:11 -07:00
test_telegram_noise_filter.py test(gateway): cover Discord/Slack compression status suppression (#39293) 2026-06-28 14:35:32 +05:30
test_telegram_overflow_partial.py
test_telegram_pending_update_probe.py fix(telegram): detect wedged getUpdates consumer via pending_update_count 2026-06-28 02:44:17 -07:00
test_telegram_photo_interrupts.py
test_telegram_progress_edit_transient.py
test_telegram_prune_stale_topic_binding_31501.py fix(telegram): disable DM topic mode when last binding is pruned 2026-06-22 12:29:05 -07:00
test_telegram_reactions.py
test_telegram_reply_mode.py
test_telegram_reply_quote.py
test_telegram_rich_messages.py test(telegram): cover table auto-rich and topic routing 2026-06-25 13:10:54 -07:00
test_telegram_rich_newlines.py
test_telegram_send_draft_format.py
test_telegram_send_path_health.py fix(telegram): clear send_path_degraded on successful reconnect (#35205) (#54076) 2026-06-28 01:38:17 -07:00
test_telegram_slash_confirm.py
test_telegram_status_indicator.py
test_telegram_status_update.py
test_telegram_text_batch_perf.py
test_telegram_text_batching.py
test_telegram_thread_fallback.py fix(telegram): reset send pool after pool timeouts 2026-06-28 02:34:17 -07:00
test_telegram_topic_mode.py fix(gateway): offload the Telegram topic-recovery helper tree off the loop 2026-06-29 15:51:57 -07:00
test_telegram_username_chat_id.py fix(telegram): accept @username chat_id in delivery paths (#13206) 2026-06-27 04:01:58 -07:00
test_telegram_voice_v0_regressions.py Guard oversized Telegram video downloads 2026-06-27 04:39:48 -07:00
test_telegram_webhook_secret.py
test_text_batching.py
test_title_command.py fix(gateway): offload the Telegram topic-recovery helper tree off the loop 2026-06-29 15:51:57 -07:00
test_tool_response_drop_recovery.py fix(telegram): preserve Bot API update queue on watcher reconnect 2026-06-25 21:29:57 -07:00
test_transcript_offset.py
test_tts_media_routing.py fix(telegram): preserve Bot API update queue on watcher reconnect 2026-06-25 21:29:57 -07:00
test_tui_approval_redaction.py fix(gateway): redact credentials from TUI approval prompts (#48456) 2026-06-23 03:14:18 +05:30
test_typing_indicator_toggle.py feat(gateway): per-platform typing_indicator toggle 2026-06-29 21:12:57 -07:00
test_unauthorized_dm_behavior.py test(whatsapp): cover LID allowlist match on modern session layout 2026-06-28 02:05:26 -07:00
test_unavailable_skill_hint.py
test_undo_rewind_session.py
test_unknown_command.py
test_update_command.py
test_update_streaming.py
test_usage_command.py feat(gateway): show per-category context breakdown in /usage (#55204) 2026-06-29 20:42:19 -07:00
test_verbose_command.py
test_version_command.py
test_video_context_note.py
test_vision_memory_leak.py
test_voice_command.py fix(discord): honor "*" wildcard in DISCORD_ALLOWED_USERS (#22334) 2026-06-27 19:11:30 -07:00
test_voice_mode_platform_isolation.py
test_weak_credential_guard.py
test_webhook_adapter.py
test_webhook_deliver_only.py
test_webhook_dynamic_routes.py
test_webhook_integration.py
test_webhook_signature_rate_limit.py
test_wecom.py
test_wecom_callback.py fix(security): cap WeCom callback body size before pre-auth XML parse (#54615) 2026-06-28 22:35:43 -07:00
test_weixin.py
test_weixin_typing.py
test_whatsapp_allowlist_lid_resolution.py fix(whatsapp): resolve phone↔LID aliases in adapter DM/group allowlist (#53588) 2026-06-27 04:17:12 -07:00
test_whatsapp_bridge_dir_resolution.py
test_whatsapp_bridge_pidfile.py
test_whatsapp_cloud.py fix(whatsapp_cloud): resolve reply-to text so the agent sees reply context (#52957) 2026-06-26 01:05:05 -07:00
test_whatsapp_connect.py
test_whatsapp_formatting.py
test_whatsapp_from_owner.py test(whatsapp): repoint owner test import after adapter relocation 2026-06-30 03:41:43 -07:00
test_whatsapp_group_gating.py
test_whatsapp_identity.py fix(whatsapp): resolve LID aliases on modern platforms/ session layout 2026-06-28 02:05:26 -07:00
test_whatsapp_reply_prefix.py
test_whatsapp_stale_bridge.py
test_whatsapp_text_batching.py
test_whatsapp_to_jid.py
test_ws_auth_retry.py
test_yolo_command.py
test_yuanbao_media_ssrf.py fix(security): SSRF guard yuanbao media download_url (#54470) 2026-06-28 15:29:59 -07:00