mirror of
https://github.com/earendil-works/pi.git
synced 2026-06-18 15:54:04 +08:00
fix(coding-agent): tear down extension UI before runner invalidation on shutdown (#3597)
Custom footers registered via ctx.ui.setFooter(...) whose render() closure touched ctx would crash pi on /quit: runtimeHost.dispose() invalidates the extension runner before the TUI stops rendering, so any still-attached footer render tick hit assertActive() and threw. Call resetExtensionUI() before runtimeHost.dispose() in the interactive shutdown path, matching the rebindCurrentSession() pattern. This disposes the custom footer (clearing its interval) and detaches it from the TUI tree before the runner goes stale. closes #3595 Co-authored-by: Mario Zechner <badlogicgames@gmail.com>
This commit is contained in:
committed by
GitHub
Unverified
parent
ab744e216d
commit
ff220fa41d
@@ -3182,6 +3182,7 @@ export class InteractiveMode {
|
||||
if (this.isShuttingDown) return;
|
||||
this.isShuttingDown = true;
|
||||
this.unregisterSignalHandlers();
|
||||
this.resetExtensionUI();
|
||||
await this.runtimeHost.dispose();
|
||||
|
||||
// Wait for any pending renders to complete
|
||||
|
||||
Reference in New Issue
Block a user