From dec919849206509c2c618e89cd77e3733e0b467e Mon Sep 17 00:00:00 2001 From: LGUG2Z Date: Fri, 30 Oct 2026 23:05:41 -0700 Subject: [PATCH] refactor(mac): print the macOS view of the schema of komorebi-config komorebic static-config-schema and the daemon's StaticConfigSchema answer print schema::view::(Platform::CURRENT) of the shared crate instead of the schema derived from the daemon's own StaticConfig; the oracle test proves the macOS view equals schema.json byte for byte. Verified: macOS fake-CC cargo check --locked --target aarch64-apple-darwin --workspace --all-targets: finished, 0 errors (tier 2). Not verified: running komorebic or the macOS tests. --- komorebi-for-mac/komorebi/src/process_command.rs | 6 ++++-- komorebi-for-mac/komorebic/src/main.rs | 7 ++++--- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/komorebi-for-mac/komorebi/src/process_command.rs b/komorebi-for-mac/komorebi/src/process_command.rs index 32b5787a..e7bca902 100644 --- a/komorebi-for-mac/komorebi/src/process_command.rs +++ b/komorebi-for-mac/komorebi/src/process_command.rs @@ -1628,8 +1628,10 @@ impl WindowManager { SocketMessage::StaticConfigSchema => { #[cfg(feature = "schemars")] { - let static_config = schemars::schema_for!(StaticConfig); - let schema = serde_json::to_string_pretty(&static_config)?; + let schema = komorebi_config::schema::view::< + komorebi_config::static_config::StaticConfig, + >(komorebi_config::schema::Platform::CURRENT); + let schema = schema.trim_end(); reply.write_all(schema.as_bytes())?; } diff --git a/komorebi-for-mac/komorebic/src/main.rs b/komorebi-for-mac/komorebic/src/main.rs index 1f06c950..238e1e86 100644 --- a/komorebi-for-mac/komorebic/src/main.rs +++ b/komorebi-for-mac/komorebic/src/main.rs @@ -2583,9 +2583,10 @@ exit 1 SubCommand::StaticConfigSchema => { #[cfg(feature = "schemars")] { - let socket_message = schemars::schema_for!(komorebi_client::StaticConfig); - let schema = serde_json::to_string_pretty(&socket_message)?; - println!("{schema}"); + let schema = komorebi_config::schema::view::< + komorebi_config::static_config::StaticConfig, + >(komorebi_config::schema::Platform::CURRENT); + print!("{schema}"); } } SubCommand::SubscribeSocket(args) => {