From 207be3c771d281baae6e5fa0fb74be9a056e97a2 Mon Sep 17 00:00:00 2001 From: Can Celik Date: Tue, 1 Sep 2026 15:48:22 +0300 Subject: refactor: render the shell in the client (#3487) * feat: add opt-in client-rendered shell * feat: add client-owned shell mouse controls * feat: complete client-owned shell chrome * feat: add client-owned shell settings and notifications * feat: run client shell custom commands * feat: render popup terminals in client shell * feat: add client-owned scrollback and copy mode * fix: preserve client worktree trust defaults * feat: render startup diagnostics in client shell * feat: render onboarding in client shell * feat: render product announcements in client shell * feat: render release notes in client shell * feat: render mobile switcher in client shell * feat: render kitty graphics in client shell * fix: preserve client shell lifecycle coherence * refactor: route client shell commands through endpoint connections * refactor: make the client-rendered shell the default * refactor: remove monolithic launch mode * refactor: complete client-rendered shell cutover * perf: retain client pane surface updates * perf: scale retained pane surface updates * perf: remove remote pane input latency * test: make client shell checks platform-independent * fix: prevent client timer starvation * test: fix client shell platform gates * test: accept retained surfaces in cross-area checks * test: make client mode assertions platform-neutral * fix: badge only outdated integrations --- src/api/schema/response.rs | 29 ++++++++++++++++++++++++++++- 1 file changed, 28 insertions(+), 1 deletion(-) (limited to 'src/api/schema/response.rs') diff --git a/src/api/schema/response.rs b/src/api/schema/response.rs index da2813a6..180d6645 100644 --- a/src/api/schema/response.rs +++ b/src/api/schema/response.rs @@ -9,7 +9,7 @@ use super::integrations::{ use super::panes::{ LayoutDescription, PaneEdgesResult, PaneFocusDirectionResult, PaneInfo, PaneLayoutSnapshot, PaneMoveResult, PaneNeighborResult, PaneProcessInfo, PaneReadResult, PaneResizeResult, - PaneSwapResult, PaneZoomResult, + PaneSwapResult, PaneTextPoint, PaneTextRange, PaneZoomResult, }; use super::plugins::{ InstalledPluginInfo, PluginActionInfo, PluginCommandLogInfo, PluginInvocationContext, @@ -162,6 +162,25 @@ pub enum ResponseResult { PaneRead { read: PaneReadResult, }, + PaneSelection { + pane_id: String, + text: String, + }, + PaneCopyMotion { + pane_id: String, + cursor: PaneTextPoint, + content_revision: u64, + }, + PaneCopySearch { + pane_id: String, + content_revision: u64, + matches: Vec, + total: u64, + #[serde(default, skip_serializing_if = "Option::is_none")] + current: Option, + #[serde(default, skip_serializing_if = "Option::is_none")] + current_global: Option, + }, PaneGraphicsFrameAck { sequence: u64, revision: u64, @@ -210,6 +229,9 @@ pub enum ResponseResult { changed: bool, reason: ClientWindowTitleReason, }, + IntegrationList { + integrations: Vec, + }, IntegrationInstall { target: IntegrationTarget, details: IntegrationInstallResult, @@ -252,6 +274,11 @@ pub enum ResponseResult { context: PluginInvocationContext, log: PluginCommandLogInfo, }, + PaneLinkActivated { + #[serde(default, skip_serializing_if = "Option::is_none")] + url: Option, + handled: bool, + }, PluginLogList { logs: Vec, }, -- cgit v1.2.3