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/config/model.rs | 17 +++++++---------- 1 file changed, 7 insertions(+), 10 deletions(-) (limited to 'src/config/model.rs') diff --git a/src/config/model.rs b/src/config/model.rs index c10cd733..552c19de 100644 --- a/src/config/model.rs +++ b/src/config/model.rs @@ -101,15 +101,6 @@ pub enum AgentPanelSortConfig { Priority, } -impl AgentPanelSortConfig { - pub fn as_str(self) -> &'static str { - match self { - Self::Spaces => "spaces", - Self::Priority => "priority", - } - } -} - #[derive(Debug, Clone, Copy, PartialEq, Eq, Deserialize)] #[serde(rename_all = "lowercase")] enum LegacyAgentPanelScopeConfig { @@ -372,7 +363,7 @@ pub struct KeysConfig { pub navigate_pane_up: BindingConfig, /// Focus the pane to the right in navigate mode. Default: "l". Right arrow is always an alias. pub navigate_pane_right: BindingConfig, - /// Detach from server/client mode, or exit --no-session mode. Default: "prefix+q". + /// Detach the current client from its Herdr server. Default: "prefix+q". pub detach: BindingConfig, /// Reload config.toml in the running app/server. Default: "prefix+shift+r". pub reload_config: BindingConfig, @@ -593,6 +584,12 @@ pub(crate) struct KeysConfigOverlay { command: Option>, } +impl KeysConfigOverlay { + pub(crate) fn set_prefix(&mut self, prefix: String) { + self.prefix = Some(prefix); + } +} + impl<'de> Deserialize<'de> for KeysConfig { fn deserialize(deserializer: D) -> Result where -- cgit v1.2.3