Skip to content

Commit b72d9af

Browse files
neumieclaude
andcommitted
fix: wire up content pane registry for PTY dirty notifications
The content pane registry callback (set_register_content_pane_fn) was never connected at startup, so the PTY event loop could never find terminal content panes to notify. Terminals only updated via GPUI's entity-tracking mechanism, which doesn't work reliably through cached views — causing 200-1300ms frame stalls on macOS. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
1 parent 8fe09a0 commit b72d9af

File tree

1 file changed

+5
-0
lines changed

1 file changed

+5
-0
lines changed

src/main.rs

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -631,6 +631,11 @@ fn main() {
631631
})
632632
.detach();
633633

634+
// Wire up content pane registration so PTY events can notify terminal views
635+
okena_views_terminal::set_register_content_pane_fn(Box::new(|terminal_id, weak_content| {
636+
crate::views::root::content_pane_registry().lock().insert(terminal_id, weak_content);
637+
}));
638+
634639
// Create the main app view wrapped in Root (required for gpui_component inputs)
635640
let okena = cx.new(|cx| {
636641
Okena::new(workspace_data, pty_manager.clone(), pty_events, listen_addr, window, cx)

0 commit comments

Comments
 (0)