diff options
| author | blasty <blasty@local> | 2026-07-23 23:58:59 +0200 |
|---|---|---|
| committer | blasty <blasty@local> | 2026-07-23 23:58:59 +0200 |
| commit | 2b7623ab730f486613f47dbcde7e5432ced24021 (patch) | |
| tree | 88e6bead195985f7620e9b0eabfc3f282f01fa93 | |
| parent | ux: start the analysis server from inside the TUI (no more dead window) (diff) | |
| download | ida-tui-2b7623ab730f486613f47dbcde7e5432ced24021.tar.gz ida-tui-2b7623ab730f486613f47dbcde7e5432ced24021.tar.xz ida-tui-2b7623ab730f486613f47dbcde7e5432ced24021.zip | |
ux: label the startup wait as auto-analysis, not "starting a server"
The supervisor opens + auto-analyzes its seed binary BEFORE it binds the port
(idalib_supervisor.main), so the whole "starting analysis server" wait is really
IDA running initial auto-analysis. Relabel the overlay notes to say so:
"starting IDA — initial auto-analysis of <bin>…" then
"auto-analyzing <bin>… (Ns) first open of a big binary can take a while".
Message-only change in _ensure_server (with the progress callback); no behavior
change. Verified the emitted notes with a mocked server-up poll.
| -rw-r--r-- | idatui/launch.py | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/idatui/launch.py b/idatui/launch.py index 7432a53..50ad88c 100644 --- a/idatui/launch.py +++ b/idatui/launch.py @@ -83,7 +83,11 @@ def _ensure_server(url: str, target: str | None, timeout: float = 90.0, if host not in ("127.0.0.1", "localhost", "::1"): note(f"server at {host}:{port} is down and not local — cannot auto-start") return False - note(f"starting analysis server (log: {_server_log_path()})…") + # The supervisor opens + auto-analyzes its seed binary BEFORE it binds the + # port (idalib_supervisor.main), so this whole wait is really IDA running + # initial auto-analysis — label it as such, not just "starting a server". + label = os.path.basename(target) if target else "binary" + note(f"starting IDA — initial auto-analysis of {label}…") proc = _start_supervisor(target) deadline = time.time() + timeout t0 = time.time() @@ -93,9 +97,10 @@ def _ensure_server(url: str, target: str | None, timeout: float = 90.0, if proc is not None and proc.poll() is not None: note("analysis server exited during startup — check the log") return False - note(f"starting analysis server… ({int(time.time() - t0)}s)") + note(f"auto-analyzing {label}… ({int(time.time() - t0)}s) " + f"first open of a big binary can take a while") time.sleep(0.5) - note(f"analysis server did not come up within {timeout:.0f}s") + note(f"analysis did not finish within {timeout:.0f}s") return False |
