From e982cd090efc8786f32818cfd26b2c07dd801930 Mon Sep 17 00:00:00 2001 From: 魏曹先生 <1992414357@qq.com> Date: Fri, 2 Jan 2026 17:22:00 +0800 Subject: Add ref sheet VFS mapping to LatestInfo This adds a reverse mapping from virtual file IDs to their actual paths in reference sheets, which is needed for proper file resolution during operations that reference files by ID. --- crates/vcs_actions/src/actions/local_actions.rs | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) (limited to 'crates/vcs_actions/src') diff --git a/crates/vcs_actions/src/actions/local_actions.rs b/crates/vcs_actions/src/actions/local_actions.rs index d3f718d..8799930 100644 --- a/crates/vcs_actions/src/actions/local_actions.rs +++ b/crates/vcs_actions/src/actions/local_actions.rs @@ -24,7 +24,7 @@ use vcs_data::{ vault_modified::sign_vault_modified, }, member::MemberId, - sheet::{SheetData, SheetName}, + sheet::{SheetData, SheetName, SheetPathBuf}, vault::{ config::VaultUuid, sheet_share::{Share, SheetShareId}, @@ -214,7 +214,12 @@ pub async fn update_to_latest_info_action( // RefSheet let ref_sheet_data = vault.sheet(&REF_SHEET_NAME.to_string()).await?.to_data(); - latest_info.ref_sheet_content = ref_sheet_data; + latest_info.ref_sheet_content = ref_sheet_data.clone(); + latest_info.ref_sheet_vfs_mapping = ref_sheet_data + .mapping() + .into_iter() + .map(|(path, file)| (file.id.clone(), path.clone())) + .collect::>(); latest_info.reference_sheets = ref_sheets; // Members -- cgit