summaryrefslogtreecommitdiff
path: root/crates/vcs_actions/src
diff options
context:
space:
mode:
author魏曹先生 <1992414357@qq.com>2025-11-06 22:10:36 +0800
committer魏曹先生 <1992414357@qq.com>2025-11-06 22:10:36 +0800
commit4e5818bbdc385cadb02e22836dbe2cd0a0c3abd1 (patch)
tree496a36a2f88b7435447a373523b2e318c2f08f6c /crates/vcs_actions/src
parent2779eb3782b1f9876ff300878b58836fcceb3a2e (diff)
update: Connection and registry enhancements
- Refine action service connection handling - Extend client registry functionality - Enhance server registry capabilities
Diffstat (limited to 'crates/vcs_actions/src')
-rw-r--r--crates/vcs_actions/src/connection/action_service.rs8
-rw-r--r--crates/vcs_actions/src/registry/client_registry.rs4
-rw-r--r--crates/vcs_actions/src/registry/server_registry.rs4
3 files changed, 15 insertions, 1 deletions
diff --git a/crates/vcs_actions/src/connection/action_service.rs b/crates/vcs_actions/src/connection/action_service.rs
index d9ddaab..a736ed8 100644
--- a/crates/vcs_actions/src/connection/action_service.rs
+++ b/crates/vcs_actions/src/connection/action_service.rs
@@ -1,4 +1,5 @@
use std::{
+ env::set_current_dir,
net::SocketAddr,
path::PathBuf,
sync::Arc,
@@ -25,6 +26,11 @@ pub async fn server_entry(
vault_path: impl Into<PathBuf>,
port_override: u16,
) -> Result<(), TcpTargetError> {
+ let vault_path = vault_path.into();
+
+ // Set to vault path
+ set_current_dir(&vault_path).map_err(|e| TcpTargetError::Io(e.to_string()))?;
+
// Read the vault cfg
let vault_cfg = VaultConfig::read().await?;
@@ -32,7 +38,7 @@ pub async fn server_entry(
let listener = create_tcp_listener(&vault_cfg, port_override).await?;
// Initialize the vault
- let vault: Arc<Vault> = init_vault(vault_cfg, vault_path.into()).await?;
+ let vault: Arc<Vault> = init_vault(vault_cfg, vault_path).await?;
// Lock the vault
vault
diff --git a/crates/vcs_actions/src/registry/client_registry.rs b/crates/vcs_actions/src/registry/client_registry.rs
index 95c0939..ec2462f 100644
--- a/crates/vcs_actions/src/registry/client_registry.rs
+++ b/crates/vcs_actions/src/registry/client_registry.rs
@@ -14,6 +14,7 @@ use crate::{
register_set_upstream_vault_action, register_update_to_latest_info_action,
},
sheet_actions::{register_drop_sheet_action, register_make_sheet_action},
+ virtual_file_actions::register_track_file_action,
},
connection::protocol::RemoteActionInvoke,
};
@@ -28,6 +29,9 @@ fn register_actions(pool: &mut ActionPool) {
// Sheet Actions
register_make_sheet_action(pool);
register_drop_sheet_action(pool);
+
+ // Virtual File Actions
+ register_track_file_action(pool);
}
pub fn client_action_pool() -> ActionPool {
diff --git a/crates/vcs_actions/src/registry/server_registry.rs b/crates/vcs_actions/src/registry/server_registry.rs
index b99d697..fbec4af 100644
--- a/crates/vcs_actions/src/registry/server_registry.rs
+++ b/crates/vcs_actions/src/registry/server_registry.rs
@@ -3,6 +3,7 @@ use action_system::action_pool::ActionPool;
use crate::actions::{
local_actions::{register_set_upstream_vault_action, register_update_to_latest_info_action},
sheet_actions::{register_drop_sheet_action, register_make_sheet_action},
+ virtual_file_actions::register_track_file_action,
};
pub fn server_action_pool() -> ActionPool {
@@ -16,5 +17,8 @@ pub fn server_action_pool() -> ActionPool {
register_make_sheet_action(&mut pool);
register_drop_sheet_action(&mut pool);
+ // Virtual File Actions
+ register_track_file_action(&mut pool);
+
pool
}