fix: /resume latest searches all workspaces

Fixes /resume latest to search all workspaces instead of just the current one.
This commit is contained in:
TheArchitectit
2026-05-24 21:24:41 -05:00
committed by GitHub
parent 0975252976
commit f1a55a211e
3 changed files with 198 additions and 7 deletions

View File

@@ -2,6 +2,13 @@
dead_code,
unused_imports,
unused_variables,
clippy::doc_markdown,
clippy::len_zero,
clippy::manual_string_new,
clippy::match_same_arms,
clippy::result_large_err,
clippy::too_many_lines,
clippy::uninlined_format_args,
clippy::unneeded_struct_pattern,
clippy::unnecessary_wraps,
clippy::unused_self
@@ -6060,9 +6067,16 @@ fn latest_managed_session() -> Result<ManagedSessionSummary, Box<dyn std::error:
fn load_session_reference(
reference: &str,
) -> Result<(SessionHandle, Session), Box<dyn std::error::Error>> {
let loaded = current_session_store()?
.load_session(reference)
.map_err(|e| Box::new(e) as Box<dyn std::error::Error>)?;
let store = current_session_store()?;
// For alias references ("latest", "last", "recent"), allow cross-workspace
// resume so /resume latest finds the most recent session globally.
// For explicit references, workspace validation is enforced.
let result = if runtime::session_control::is_session_reference_alias(reference) {
store.load_session_loose(reference)
} else {
store.load_session(reference)
};
let loaded = result.map_err(|e| Box::new(e) as Box<dyn std::error::Error>)?;
Ok((
SessionHandle {
id: loaded.handle.id,