Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package mistral-vibe for openSUSE:Factory checked in at 2026-08-13 13:16:05 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/mistral-vibe (Old) and /work/SRC/openSUSE:Factory/.mistral-vibe.new.17972 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "mistral-vibe" Thu Aug 13 13:16:05 2026 rev:14 rq:1370859 version:2.24.1 Changes: -------- --- /work/SRC/openSUSE:Factory/mistral-vibe/mistral-vibe.changes 2026-08-09 21:45:59.324061473 +0200 +++ /work/SRC/openSUSE:Factory/.mistral-vibe.new.17972/mistral-vibe.changes 2026-08-13 13:17:02.108584016 +0200 @@ -1,0 +2,36 @@ +Tue Aug 11 15:41:21 UTC 2026 - Matej Cepl <[email protected]> + +- Update to 2.24.1: + - Added + - Inline ghost-text completion for mid-prompt skills + - `/clear` and `/new` accept an optional first prompt and + show the resume id + - Compacted conversation history is preserved + - OpenTelemetry tracing configuration is now available + - Changed + - Default agent renamed to `ask` and defaults to accept-edits + - Auto worktrees are named with a model + - Faster resume by deferring sub-agent instantiation + - Fixed + - Surface MCP server startup failures to the user + - Text selection is now visible in the chat input + - Provider reasoning is replayed verbatim + - Detect and retry incomplete LLM streams + - Surface voice transcription errors instead of swallowing + them + - Proactively refresh expired MCP OAuth tokens + - Theme switching is now responsive + - Crash on undo of a large multiline insert in the chat input + - Config modal headers stay visible on wrap, with a tighter + layout + - Trusting the cwd no longer untrusts `<cwd>/.vibe` + - Home directory is no longer treated as a project root + - Explain the fallback when the configured default model is + invalid + - Scope sensitive-file read grants and stop chat bypass + - Git Bash paths no longer create bogus `C:\c\...` + directories on Windows + - Use POSIX separators when shortening home paths in display + - `/clear` resume hint gated on session persistability + +------------------------------------------------------------------- Old: ---- mistral-vibe-2.24.0.tar.gz New: ---- mistral-vibe-2.24.1.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ mistral-vibe.spec ++++++ --- /var/tmp/diff_new_pack.NnYUzP/_old 2026-08-13 13:17:02.972623240 +0200 +++ /var/tmp/diff_new_pack.NnYUzP/_new 2026-08-13 13:17:02.972623240 +0200 @@ -16,7 +16,7 @@ # Name: mistral-vibe -Version: 2.24.0 +Version: 2.24.1 Release: 0 Summary: Minimal CLI coding agent by Mistral License: Apache-2.0 @@ -61,7 +61,7 @@ Requires: python3-cffi >= 2.0.0 Requires: python3-charset-normalizer >= 3.4.7 Requires: python3-click >= 8.3.3 -Requires: python3-cryptography >= 48.0.1 +Requires: python3-cryptography >= 50.0.0 Requires: python3-eval-type-backport >= 0.3.1 Requires: python3-gitdb >= 4.0.12 Requires: python3-giturlparse >= 0.15.0 @@ -165,7 +165,7 @@ BuildRequires: python3-cffi >= 2.0.0 BuildRequires: python3-charset-normalizer >= 3.4.7 BuildRequires: python3-click >= 8.3.3 -BuildRequires: python3-cryptography >= 48.0.1 +BuildRequires: python3-cryptography >= 50.0.0 BuildRequires: python3-eval-type-backport >= 0.3.1 BuildRequires: python3-gitdb >= 4.0.12 BuildRequires: python3-giturlparse >= 0.15.0 ++++++ _scmsync.obsinfo ++++++ --- /var/tmp/diff_new_pack.NnYUzP/_old 2026-08-13 13:17:03.048626690 +0200 +++ /var/tmp/diff_new_pack.NnYUzP/_new 2026-08-13 13:17:03.052626871 +0200 @@ -1,5 +1,5 @@ -mtime: 1786131126 -commit: c8b4dfd0dd01f2d8ffbb61726e70ed8fcf2e807e7bd348423f428da6e72703d4 +mtime: 1786541825 +commit: 846dbc5c4c7d20d9918e0df0ca9ad1c052377f039147c5f2fa90ab431b992103 url: https://src.opensuse.org/AI/mistral-vibe.git revision: factory ++++++ build.specials.obscpio ++++++ ++++++ build.specials.obscpio ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/.gitignore new/.gitignore --- old/.gitignore 1970-01-01 01:00:00.000000000 +0100 +++ new/.gitignore 2026-08-12 15:37:05.000000000 +0200 @@ -0,0 +1,9 @@ +.assets +_build.* +*.obscpio +*.obsinfo +*.osc +.pbuild +_service:* +mistral-vibe-*-build/ +.aider* ++++++ fix_tests.patch ++++++ --- /var/tmp/diff_new_pack.NnYUzP/_old 2026-08-13 13:17:03.312638675 +0200 +++ /var/tmp/diff_new_pack.NnYUzP/_new 2026-08-13 13:17:03.320639039 +0200 @@ -2,11 +2,11 @@ vibe/core/tools/builtins/grep.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) -Index: mistral-vibe-2.23.3/vibe/core/tools/builtins/grep.py +Index: mistral-vibe-2.24.1/vibe/core/tools/builtins/grep.py =================================================================== ---- mistral-vibe-2.23.3.orig/vibe/core/tools/builtins/grep.py 2026-08-03 14:57:51.000000000 +0200 -+++ mistral-vibe-2.23.3/vibe/core/tools/builtins/grep.py 2026-08-05 16:38:09.218266522 +0200 -@@ -270,7 +270,7 @@ +--- mistral-vibe-2.24.1.orig/vibe/core/tools/builtins/grep.py 2026-08-11 17:43:49.506144252 +0200 ++++ mistral-vibe-2.24.1/vibe/core/tools/builtins/grep.py 2026-08-11 17:43:54.974872349 +0200 +@@ -272,7 +272,7 @@ "--no-heading", "--with-filename", "--smart-case", @@ -15,7 +15,7 @@ # Request one extra to detect truncation "--max-count", str(max_matches + 1), -@@ -291,7 +291,7 @@ +@@ -293,7 +293,7 @@ ) -> list[str]: max_matches = args.max_matches or self.config.default_max_matches ++++++ fix_ui_tests.patch ++++++ --- /var/tmp/diff_new_pack.NnYUzP/_old 2026-08-13 13:17:03.344640128 +0200 +++ /var/tmp/diff_new_pack.NnYUzP/_new 2026-08-13 13:17:03.348640309 +0200 @@ -1,11 +1,16 @@ --- - tests/cli/test_ui_exit_command.py | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) + tests/app_server/test_vibe_code.py | 2 +- + tests/cli/test_ui_session_incremental_renderer.py | 2 ++ + tests/cli/test_ui_skill_dispatch.py | 2 ++ + tests/cli/textual_ui/test_app_server_requests.py | 2 ++ + tests/core/test_worktree.py | 7 ++++++- + tests/test_ui_rewind.py | 2 ++ + 6 files changed, 15 insertions(+), 2 deletions(-) -Index: mistral-vibe-2.24.0/tests/app_server/test_vibe_code.py +Index: mistral-vibe-2.24.1/tests/app_server/test_vibe_code.py =================================================================== ---- mistral-vibe-2.24.0.orig/tests/app_server/test_vibe_code.py 2026-08-06 23:21:16.834620172 +0200 -+++ mistral-vibe-2.24.0/tests/app_server/test_vibe_code.py 2026-08-06 23:21:17.302801215 +0200 +--- mistral-vibe-2.24.1.orig/tests/app_server/test_vibe_code.py 2026-08-11 17:43:49.363141762 +0200 ++++ mistral-vibe-2.24.1/tests/app_server/test_vibe_code.py 2026-08-11 17:44:03.556013548 +0200 @@ -68,7 +68,7 @@ capture_output=True, env=env, @@ -15,10 +20,36 @@ ) assert result.returncode == 0, result.stderr -Index: mistral-vibe-2.24.0/tests/cli/textual_ui/test_app_server_requests.py +Index: mistral-vibe-2.24.1/tests/cli/test_ui_session_incremental_renderer.py =================================================================== ---- mistral-vibe-2.24.0.orig/tests/cli/textual_ui/test_app_server_requests.py 2026-08-06 23:21:16.834620172 +0200 -+++ mistral-vibe-2.24.0/tests/cli/textual_ui/test_app_server_requests.py 2026-08-06 23:21:17.303280949 +0200 +--- mistral-vibe-2.24.1.orig/tests/cli/test_ui_session_incremental_renderer.py 2026-08-11 17:43:49.363141762 +0200 ++++ mistral-vibe-2.24.1/tests/cli/test_ui_session_incremental_renderer.py 2026-08-11 17:44:03.557260298 +0200 +@@ -5,6 +5,8 @@ + import time + + import pytest ++ ++pytestmark = pytest.mark.terminal + from textual.widgets import Button + + from tests.conftest import build_test_agent_loop +Index: mistral-vibe-2.24.1/tests/cli/test_ui_skill_dispatch.py +=================================================================== +--- mistral-vibe-2.24.1.orig/tests/cli/test_ui_skill_dispatch.py 2026-08-11 17:43:49.363141762 +0200 ++++ mistral-vibe-2.24.1/tests/cli/test_ui_skill_dispatch.py 2026-08-11 17:44:03.557470925 +0200 +@@ -7,6 +7,8 @@ + + import pytest + ++pytestmark = pytest.mark.terminal ++ + from tests.conftest import build_test_vibe_app, build_test_vibe_config + from tests.skills.conftest import create_skill + from vibe.app_server.models import CompletedEffectState, PublicEffectEntry +Index: mistral-vibe-2.24.1/tests/cli/textual_ui/test_app_server_requests.py +=================================================================== +--- mistral-vibe-2.24.1.orig/tests/cli/textual_ui/test_app_server_requests.py 2026-08-11 17:43:49.363141762 +0200 ++++ mistral-vibe-2.24.1/tests/cli/textual_ui/test_app_server_requests.py 2026-08-11 17:44:03.556388917 +0200 @@ -8,6 +8,8 @@ import pytest @@ -28,11 +59,11 @@ from tests.conftest import ( build_test_agent_loop, build_test_vibe_app, -Index: mistral-vibe-2.24.0/tests/core/test_worktree.py +Index: mistral-vibe-2.24.1/tests/core/test_worktree.py =================================================================== ---- mistral-vibe-2.24.0.orig/tests/core/test_worktree.py 2026-08-06 23:21:16.834620172 +0200 -+++ mistral-vibe-2.24.0/tests/core/test_worktree.py 2026-08-06 23:21:17.303575324 +0200 -@@ -20,7 +20,12 @@ +--- mistral-vibe-2.24.1.orig/tests/core/test_worktree.py 2026-08-11 17:43:49.363141762 +0200 ++++ mistral-vibe-2.24.1/tests/core/test_worktree.py 2026-08-11 17:44:03.556790523 +0200 +@@ -21,7 +21,12 @@ def _init_repo(root: Path, *, separate_git_dir: Path | None = None) -> Repo: @@ -46,10 +77,10 @@ repo.config_writer().set_value("user", "name", "Tester").release() repo.config_writer().set_value("user", "email", "[email protected]").release() (root / "file.txt").write_text("hello\n") -Index: mistral-vibe-2.24.0/tests/test_ui_rewind.py +Index: mistral-vibe-2.24.1/tests/test_ui_rewind.py =================================================================== ---- mistral-vibe-2.24.0.orig/tests/test_ui_rewind.py 2026-08-06 23:21:16.834620172 +0200 -+++ mistral-vibe-2.24.0/tests/test_ui_rewind.py 2026-08-06 23:21:17.303847197 +0200 +--- mistral-vibe-2.24.1.orig/tests/test_ui_rewind.py 2026-08-11 17:43:49.363141762 +0200 ++++ mistral-vibe-2.24.1/tests/test_ui_rewind.py 2026-08-11 17:44:03.557055772 +0200 @@ -6,6 +6,8 @@ import pytest @@ -59,30 +90,4 @@ from tests.conftest import build_test_agent_loop, build_test_vibe_app from tests.mock.utils import mock_llm_chunk from tests.stubs.fake_backend import FakeBackend -Index: mistral-vibe-2.24.0/tests/cli/test_ui_session_incremental_renderer.py -=================================================================== ---- mistral-vibe-2.24.0.orig/tests/cli/test_ui_session_incremental_renderer.py 2026-08-06 23:21:17.262168221 +0200 -+++ mistral-vibe-2.24.0/tests/cli/test_ui_session_incremental_renderer.py 2026-08-06 23:21:17.304077842 +0200 -@@ -5,6 +5,8 @@ - import time - - import pytest -+ -+pytestmark = pytest.mark.terminal - from textual.widgets import Button - - from tests.conftest import build_test_agent_loop -Index: mistral-vibe-2.24.0/tests/cli/test_ui_skill_dispatch.py -=================================================================== ---- mistral-vibe-2.24.0.orig/tests/cli/test_ui_skill_dispatch.py 2026-08-06 23:21:17.262386413 +0200 -+++ mistral-vibe-2.24.0/tests/cli/test_ui_skill_dispatch.py 2026-08-06 23:21:17.304296674 +0200 -@@ -7,6 +7,8 @@ - - import pytest - -+pytestmark = pytest.mark.terminal -+ - from tests.conftest import build_test_vibe_app, build_test_vibe_config - from tests.skills.conftest import create_skill - from vibe.app_server.models import CompletedEffectState, PublicEffectEntry ++++++ mistral-vibe-2.24.0.tar.gz -> mistral-vibe-2.24.1.tar.gz ++++++ ++++ 26437 lines of diff (skipped) ++++++ no_network.patch ++++++ --- /var/tmp/diff_new_pack.NnYUzP/_old 2026-08-13 13:17:04.708702051 +0200 +++ /var/tmp/diff_new_pack.NnYUzP/_new 2026-08-13 13:17:04.716702414 +0200 @@ -10,11 +10,11 @@ tests/test_install_script.py | 3 +++ 9 files changed, 19 insertions(+) -Index: mistral-vibe-2.23.3/pyproject.toml +Index: mistral-vibe-2.24.1/pyproject.toml =================================================================== ---- mistral-vibe-2.23.3.orig/pyproject.toml 2026-08-03 14:57:51.000000000 +0200 -+++ mistral-vibe-2.23.3/pyproject.toml 2026-08-05 16:37:57.369355543 +0200 -@@ -260,6 +260,9 @@ +--- mistral-vibe-2.24.1.orig/pyproject.toml 2026-08-11 17:43:49.609146046 +0200 ++++ mistral-vibe-2.24.1/pyproject.toml 2026-08-11 17:43:52.261274367 +0200 +@@ -261,6 +261,9 @@ [tool.pytest.ini_options] addopts = "-vvvv -q -n auto --durations=10 --import-mode=importlib --maxschedchunk=1" timeout = 10 @@ -24,10 +24,10 @@ filterwarnings = [ # (e2e) streaming mock server is started in a thread; and the cli is spawn in a fork "ignore:This process \\(pid=.*\\) is multi-threaded, use of forkpty\\(\\) may lead to deadlocks in the child\\.:DeprecationWarning", -Index: mistral-vibe-2.23.3/tests/acp/test_acp_entrypoint_smoke.py +Index: mistral-vibe-2.24.1/tests/acp/test_acp_entrypoint_smoke.py =================================================================== ---- mistral-vibe-2.23.3.orig/tests/acp/test_acp_entrypoint_smoke.py 2026-08-03 14:57:51.000000000 +0200 -+++ mistral-vibe-2.23.3/tests/acp/test_acp_entrypoint_smoke.py 2026-08-05 16:37:57.369762110 +0200 +--- mistral-vibe-2.24.1.orig/tests/acp/test_acp_entrypoint_smoke.py 2026-08-11 17:43:49.609146046 +0200 ++++ mistral-vibe-2.24.1/tests/acp/test_acp_entrypoint_smoke.py 2026-08-11 17:43:52.261699137 +0200 @@ -29,6 +29,8 @@ "Sign into Mistral Vibe through your Mistral AI Studio account." ) @@ -37,10 +37,10 @@ class _AcpSmokeClient(Client): def on_connect(self, conn: Any) -> None: -Index: mistral-vibe-2.23.3/tests/e2e/test_cli_tui_fresh_install.py +Index: mistral-vibe-2.24.1/tests/e2e/test_cli_tui_fresh_install.py =================================================================== ---- mistral-vibe-2.23.3.orig/tests/e2e/test_cli_tui_fresh_install.py 2026-08-03 14:57:51.000000000 +0200 -+++ mistral-vibe-2.23.3/tests/e2e/test_cli_tui_fresh_install.py 2026-08-05 16:37:57.370054282 +0200 +--- mistral-vibe-2.24.1.orig/tests/e2e/test_cli_tui_fresh_install.py 2026-08-11 17:43:49.609146046 +0200 ++++ mistral-vibe-2.24.1/tests/e2e/test_cli_tui_fresh_install.py 2026-08-11 17:43:52.262039669 +0200 @@ -62,6 +62,7 @@ return _venv_executable(venv_path, "vibe") @@ -49,10 +49,10 @@ @pytest.mark.timeout(90) def test_fresh_wheel_install_can_spawn_cli_and_complete_happy_path( streaming_mock_server: StreamingMockServer, -Index: mistral-vibe-2.23.3/tests/e2e/test_cli_tui_hooks.py +Index: mistral-vibe-2.24.1/tests/e2e/test_cli_tui_hooks.py =================================================================== ---- mistral-vibe-2.23.3.orig/tests/e2e/test_cli_tui_hooks.py 2026-08-03 14:57:51.000000000 +0200 -+++ mistral-vibe-2.23.3/tests/e2e/test_cli_tui_hooks.py 2026-08-05 16:37:57.370280969 +0200 +--- mistral-vibe-2.24.1.orig/tests/e2e/test_cli_tui_hooks.py 2026-08-11 17:43:49.609146046 +0200 ++++ mistral-vibe-2.24.1/tests/e2e/test_cli_tui_hooks.py 2026-08-11 17:43:52.262307063 +0200 @@ -18,6 +18,8 @@ ) from tests.e2e.mock_server import StreamingMockServer @@ -62,10 +62,10 @@ def _setup_recording_hook(vibe_home: Path, invocation_path: Path) -> None: script = vibe_home / "_record_hook.py" -Index: mistral-vibe-2.23.3/tests/e2e/test_cli_tui_onboarding.py +Index: mistral-vibe-2.24.1/tests/e2e/test_cli_tui_onboarding.py =================================================================== ---- mistral-vibe-2.23.3.orig/tests/e2e/test_cli_tui_onboarding.py 2026-08-03 14:57:51.000000000 +0200 -+++ mistral-vibe-2.23.3/tests/e2e/test_cli_tui_onboarding.py 2026-08-05 16:37:57.370458103 +0200 +--- mistral-vibe-2.24.1.orig/tests/e2e/test_cli_tui_onboarding.py 2026-08-11 17:43:49.609146046 +0200 ++++ mistral-vibe-2.24.1/tests/e2e/test_cli_tui_onboarding.py 2026-08-11 17:43:52.262557024 +0200 @@ -7,6 +7,8 @@ from tests.e2e.common import SpawnedVibeProcessFixture, ansi_tolerant_pattern @@ -75,10 +75,10 @@ @pytest.mark.timeout(15) def test_spawn_cli_shows_onboarding_when_api_key_missing( -Index: mistral-vibe-2.23.3/tests/e2e/test_cli_tui_session_exit.py +Index: mistral-vibe-2.24.1/tests/e2e/test_cli_tui_session_exit.py =================================================================== ---- mistral-vibe-2.23.3.orig/tests/e2e/test_cli_tui_session_exit.py 2026-08-03 14:57:51.000000000 +0200 -+++ mistral-vibe-2.23.3/tests/e2e/test_cli_tui_session_exit.py 2026-08-05 16:37:57.370644184 +0200 +--- mistral-vibe-2.24.1.orig/tests/e2e/test_cli_tui_session_exit.py 2026-08-11 17:43:49.609146046 +0200 ++++ mistral-vibe-2.24.1/tests/e2e/test_cli_tui_session_exit.py 2026-08-11 17:43:52.262775486 +0200 @@ -23,6 +23,8 @@ from tests.e2e.mock_server import StreamingMockServer from vibe.utils.io import read_safe @@ -88,10 +88,10 @@ def _usage_by_run_factory( request_index: int, _payload: object -Index: mistral-vibe-2.23.3/tests/e2e/test_cli_tui_streaming.py +Index: mistral-vibe-2.24.1/tests/e2e/test_cli_tui_streaming.py =================================================================== ---- mistral-vibe-2.23.3.orig/tests/e2e/test_cli_tui_streaming.py 2026-08-03 14:57:51.000000000 +0200 -+++ mistral-vibe-2.23.3/tests/e2e/test_cli_tui_streaming.py 2026-08-05 16:37:57.370822861 +0200 +--- mistral-vibe-2.24.1.orig/tests/e2e/test_cli_tui_streaming.py 2026-08-11 17:43:49.609146046 +0200 ++++ mistral-vibe-2.24.1/tests/e2e/test_cli_tui_streaming.py 2026-08-11 17:43:52.262991943 +0200 @@ -14,6 +14,8 @@ ) from tests.e2e.mock_server import StreamingMockServer @@ -101,10 +101,10 @@ @pytest.mark.timeout(15) def test_spawn_cli_to_send_and_receive_message( -Index: mistral-vibe-2.23.3/tests/e2e/test_cli_tui_tool_approval.py +Index: mistral-vibe-2.24.1/tests/e2e/test_cli_tui_tool_approval.py =================================================================== ---- mistral-vibe-2.23.3.orig/tests/e2e/test_cli_tui_tool_approval.py 2026-08-03 14:57:51.000000000 +0200 -+++ mistral-vibe-2.23.3/tests/e2e/test_cli_tui_tool_approval.py 2026-08-05 16:37:57.370994816 +0200 +--- mistral-vibe-2.24.1.orig/tests/e2e/test_cli_tui_tool_approval.py 2026-08-11 17:43:49.609146046 +0200 ++++ mistral-vibe-2.24.1/tests/e2e/test_cli_tui_tool_approval.py 2026-08-11 17:43:52.263154390 +0200 @@ -14,6 +14,8 @@ ) from tests.e2e.mock_server import ChatCompletionsRequestPayload, StreamingMockServer @@ -114,10 +114,10 @@ PREDICTABLE_OUTPUT = "__E2E_BASH_OK__" TOOL_ARGUMENTS = f'{{"command":"printf \\"{PREDICTABLE_OUTPUT}\\\\n\\""}}' -Index: mistral-vibe-2.23.3/tests/test_install_script.py +Index: mistral-vibe-2.24.1/tests/test_install_script.py =================================================================== ---- mistral-vibe-2.23.3.orig/tests/test_install_script.py 2026-08-03 14:57:51.000000000 +0200 -+++ mistral-vibe-2.23.3/tests/test_install_script.py 2026-08-05 16:37:57.371193400 +0200 +--- mistral-vibe-2.24.1.orig/tests/test_install_script.py 2026-08-11 17:43:49.609146046 +0200 ++++ mistral-vibe-2.24.1/tests/test_install_script.py 2026-08-11 17:43:52.263330892 +0200 @@ -7,6 +7,8 @@ import subprocess from textwrap import dedent ++++++ no_terminal.patch ++++++ --- /var/tmp/diff_new_pack.NnYUzP/_old 2026-08-13 13:17:04.732703140 +0200 +++ /var/tmp/diff_new_pack.NnYUzP/_new 2026-08-13 13:17:04.752704048 +0200 @@ -1,11 +1,41 @@ # PATCH-FIX-OPENSUSE no_terminal.patch [email protected] # mark tests requiring a terminal or PTY so they are skipped in OBS builds --- - 18 files changed, 36 insertions(+) -Index: mistral-vibe-2.24.0/tests/cli/test_switching_mode.py + pyproject.toml | 1 + + tests/cli/test_switching_mode.py | 2 ++ + tests/cli/test_ui_clipboard_notifications.py | 2 ++ + tests/cli/test_ui_config_screen.py | 2 ++ + tests/cli/test_ui_exit_command.py | 2 ++ + tests/cli/test_ui_theme_picker.py | 2 ++ + tests/cli/test_whoami_command.py | 2 ++ + tests/cli/test_word_selection.py | 2 ++ + tests/cli/textual_ui/test_chat_input_word_drag.py | 2 ++ + tests/cli/textual_ui/test_message_queue_ui.py | 2 ++ + tests/e2e/agent_loop_characterization/test_resume.py | 2 ++ + tests/e2e/agent_loop_characterization/test_subagents.py | 2 ++ + tests/e2e/agent_loop_characterization/test_tool_execution.py | 2 ++ + tests/e2e/agent_loop_characterization/test_tool_permissions.py | 2 ++ + tests/e2e/agent_loop_characterization/test_user_interaction.py | 2 ++ + tests/onboarding/test_ui_onboarding.py | 2 ++ + tests/tools/test_ui_bash_execution.py | 2 ++ + tests/vscode_extension_promo/test_ui_vscode_extension_promo.py | 2 ++ + 18 files changed, 35 insertions(+) +Index: mistral-vibe-2.24.1/pyproject.toml +=================================================================== +--- mistral-vibe-2.24.1.orig/pyproject.toml 2026-08-11 17:43:52.261274367 +0200 ++++ mistral-vibe-2.24.1/pyproject.toml 2026-08-11 17:43:56.972599493 +0200 +@@ -263,6 +263,7 @@ + timeout = 10 + markers = [ + "network: tests that require network-capable execution environment", ++ "terminal: tests that require terminal-capable execution environment", + ] + filterwarnings = [ + # (e2e) streaming mock server is started in a thread; and the cli is spawn in a fork +Index: mistral-vibe-2.24.1/tests/cli/test_switching_mode.py =================================================================== ---- mistral-vibe-2.24.0.orig/tests/cli/test_switching_mode.py 2026-08-07 21:30:20.430004398 +0200 -+++ mistral-vibe-2.24.0/tests/cli/test_switching_mode.py 2026-08-07 21:30:20.704731219 +0200 +--- mistral-vibe-2.24.1.orig/tests/cli/test_switching_mode.py 2026-08-11 17:43:49.459143434 +0200 ++++ mistral-vibe-2.24.1/tests/cli/test_switching_mode.py 2026-08-11 17:43:56.970825149 +0200 @@ -5,6 +5,8 @@ import pytest @@ -15,10 +45,23 @@ from tests.conftest import build_test_agent_loop, build_test_vibe_app from tests.mock.utils import mock_llm_chunk from tests.stubs.fake_backend import FakeBackend -Index: mistral-vibe-2.24.0/tests/cli/test_ui_config_screen.py +Index: mistral-vibe-2.24.1/tests/cli/test_ui_clipboard_notifications.py =================================================================== ---- mistral-vibe-2.24.0.orig/tests/cli/test_ui_config_screen.py 2026-08-07 21:30:20.430004398 +0200 -+++ mistral-vibe-2.24.0/tests/cli/test_ui_config_screen.py 2026-08-07 21:30:20.705006900 +0200 +--- mistral-vibe-2.24.1.orig/tests/cli/test_ui_clipboard_notifications.py 2026-08-11 17:43:49.459143434 +0200 ++++ mistral-vibe-2.24.1/tests/cli/test_ui_clipboard_notifications.py 2026-08-11 17:43:56.972803507 +0200 +@@ -3,6 +3,8 @@ + from unittest.mock import patch + + import pytest ++ ++pytestmark = pytest.mark.terminal + from textual.selection import Selection + from textual.widget import Widget + +Index: mistral-vibe-2.24.1/tests/cli/test_ui_config_screen.py +=================================================================== +--- mistral-vibe-2.24.1.orig/tests/cli/test_ui_config_screen.py 2026-08-11 17:43:49.459143434 +0200 ++++ mistral-vibe-2.24.1/tests/cli/test_ui_config_screen.py 2026-08-11 17:43:56.971204534 +0200 @@ -4,6 +4,8 @@ import tomllib @@ -28,10 +71,10 @@ import tomli_w from tests.conftest import ( -Index: mistral-vibe-2.24.0/tests/cli/test_ui_exit_command.py +Index: mistral-vibe-2.24.1/tests/cli/test_ui_exit_command.py =================================================================== ---- mistral-vibe-2.24.0.orig/tests/cli/test_ui_exit_command.py 2026-08-07 21:30:20.430004398 +0200 -+++ mistral-vibe-2.24.0/tests/cli/test_ui_exit_command.py 2026-08-07 21:30:20.705373810 +0200 +--- mistral-vibe-2.24.1.orig/tests/cli/test_ui_exit_command.py 2026-08-11 17:43:49.459143434 +0200 ++++ mistral-vibe-2.24.1/tests/cli/test_ui_exit_command.py 2026-08-11 17:43:56.971274246 +0200 @@ -4,6 +4,8 @@ import pytest @@ -41,11 +84,11 @@ from tests.conftest import build_test_vibe_app from vibe.cli.textual_ui.widgets.chat_input.container import ChatInputContainer from vibe.cli.textual_ui.widgets.messages import SlashCommandMessage, UserMessage -Index: mistral-vibe-2.24.0/tests/cli/test_ui_theme_picker.py +Index: mistral-vibe-2.24.1/tests/cli/test_ui_theme_picker.py =================================================================== ---- mistral-vibe-2.24.0.orig/tests/cli/test_ui_theme_picker.py 2026-08-07 21:30:20.430004398 +0200 -+++ mistral-vibe-2.24.0/tests/cli/test_ui_theme_picker.py 2026-08-07 21:30:20.705629081 +0200 -@@ -4,6 +4,8 @@ +--- mistral-vibe-2.24.1.orig/tests/cli/test_ui_theme_picker.py 2026-08-11 17:43:49.459143434 +0200 ++++ mistral-vibe-2.24.1/tests/cli/test_ui_theme_picker.py 2026-08-11 17:43:56.971598918 +0200 +@@ -5,6 +5,8 @@ import pytest @@ -54,10 +97,10 @@ from tests.conftest import build_test_vibe_app, build_test_vibe_config from vibe.cli.textual_ui.app import BottomApp from vibe.cli.textual_ui.widgets.theme_picker import ThemePickerApp -Index: mistral-vibe-2.24.0/tests/cli/test_whoami_command.py +Index: mistral-vibe-2.24.1/tests/cli/test_whoami_command.py =================================================================== ---- mistral-vibe-2.24.0.orig/tests/cli/test_whoami_command.py 2026-08-07 21:30:20.430004398 +0200 -+++ mistral-vibe-2.24.0/tests/cli/test_whoami_command.py 2026-08-07 21:30:20.705923986 +0200 +--- mistral-vibe-2.24.1.orig/tests/cli/test_whoami_command.py 2026-08-11 17:43:49.459143434 +0200 ++++ mistral-vibe-2.24.1/tests/cli/test_whoami_command.py 2026-08-11 17:43:56.971807651 +0200 @@ -4,6 +4,8 @@ import pytest @@ -67,10 +110,10 @@ from tests.conftest import build_test_vibe_app from tests.stubs.fake_account_gateway import FakeAccountGateway from tests.stubs.fake_identity_gateway import FakeIdentityGateway -Index: mistral-vibe-2.24.0/tests/cli/test_word_selection.py +Index: mistral-vibe-2.24.1/tests/cli/test_word_selection.py =================================================================== ---- mistral-vibe-2.24.0.orig/tests/cli/test_word_selection.py 2026-08-07 21:30:20.430004398 +0200 -+++ mistral-vibe-2.24.0/tests/cli/test_word_selection.py 2026-08-07 21:30:20.706364627 +0200 +--- mistral-vibe-2.24.1.orig/tests/cli/test_word_selection.py 2026-08-11 17:43:49.459143434 +0200 ++++ mistral-vibe-2.24.1/tests/cli/test_word_selection.py 2026-08-11 17:43:56.972060567 +0200 @@ -3,6 +3,8 @@ from typing import Any, ClassVar, cast @@ -80,10 +123,10 @@ from textual import events from textual.geometry import Offset, Region from textual.screen import Screen -Index: mistral-vibe-2.24.0/tests/cli/textual_ui/test_chat_input_word_drag.py +Index: mistral-vibe-2.24.1/tests/cli/textual_ui/test_chat_input_word_drag.py =================================================================== ---- mistral-vibe-2.24.0.orig/tests/cli/textual_ui/test_chat_input_word_drag.py 2026-08-07 21:30:20.430004398 +0200 -+++ mistral-vibe-2.24.0/tests/cli/textual_ui/test_chat_input_word_drag.py 2026-08-07 21:30:20.706764210 +0200 +--- mistral-vibe-2.24.1.orig/tests/cli/textual_ui/test_chat_input_word_drag.py 2026-08-11 17:43:49.459143434 +0200 ++++ mistral-vibe-2.24.1/tests/cli/textual_ui/test_chat_input_word_drag.py 2026-08-11 17:43:56.972345374 +0200 @@ -1,6 +1,8 @@ from __future__ import annotations @@ -93,35 +136,10 @@ from textual import events from textual.widgets.text_area import Selection -Index: mistral-vibe-2.24.0/pyproject.toml -=================================================================== ---- mistral-vibe-2.24.0.orig/pyproject.toml 2026-08-07 21:30:20.674363428 +0200 -+++ mistral-vibe-2.24.0/pyproject.toml 2026-08-07 21:30:55.143663870 +0200 -@@ -262,6 +262,7 @@ - timeout = 10 - markers = [ - "network: tests that require network-capable execution environment", -+ "terminal: tests that require terminal-capable execution environment", - ] - filterwarnings = [ - # (e2e) streaming mock server is started in a thread; and the cli is spawn in a fork -Index: mistral-vibe-2.24.0/tests/cli/test_ui_clipboard_notifications.py -=================================================================== ---- mistral-vibe-2.24.0.orig/tests/cli/test_ui_clipboard_notifications.py 2026-08-07 21:30:20.285003079 +0200 -+++ mistral-vibe-2.24.0/tests/cli/test_ui_clipboard_notifications.py 2026-08-07 21:30:55.140580821 +0200 -@@ -3,6 +3,8 @@ - from unittest.mock import patch - - import pytest -+ -+pytestmark = pytest.mark.terminal - from textual.selection import Selection - from textual.widget import Widget - -Index: mistral-vibe-2.24.0/tests/cli/textual_ui/test_message_queue_ui.py +Index: mistral-vibe-2.24.1/tests/cli/textual_ui/test_message_queue_ui.py =================================================================== ---- mistral-vibe-2.24.0.orig/tests/cli/textual_ui/test_message_queue_ui.py 2026-08-07 21:30:20.285003079 +0200 -+++ mistral-vibe-2.24.0/tests/cli/textual_ui/test_message_queue_ui.py 2026-08-07 21:30:55.140805935 +0200 +--- mistral-vibe-2.24.1.orig/tests/cli/textual_ui/test_message_queue_ui.py 2026-08-11 17:43:49.459143434 +0200 ++++ mistral-vibe-2.24.1/tests/cli/textual_ui/test_message_queue_ui.py 2026-08-11 17:43:56.972996742 +0200 @@ -4,6 +4,8 @@ import pytest @@ -131,10 +149,10 @@ from tests.conftest import build_test_vibe_app from vibe.cli.textual_ui.app import VibeApp from vibe.cli.textual_ui.widgets.chat_input.container import ChatInputContainer -Index: mistral-vibe-2.24.0/tests/e2e/agent_loop_characterization/test_resume.py +Index: mistral-vibe-2.24.1/tests/e2e/agent_loop_characterization/test_resume.py =================================================================== ---- mistral-vibe-2.24.0.orig/tests/e2e/agent_loop_characterization/test_resume.py 2026-08-07 21:30:20.285003079 +0200 -+++ mistral-vibe-2.24.0/tests/e2e/agent_loop_characterization/test_resume.py 2026-08-07 21:30:55.140969703 +0200 +--- mistral-vibe-2.24.1.orig/tests/e2e/agent_loop_characterization/test_resume.py 2026-08-11 17:43:49.459143434 +0200 ++++ mistral-vibe-2.24.1/tests/e2e/agent_loop_characterization/test_resume.py 2026-08-11 17:43:56.973246532 +0200 @@ -8,6 +8,8 @@ import pexpect import pytest @@ -144,10 +162,10 @@ from tests.e2e.agent_loop_characterization.support import ( assert_assistant_tool_call_present, assert_message_content_present, -Index: mistral-vibe-2.24.0/tests/e2e/agent_loop_characterization/test_subagents.py +Index: mistral-vibe-2.24.1/tests/e2e/agent_loop_characterization/test_subagents.py =================================================================== ---- mistral-vibe-2.24.0.orig/tests/e2e/agent_loop_characterization/test_subagents.py 2026-08-07 21:30:20.285003079 +0200 -+++ mistral-vibe-2.24.0/tests/e2e/agent_loop_characterization/test_subagents.py 2026-08-07 21:30:55.141132941 +0200 +--- mistral-vibe-2.24.1.orig/tests/e2e/agent_loop_characterization/test_subagents.py 2026-08-11 17:43:49.459143434 +0200 ++++ mistral-vibe-2.24.1/tests/e2e/agent_loop_characterization/test_subagents.py 2026-08-11 17:43:56.973510059 +0200 @@ -5,6 +5,8 @@ import pexpect import pytest @@ -157,10 +175,10 @@ from tests.e2e.agent_loop_characterization.support import ( assert_message_content_present, assert_tool_result_contains, -Index: mistral-vibe-2.24.0/tests/e2e/agent_loop_characterization/test_tool_execution.py +Index: mistral-vibe-2.24.1/tests/e2e/agent_loop_characterization/test_tool_execution.py =================================================================== ---- mistral-vibe-2.24.0.orig/tests/e2e/agent_loop_characterization/test_tool_execution.py 2026-08-07 21:30:20.285003079 +0200 -+++ mistral-vibe-2.24.0/tests/e2e/agent_loop_characterization/test_tool_execution.py 2026-08-07 21:30:55.141275540 +0200 +--- mistral-vibe-2.24.1.orig/tests/e2e/agent_loop_characterization/test_tool_execution.py 2026-08-11 17:43:49.459143434 +0200 ++++ mistral-vibe-2.24.1/tests/e2e/agent_loop_characterization/test_tool_execution.py 2026-08-11 17:43:56.973695007 +0200 @@ -6,6 +6,8 @@ import pexpect import pytest @@ -170,10 +188,10 @@ from tests.e2e.agent_loop_characterization.support import ( answer_approval, assert_assistant_tool_call_present, -Index: mistral-vibe-2.24.0/tests/e2e/agent_loop_characterization/test_tool_permissions.py +Index: mistral-vibe-2.24.1/tests/e2e/agent_loop_characterization/test_tool_permissions.py =================================================================== ---- mistral-vibe-2.24.0.orig/tests/e2e/agent_loop_characterization/test_tool_permissions.py 2026-08-07 21:30:20.285003079 +0200 -+++ mistral-vibe-2.24.0/tests/e2e/agent_loop_characterization/test_tool_permissions.py 2026-08-07 21:30:55.141422236 +0200 +--- mistral-vibe-2.24.1.orig/tests/e2e/agent_loop_characterization/test_tool_permissions.py 2026-08-11 17:43:49.459143434 +0200 ++++ mistral-vibe-2.24.1/tests/e2e/agent_loop_characterization/test_tool_permissions.py 2026-08-11 17:43:56.973882481 +0200 @@ -6,6 +6,8 @@ import pexpect import pytest @@ -183,10 +201,10 @@ from tests.e2e.agent_loop_characterization.support import ( answer_approval, assert_tool_result_contains, -Index: mistral-vibe-2.24.0/tests/e2e/agent_loop_characterization/test_user_interaction.py +Index: mistral-vibe-2.24.1/tests/e2e/agent_loop_characterization/test_user_interaction.py =================================================================== ---- mistral-vibe-2.24.0.orig/tests/e2e/agent_loop_characterization/test_user_interaction.py 2026-08-07 21:30:20.285003079 +0200 -+++ mistral-vibe-2.24.0/tests/e2e/agent_loop_characterization/test_user_interaction.py 2026-08-07 21:30:55.141567851 +0200 +--- mistral-vibe-2.24.1.orig/tests/e2e/agent_loop_characterization/test_user_interaction.py 2026-08-11 17:43:49.459143434 +0200 ++++ mistral-vibe-2.24.1/tests/e2e/agent_loop_characterization/test_user_interaction.py 2026-08-11 17:43:56.974060957 +0200 @@ -7,6 +7,8 @@ import pexpect import pytest @@ -196,10 +214,10 @@ from tests.e2e.agent_loop_characterization.support import ( APPROVAL_INPUT_GRACE_PERIOD_S, assert_tool_result_contains, -Index: mistral-vibe-2.24.0/tests/onboarding/test_ui_onboarding.py +Index: mistral-vibe-2.24.1/tests/onboarding/test_ui_onboarding.py =================================================================== ---- mistral-vibe-2.24.0.orig/tests/onboarding/test_ui_onboarding.py 2026-08-07 21:30:20.285003079 +0200 -+++ mistral-vibe-2.24.0/tests/onboarding/test_ui_onboarding.py 2026-08-07 21:30:55.141802042 +0200 +--- mistral-vibe-2.24.1.orig/tests/onboarding/test_ui_onboarding.py 2026-08-11 17:43:49.459143434 +0200 ++++ mistral-vibe-2.24.1/tests/onboarding/test_ui_onboarding.py 2026-08-11 17:43:56.974284138 +0200 @@ -10,6 +10,8 @@ import keyring from keyring.errors import KeyringError @@ -209,10 +227,10 @@ from textual.content import Content from textual.events import Resize from textual.geometry import Size -Index: mistral-vibe-2.24.0/tests/tools/test_ui_bash_execution.py +Index: mistral-vibe-2.24.1/tests/tools/test_ui_bash_execution.py =================================================================== ---- mistral-vibe-2.24.0.orig/tests/tools/test_ui_bash_execution.py 2026-08-07 21:30:20.285003079 +0200 -+++ mistral-vibe-2.24.0/tests/tools/test_ui_bash_execution.py 2026-08-07 21:30:55.142038257 +0200 +--- mistral-vibe-2.24.1.orig/tests/tools/test_ui_bash_execution.py 2026-08-11 17:43:49.459143434 +0200 ++++ mistral-vibe-2.24.1/tests/tools/test_ui_bash_execution.py 2026-08-11 17:43:56.974623768 +0200 @@ -5,6 +5,8 @@ from pydantic import JsonValue import pytest @@ -222,10 +240,10 @@ from tests.conftest import build_test_agent_loop, build_test_vibe_app from tests.mock.utils import mock_llm_chunk from tests.stubs.fake_backend import FakeBackend -Index: mistral-vibe-2.24.0/tests/vscode_extension_promo/test_ui_vscode_extension_promo.py +Index: mistral-vibe-2.24.1/tests/vscode_extension_promo/test_ui_vscode_extension_promo.py =================================================================== ---- mistral-vibe-2.24.0.orig/tests/vscode_extension_promo/test_ui_vscode_extension_promo.py 2026-08-07 21:30:20.285003079 +0200 -+++ mistral-vibe-2.24.0/tests/vscode_extension_promo/test_ui_vscode_extension_promo.py 2026-08-07 21:30:55.143455267 +0200 +--- mistral-vibe-2.24.1.orig/tests/vscode_extension_promo/test_ui_vscode_extension_promo.py 2026-08-11 17:43:49.459143434 +0200 ++++ mistral-vibe-2.24.1/tests/vscode_extension_promo/test_ui_vscode_extension_promo.py 2026-08-11 17:43:56.974873057 +0200 @@ -8,6 +8,8 @@ import pytest ++++++ warning_cleanup.patch ++++++ --- /var/tmp/diff_new_pack.NnYUzP/_old 2026-08-13 13:17:04.800706227 +0200 +++ /var/tmp/diff_new_pack.NnYUzP/_new 2026-08-13 13:17:04.808706591 +0200 @@ -1,7 +1,15 @@ -Index: mistral-vibe-2.24.0/tests/cli/test_connector_auth_app.py +--- + tests/cli/test_connector_auth_app.py | 2 +- + vibe/cli/textual_ui/widgets/connector_auth_app.py | 2 +- + vibe/cli/textual_ui/widgets/mcp_app.py | 2 +- + vibe/cli/textual_ui/widgets/question_app.py | 9 ++++----- + vibe/core/config/event_bus.py | 7 +++---- + 5 files changed, 10 insertions(+), 12 deletions(-) + +Index: mistral-vibe-2.24.1/tests/cli/test_connector_auth_app.py =================================================================== ---- mistral-vibe-2.24.0.orig/tests/cli/test_connector_auth_app.py 2026-08-06 23:21:42.407878128 +0200 -+++ mistral-vibe-2.24.0/tests/cli/test_connector_auth_app.py 2026-08-06 23:21:42.749881578 +0200 +--- mistral-vibe-2.24.1.orig/tests/cli/test_connector_auth_app.py 2026-08-11 17:43:49.315140926 +0200 ++++ mistral-vibe-2.24.1/tests/cli/test_connector_auth_app.py 2026-08-11 17:44:06.382867945 +0200 @@ -259,7 +259,7 @@ assert app._status_message == "Refreshing connector..." @@ -11,10 +19,10 @@ assert kwargs["group"] == "connector_refresh" -Index: mistral-vibe-2.24.0/vibe/cli/textual_ui/widgets/connector_auth_app.py +Index: mistral-vibe-2.24.1/vibe/cli/textual_ui/widgets/connector_auth_app.py =================================================================== ---- mistral-vibe-2.24.0.orig/vibe/cli/textual_ui/widgets/connector_auth_app.py 2026-08-06 23:21:42.407878128 +0200 -+++ mistral-vibe-2.24.0/vibe/cli/textual_ui/widgets/connector_auth_app.py 2026-08-06 23:21:42.750432704 +0200 +--- mistral-vibe-2.24.1.orig/vibe/cli/textual_ui/widgets/connector_auth_app.py 2026-08-11 17:43:49.315140926 +0200 ++++ mistral-vibe-2.24.1/vibe/cli/textual_ui/widgets/connector_auth_app.py 2026-08-11 17:44:06.383453979 +0200 @@ -98,7 +98,7 @@ self._status_message = "Refreshing connector..." self._set_help_text(_HELP) @@ -24,10 +32,10 @@ ) # ── workers ────────────────────────────────────────────────────── -Index: mistral-vibe-2.24.0/vibe/cli/textual_ui/widgets/mcp_app.py +Index: mistral-vibe-2.24.1/vibe/cli/textual_ui/widgets/mcp_app.py =================================================================== ---- mistral-vibe-2.24.0.orig/vibe/cli/textual_ui/widgets/mcp_app.py 2026-08-06 23:21:42.407878128 +0200 -+++ mistral-vibe-2.24.0/vibe/cli/textual_ui/widgets/mcp_app.py 2026-08-06 23:21:42.750728732 +0200 +--- mistral-vibe-2.24.1.orig/vibe/cli/textual_ui/widgets/mcp_app.py 2026-08-11 17:43:49.315140926 +0200 ++++ mistral-vibe-2.24.1/vibe/cli/textual_ui/widgets/mcp_app.py 2026-08-11 17:44:06.384162004 +0200 @@ -160,7 +160,7 @@ if self._refresh_callback is None or self._refreshing: return @@ -37,10 +45,10 @@ async def _run_refresh(self) -> None: if self._refresh_callback is not None: -Index: mistral-vibe-2.24.0/vibe/cli/textual_ui/widgets/question_app.py +Index: mistral-vibe-2.24.1/vibe/cli/textual_ui/widgets/question_app.py =================================================================== ---- mistral-vibe-2.24.0.orig/vibe/cli/textual_ui/widgets/question_app.py 2026-08-06 23:21:42.407878128 +0200 -+++ mistral-vibe-2.24.0/vibe/cli/textual_ui/widgets/question_app.py 2026-08-06 23:21:42.750919141 +0200 +--- mistral-vibe-2.24.1.orig/vibe/cli/textual_ui/widgets/question_app.py 2026-08-11 17:43:49.315140926 +0200 ++++ mistral-vibe-2.24.1/vibe/cli/textual_ui/widgets/question_app.py 2026-08-11 17:44:06.384511422 +0200 @@ -1,6 +1,5 @@ from __future__ import annotations @@ -63,10 +71,10 @@ if i not in self.answers ) self._switch_question(new_idx) -Index: mistral-vibe-2.24.0/vibe/core/config/event_bus.py +Index: mistral-vibe-2.24.1/vibe/core/config/event_bus.py =================================================================== ---- mistral-vibe-2.24.0.orig/vibe/core/config/event_bus.py 2026-08-06 23:21:42.407878128 +0200 -+++ mistral-vibe-2.24.0/vibe/core/config/event_bus.py 2026-08-06 23:21:42.751133806 +0200 +--- mistral-vibe-2.24.1.orig/vibe/core/config/event_bus.py 2026-08-11 17:43:49.315140926 +0200 ++++ mistral-vibe-2.24.1/vibe/core/config/event_bus.py 2026-08-11 17:44:06.384772414 +0200 @@ -2,8 +2,6 @@ from collections.abc import Callable
