What's Changed
Fixed
TUI on huge firmware (reported against a 220k-function Fortinet init_org):
- Sidebar search is now server-side. Previously the sidebar pulled one 1000-item page and filtered locally — anything past the first page (including every function you renamed) was invisible, and loading a huge list froze input. Typing in the filter now re-queries the worker with the pattern; the status line shows
shown / total; the initial view lists the first page with the true total. Measured oninit_org: pattern queries ~1s, first page ~1s. - Real functions sort before imports. Dot- and
__-prefixed extern thunks no longer bury actual code at the top of the default list. - Address seek works everywhere —
g 0xADDRresolves through the function-signature tool even when the containing function was never listed. - Rename updates the sidebar immediately — the new name is searchable without pressing
r.
Fixed
- Data-loss bug found during verification: the worker saved unconditionally on shutdown, so
close_database(save=False)corrupted the database instead of discarding it — a freshly openedcomplex.exe.i64was rewritten as an empty database (open error 4). The shutdown request's save flag now reaches the worker; saving happens only when requested. - Quit semantics reminder:
q= save + close the worker (last user);ctrl+q= keep the worker alive for MCP clients — intended behavior, now actually reliable.
Full Changelog: v1.1.2...v1.1.3