From 7f5828f35d855889f7d2c75346278c7465d465a2 Mon Sep 17 00:00:00 2001 From: drendog Date: Sun, 18 Jan 2026 02:47:06 +0100 Subject: [PATCH] refactor: single source of truth for lock state --- crates/composition/src/session_lock.rs | 21 ++++++++++----------- 1 file changed, 10 insertions(+), 11 deletions(-) diff --git a/crates/composition/src/session_lock.rs b/crates/composition/src/session_lock.rs index 6680401..267cbfb 100644 --- a/crates/composition/src/session_lock.rs +++ b/crates/composition/src/session_lock.rs @@ -10,7 +10,7 @@ use layer_shika_domain::value_objects::lock_config::LockConfig; use layer_shika_domain::value_objects::lock_state::LockState; use layer_shika_domain::value_objects::margins::Margins; use layer_shika_domain::value_objects::output_policy::OutputPolicy; -use std::cell::{Cell, RefCell}; +use std::cell::RefCell; use std::rc::Rc; use std::rc::Weak; @@ -18,7 +18,6 @@ pub struct SessionLock { system: Weak>, component_name: String, config: LockConfig, - state: Cell, command_sender: channel::Sender, } @@ -33,7 +32,6 @@ impl SessionLock { system, component_name, config, - state: Cell::new(LockState::Inactive), command_sender, } } @@ -99,14 +97,15 @@ impl SessionLock { #[must_use] pub fn state(&self) -> LockState { - if let Some(system) = self.system.upgrade() { - if let Ok(borrowed) = system.try_borrow() { - if let Some(state) = borrowed.session_lock_state() { - self.state.set(state); - } - } - } - self.state.get() + let Some(system) = self.system.upgrade() else { + return LockState::Inactive; + }; + + let Ok(borrowed) = system.try_borrow() else { + return LockState::Inactive; + }; + + borrowed.session_lock_state().unwrap_or(LockState::Inactive) } #[must_use]