aboutsummaryrefslogtreecommitdiff
path: root/crates/vcs_actions
Commit message (Collapse)AuthorAgeFilesLines
* Add `hold_virtual_file_action` in user actions魏曹先生2025-11-251-0/+36
|
* Rename `virtual_file_action.rs` to `track_action.rs`魏曹先生2025-11-254-8/+9
|
* Implement file synchronization in track file action魏曹先生2025-11-241-33/+148
| | | | | | | - Add sync task processing for both local and remote operations - Use temp files for secure download operations - Update file metadata after successful synchronization - Add proper error handling and cleanup for sync operations - Display sync progress with appropriate status symbols
* Optimize update info transmission to ignore file member presence魏曹先生2025-11-241-8/+7
| | | | | The version information is now sent regardless of whether files have member holders, simplifying the update protocol.
* Use virtual file metadata version for baseline verification魏曹先生2025-11-241-2/+2
|
* Fix workspace not marked as modified after successful update魏曹先生2025-11-241-0/+3
| | | | | When updating to latest info with no sync needed, ensure the workspace is properly marked as unmodified when running local procedures.
* Add vault modification tracking魏曹先生2025-11-233-2/+16
| | | | | | | - Record vault state changes in sheet operations - Track modifications when creating, dropping, or updating sheets - Mark vault as unmodified after syncing with upstream - Add vault_modified module with check and sign functions
* Apply clippy suggestions魏曹先生2025-11-233-72/+57
|
* add: Support for update descriptions and info printing魏曹先生2025-11-201-0/+17
| | | | Add file_update_info parameter to track versions and descriptions, add print_infos flag for user feedback.
* update: Improve file update task processing魏曹先生2025-11-201-31/+41
| | | | Implement complete update task processing for both local and remote operations, add version validation and conflict detection.
* feat: Add file update verification system魏曹先生2025-11-201-44/+306
| | | | Add comprehensive file update verification with detailed failure reasons including version mismatch, file not held, and missing descriptions.
* Ensure task processing order by using Vec instead of HashSet魏曹先生2025-11-171-26/+24
| | | | | | | The change from HashSet to Vec for task collections maintains the order of file operations, which is important for consistent processing behavior. This affects created_task, update_task, and sync_task variables throughout the code.
* Use member-specific paths for latest info files魏曹先生2025-11-172-10/+23
|
* feat: Add file status tracking and SHA1 hash system魏曹先生2025-11-174-38/+750
| | | | | | | - Implement SHA1 hash calculation module with async support - Add file status analysis for tracking moves, creates, and modifications - Enhance local file management with relative path handling - Update virtual file actions with improved tracking capabilities
* feat: Add virtual file actions foundation (WIP)魏曹先生2025-11-061-0/+32
| | | | | | - Create virtual file actions module - Add basic structure for virtual file operations - NOTE: Still under development
* update: Connection and registry enhancements魏曹先生2025-11-063-1/+15
| | | | | | - Refine action service connection handling - Extend client registry functionality - Enhance server registry capabilities
* feat: Overhaul local-remote synchronization魏曹先生2025-11-061-44/+119
| | | | | | | - Add cached sheet data synchronization - Implement bidirectional sheet version checking - Enhance update_to_latest_info_action with sheet sync - Add support for SheetData and CachedSheet integration
* Add sheet restoration and drop functionality魏曹先生2025-11-054-22/+149
| | | | | | | - Add write_and_return macro for common result handling pattern - Extend make_sheet_action to restore sheets with no holder - Implement drop_sheet_action for releasing sheet ownership - Register new drop_sheet_action in client and server registries
* feat: Enhance upstream vault action魏曹先生2025-11-031-2/+28
| | | | | | - Add redirect functionality for already stained workspaces - Implement SameUpstream and Redirected result types - Improve vault address update logic
* update: Local actions and data structures魏曹先生2025-11-031-3/+12
| | | | | | - Update local actions implementation - Improve latest info handling - Enhance vault sheets management
* update: Registry and connection improvements魏曹先生2025-11-032-4/+19
| | | | | - Update client and server registry logic - Improve TCP connection instance handling
* feat: Add sheet creation action魏曹先生2025-11-031-0/+79
| | | | | | - Implement make_sheet_action for creating sheets - Add sheet-related constants - Update sheet data structures
* Add update_to_latest_info action魏曹先生2025-10-303-6/+87
| | | | | | This action synchronizes the latest vault information including sheets, reference sheet content, and member data between local and remote instances.
* Change auth_member to return MemberId on success魏曹先生2025-10-302-7/+9
| | | | | | The authentication function now returns the authenticated member's ID instead of just () when successful. This provides callers with access to the authenticated member's identity for subsequent operations.
* Apply clippy suggestions魏曹先生2025-10-292-4/+2
| | | | | - Use dereferenced UUID instead of cloning - Simplify error message formatting
* Add LocalWorkspace and UserDirectory to client ActionContext魏曹先生2025-10-291-0/+34
| | | | | | | | | | | Initialize and insert Arc-wrapped LocalWorkspace and UserDirectory instances into the ActionContext for client environment actions. This provides workspace and user directory data to actions running in client mode. The LocalWorkspace is initialized from the current directory's local config, while UserDirectory uses the current document directory. Both are wrapped in Arc for efficient sharing across the action execution.
* feat: Add port override capability to server entry魏曹先生2025-10-291-8/+18
| | | | | | | The server_entry function now accepts an optional port_override parameter that allows specifying a custom port instead of using the configured port from vault configuration. When port_override is greater than 0, it takes precedence over the configured port.
* Update actions.rs魏曹先生2025-10-291-0/+113
|
* feat: Completed `set_upstream_vault_action`魏曹先生2025-10-291-16/+62
|
* update: Action.rs 1. Rename `insert` to `with_data` and `insert_arc` to魏曹先生2025-10-291-1/+1
| | | | | `with_arc_data` 2. Add new `insert_data` and `insert_arc_data` methods that take &mut self
* Fix error handling in process_connection魏曹先生2025-10-271-2/+1
|
* Update dependencies to latest versions魏曹先生2025-10-271-4/+4
|
* update: Add connection logs to show active count魏曹先生2025-10-271-2/+2
| | | | | Include current connection count in connection open/close log messages for better monitoring of server load
* update: Add server lock behavior to vault lifecycle魏曹先生2025-10-271-0/+9
| | | | Lock the vault before starting the server and unlock it during shutdown.
* update: Remove `hello_world_action`魏曹先生2025-10-271-21/+0
|
* fixed: Incorrect condition setting for determining whether to send魏曹先生2025-10-271-1/+1
| | | | parameters during `on_proc_begin`
* update: ActionContext 1. Rename `local` to `proc_on_local` 2. Add魏曹先生2025-10-271-4/+4
| | | | `is_remote_action`
* fix: Make the ActionContext passed to on_proc_begin mutable魏曹先生2025-10-271-1/+1
|
* Add some debug logs魏曹先生2025-10-272-16/+61
|
* Fix some spelling issues.魏曹先生2025-10-242-3/+20
|
* Re-export subcrate `action_system` to `just_enough_vcs`魏曹先生2025-10-242-3/+14
|
* Fix Clippy warnings and optimize code魏曹先生2025-10-132-4/+4
| | | | | | | | | - Fix let_underscore_future warning by properly awaiting async functions - Make accept_import function async to match add_mapping usage - Propagate errors properly with ? operator instead of ignoring them - Replace manual Default implementation with derive attribute - Replace vec! with array literal to avoid useless_vec warning - All tests pass and code is now Clippy clean
* feat: implement asynchronous action call system魏曹先生2025-10-134-20/+34
| | | | | | | | | | - Add async callback support with proper argument passing - Implement remote action invocation via TCP connection - Add hello_world_action example demonstrating async communication - Improve ActionPool with type-safe async processing - Update client registry for remote action handling - Enhance ActionContext with better instance management - Support both local and remote action execution modes
* feat: Implement JSON-based type-erased action invocation魏曹先生2025-10-135-11/+56
| | | | | | | | | - Add process_json method to ActionPool for type-agnostic calls using JSON serialization - Extend ActionContext with action_name and action_args fields and setter methods - Update action_gen macro to use process_json instead of typed process method - Implement remote action invocation framework in client_registry and action_service - Add protocol definitions for remote action communication - Enable flexible action execution without explicit type specifications
* feat: Add JSON-based action invocation to ActionPool魏曹先生2025-10-132-4/+4
| | | | | | | | - Extend action_gen macro to generate JSON serialization logic - Implement generic action processing using JSON text for type-agnostic calls - Add callback mechanism with action name and arguments in ActionPool - Update client and server registries to use new callback system - Improve action system flexibility at the cost of serialization overhead
* feat: Add connection infrastructure and documentation魏曹先生2025-10-123-0/+145
| | | | | | - Implement action service for connection handling - Add error types for connection operations - Create todo.md for project tracking
* chore: Update dependencies and module exports魏曹先生2025-10-122-0/+14
| | | | | - Add required dependencies for action system - Export registry modules in vcs_actions library
* feat: Implement SetUpstreamVaultAction魏曹先生2025-10-121-0/+17
| | | | | | - Add local action for setting upstream vault - Use action_gen macro for automatic registration - Validate action is executed locally
* feat: Add server action registry魏曹先生2025-10-121-0/+9
| | | | | - Create server_action_pool function - Register SetUpstreamVaultAction for server use
* fix: Resolve callback type mismatch in client_registry魏曹先生2025-10-121-0/+39
| | | | | | - Fix lifetime issue in on_proc_begin callback registration - Use cloned context in async closure to avoid lifetime conflicts - Rename unused variable to suppress warning