From 62125c1f822049a060b3300718f3aa1977cf57fc Mon Sep 17 00:00:00 2001 From: austinpower1258 Date: Sat, 7 Mar 2026 11:06:38 -0800 Subject: [PATCH 1/2] Fix terminal drag hover overlay flicker --- vendor/bonsplit | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/vendor/bonsplit b/vendor/bonsplit index b1f4916a..fa452db1 160000 --- a/vendor/bonsplit +++ b/vendor/bonsplit @@ -1 +1 @@ -Subproject commit b1f4916a15c8c7ef6cb2b1401c6af43fbac8708b +Subproject commit fa452db181f361514087558a29204bda7e38218f From e4d8002116e244d32afc9aec0f5155f895538924 Mon Sep 17 00:00:00 2001 From: austinpower1258 Date: Sat, 7 Mar 2026 11:36:58 -0800 Subject: [PATCH 2/2] Rebind terminal portal when host entry goes missing --- Sources/GhosttyTerminalView.swift | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/Sources/GhosttyTerminalView.swift b/Sources/GhosttyTerminalView.swift index 1e654241..4e2139e4 100644 --- a/Sources/GhosttyTerminalView.swift +++ b/Sources/GhosttyTerminalView.swift @@ -7030,13 +7030,24 @@ struct GhosttyTerminalView: NSViewRepresentable { if host.window != nil { let hostId = ObjectIdentifier(host) let geometryRevision = host.geometryRevision + let portalEntryMissing = !TerminalWindowPortalRegistry.isHostedView(hostedView, boundTo: host) let shouldBindNow = coordinator.lastBoundHostId != hostId || hostedView.superview == nil || + portalEntryMissing || previousDesiredIsVisibleInUI != isVisibleInUI || previousDesiredShowsUnreadNotificationRing != showsUnreadNotificationRing || previousDesiredPortalZPriority != portalZPriority if shouldBindNow { +#if DEBUG + if portalEntryMissing { + dlog( + "ws.hostState.rebindOnUpdate surface=\(terminalSurface.id.uuidString.prefix(5)) " + + "reason=portalEntryMissing visible=\(coordinator.desiredIsVisibleInUI ? 1 : 0) " + + "active=\(coordinator.desiredIsActive ? 1 : 0) z=\(coordinator.desiredPortalZPriority)" + ) + } +#endif TerminalWindowPortalRegistry.bind( hostedView: hostedView, to: host,