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:
@@ -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