Commit Graph

919 Commits

Author SHA1 Message Date
Jamie Pine
e85e796c4f feat: Update macOS App Assets and Improve File Management
- Enhanced the Spacedrive macOS app by updating various asset files, including icons and images, to improve visual consistency and user experience.
- Refactored file management components to streamline operations and enhance performance, ensuring better handling of file queries and unique location management.
- Improved the overall structure of the app's asset management, facilitating easier updates and maintenance in the future.
2025-09-26 14:56:13 -07:00
Jamie Pine
875fd836d0 feat: Implement Development Window Configuration and Library Statistics Management
- Added functionality to manage development window configurations, allowing dynamic opening of windows based on user preferences.
- Enhanced `SharedAppState` to support setting and retrieving development window configurations.
- Updated `DaemonConnector` to handle new library statistics updates, improving the management of library data.
- Introduced logging for library statistics updates to provide better insights into library performance.
- Added development controls in `BrowserView` for easier window management during development.
2025-09-25 20:24:30 -07:00
Jamie Pine
e7331df2f1 feat: Revamp Window Management and UI Components for macOS App
- Updated `SpacedriveApp` to implement multiple window groups, including a main companion window, browser window, icon showcase, and inspector, each with custom title bars and shared state management.
- Introduced `NativeTrafficLights` and `CustomTitleBar` components to enhance window appearance and functionality, integrating native macOS traffic lights seamlessly.
- Refactored `AppDelegate` to initialize app state and manage window configurations based on development settings.
- Enhanced `SharedAppState` to support dynamic window opening based on user preferences and development configurations.
- Added new `BrowserView` and associated components for improved file browsing experience, including sidebar navigation and content display.
- Updated `SpacedriveColors` to reflect the use of native macOS colors for traffic lights, simplifying color management across the app.
2025-09-25 20:23:04 -07:00
Jamie Pine
79728fdb10 feat: Enhance Library Management and UI Components
- Introduced a new `LibraryCard` and `EmptyLibraryCard` components for improved library selection UI in the macOS app.
- Updated `LibrarySelector` to display current library information and allow users to switch libraries through a new button.
- Enhanced `MenuBarManager` to dynamically update the libraries menu based on available libraries and current selection.
- Refactored `DaemonConnector` to handle library-related events and refresh library statistics accordingly.
- Improved `LibraryInfo` structure to include optional statistics, enhancing data representation for libraries.
- Updated various UI components to utilize new library statistics, providing users with better insights into their libraries.
2025-09-25 05:29:09 -07:00
Jamie Pine
22013cf073 refactor: Update ConnectivityCard and SpacedriveColors for Consistency
- Refactored the `ConnectivityCard` component to utilize the new `SpacedriveColors` for text and background colors, enhancing visual consistency across the UI.
- Adjusted color definitions in `SpacedriveColors` to provide a more cohesive design, including updates to primary, secondary, and tertiary background colors.
- Improved the layout and spacing in `JobRowView` and `JobMonitorView` for better user experience.
- Introduced a new `SettingsContentView` section for displaying the `ConnectivityCard`, integrating service status into the settings interface.
2025-09-24 20:41:03 -07:00
Jamie Pine
e0241a6bba refactor: Remove "On-Demand State Computation" and Related Components
- Deleted the On-Demand State Computation task and its associated documentation as it is no longer relevant.
- Removed the `Resourceful` trait and its implementations from various job types, streamlining job management.
- Eliminated the `EntryStateService` and related state management logic, simplifying the service architecture.
- Updated the `JobManager` and job-related components to reflect the removal of resource tracking functionality.
- Adjusted the whitepaper to remove references to the On-Demand State Computation section, ensuring consistency in documentation.
2025-09-24 18:57:14 -07:00
Jamie Pine
5be8b54c0b feat: Enhance CLI and macOS App with New Features and Improvements
- Introduced a `format_bytes` function in the CLI to improve byte size formatting for better readability in output.
- Updated the `run_client_command` function to display library sizes using the new formatting function, enhancing user experience.
- Added a new test target in `Package.swift` for improved testing capabilities of the Spacedrive macOS app.
- Refactored various SwiftUI components to improve code clarity and maintainability, including adjustments to view modifiers and layout.
- Enhanced the `ConnectivityCard` and `JobRowView` components with better state management and UI improvements for a more cohesive user experience.
- Improved logging and error handling in the `DaemonConnector` and `InspectorViewModel` for better traceability and debugging.
2025-09-24 17:50:37 -07:00
Jamie Pine
d3210baf85 refactor: Consolidate API Structures and Improve JSON Handling
- Renamed and reorganized API structures for better clarity, merging related functionalities into cohesive groups (e.g., `CoreAPI`, `VolumesAPI`, `TagsAPI`, `MediaAPI`, `FilesAPI`, `JobsAPI`).
- Updated method signatures to align with new action and query formats, ensuring consistency across the API.
- Enhanced JSON handling by implementing a custom `JSONValue` type for improved serialization and deserialization.
- Refactored job-related methods to utilize the updated action context, enhancing the overall job management experience.
2025-09-24 15:02:44 -07:00
Jamie Pine
84c58125d6 refactor: Update JSON Handling and Job Action Context in Swift Code
- Replaced `JsonValue` with `JSONValue` across multiple files for improved JSON handling consistency.
- Enhanced `JobInfo` structure to support optional `actionInput` and `context` properties, allowing for more flexible job action context management.
- Updated job action handling in `JobModels.swift` to utilize new computed properties for better clarity in action descriptions.
- Refactored `SpacedriveAPI` to align with the new JSON structure, ensuring all API methods correctly handle the updated types.
- Improved Codable conformance for `JSONValue`, facilitating seamless JSON serialization and deserialization.
2025-09-24 14:46:49 -07:00
Jamie Pine
5c1ccc9abd feat: Introduce ConnectivityCard Component and Enhance Job Information Structure
- Added a new `ConnectivityCard` SwiftUI component to display daemon connectivity and service status, improving user interface for monitoring services.
- Enhanced `JobInfo` structure to include action context fields, allowing for richer job information and better tracking of job actions.
- Updated `JobRowView` to utilize the new `displayName` property for jobs, providing clearer context in the job list.
- Refactored `JobManager` to support action context during job dispatching, improving job management capabilities.
- Introduced new computed properties in `JobInfo` for better job name and context information display, enhancing user experience in job monitoring.
2025-09-24 14:46:36 -07:00
Jamie Pine
ccda02d95e feat: Add File Information Retrieval and Device ID Initialization
- Implemented functionality to retrieve file information using a new `FileInfoArgs` struct and `FileCmd::Info` command in the CLI.
- Enhanced the `run_client_command` function to initialize the device ID from a `device.json` file if it exists, improving device management.
- Updated the `FileCmd` enum to include the new `Info` command for better command handling in the file domain.
2025-09-24 04:29:33 -07:00
Jamie Pine
35b2fe0054 refactor: Streamline Library ID Management and Enhance Logging
- Removed unnecessary DispatchQueue.main.async calls in DaemonConnector for setting the current library ID, simplifying the code.
- Added debug logging in RpcServer to track method execution and incoming requests, improving traceability.
- Updated SpacedriveClient to log outgoing query requests, enhancing visibility into API interactions.
- Deleted the obsolete generate_client.sh script, cleaning up the Swift client package.
2025-09-23 23:08:58 -07:00
Jamie Pine
c1fff9b27b feat: Implement CLI Configuration Management for Library ID
- Introduced a new `CliConfig` struct for managing CLI-specific configurations, including the current library ID.
- Added methods to load, save, set, and clear the current library ID within the CLI context.
- Updated the `Context` struct to integrate `CliConfig`, ensuring library ID management is consistent across the application.
- Enhanced command implementations to utilize the new CLI configuration features, improving user experience and functionality.
2025-09-23 22:17:10 -07:00
Jamie Pine
579d732ece feat: Enhance Swift API Code Generation with Type Name Extraction
- Updated the Swift API code generation to utilize specific input and output type names for actions and queries, improving accuracy in generated code.
- Refactored the `OperationTypeInfo` and `QueryTypeInfo` traits to include `input_type_name` and `output_type_name`, enhancing type clarity.
- Added debug logging for type name extraction to facilitate easier troubleshooting and verification of type mappings.
- Modified the Swift client structure to reflect changes in action and query method signatures, ensuring consistency across the API.
2025-09-23 21:53:47 -07:00
Jamie Pine
8faa71bbf5 feat: Implement Library Selector Component for macOS
- Added a new `LibrarySelector` SwiftUI component to display and manage the current library selection.
- Integrated the component with the `SharedAppState` to reflect the current library and available libraries.
- Enhanced the `DaemonConnector` to load and manage libraries, including switching and refreshing libraries.
- Updated the `JobMonitorView` to include the `LibrarySelector`, improving the user interface for library management.
2025-09-23 21:53:41 -07:00
Jamie Pine
2cee15a399 feat: Enhance Context and Query Handling with Library ID Support
- Added `library_id` field to the `Context` struct to manage library-specific operations.
- Introduced `with_library_id` and `set_library_id` methods for setting the library ID in the `Context`.
- Updated various command implementations to utilize the new library ID handling, improving the accuracy of library-related queries.
- Refactored query and action calls to use input structs instead of query structs, enhancing type safety and clarity across the application.
- Improved error handling and response deserialization in query execution macros, ensuring robust interaction with the core API.
2025-09-23 21:08:29 -07:00
Jamie Pine
6803328657 feat: Automate Swift API code generation and enhance type extraction
- Introduced a new function to automatically generate Swift API code based on extracted types, improving the integration between Rust and Swift.
- Enhanced the build process to check for the existence of necessary directories and handle errors gracefully during API code generation.
- Updated the Swift client structure to include newly generated API methods, ensuring comprehensive coverage of available operations.
- Refactored type extraction logic to support the new API generation, improving clarity and organization in the generated Swift code.
2025-09-23 20:10:38 -07:00
Jamie Pine
ed2a5814fa feat: Enhance Swift type generation with Codable conformance
- Refactored the Swift type generation process to include Codable conformance for SpacedriveApi, CoreAction, LibraryAction, CoreQuery, and LibraryQuery, improving serialization and deserialization capabilities.
- Removed unused parameters from the `generate_swift_api_code` function to streamline the code.
- Deleted the obsolete `test_api_structure.rs` file, cleaning up the project structure.
- Updated generated Swift code to ensure consistency and clarity in type definitions.
2025-09-23 19:49:20 -07:00
Jamie Pine
7d1e1adc0f feat: Enhance Swift type generation and API structure
- Introduced a new function `create_spacedrive_api_structure` to generate a comprehensive API structure for better type extraction.
- Refactored the Swift type generation process to utilize the new API structure, improving the clarity and organization of generated code.
- Added detailed logging for API structure summary, enhancing visibility into the generated types and their organization.
- Created a new file `test_api_structure.rs` for testing the API structure generation, ensuring robustness and correctness in type extraction.
2025-09-23 19:10:50 -07:00
Jamie Pine
c255909c51 feat: Introduce operation and query scopes for enhanced type extraction
- Added `OperationScope` and `QueryScope` enums to categorize operations and queries as Core or Library.
- Updated registration macros to implement scope determination, improving type extraction accuracy.
- Modified `OperationTypeInfo` and `QueryTypeInfo` traits to include scope information in metadata.
- Enhanced logging in tests to display operation and query scopes, facilitating better debugging and verification.
2025-09-23 18:36:59 -07:00
Jamie Pine
d267a7a297 feat: Enhance Swift type generation with rspc-inspired extraction system
- Updated the Swift type generation process to utilize a new rspc-inspired type extraction system, allowing for automatic discovery of operations and queries.
- Improved the output format to include detailed information about discovered operations and queries, enhancing usability and verification.
- Refactored the main function to streamline type registration and generation, ensuring comprehensive coverage of the Spacedrive API.
- Updated generated Swift code header to reflect the new extraction methodology, maintaining clarity for future developers.
2025-09-23 18:26:54 -07:00
Jamie Pine
29190d8fff feat: Introduce unified API layer with session context and permission handling
- Created a new `infra/api` module to centralize API operations and enhance session management.
- Implemented `ApiDispatcher` to streamline operation execution with built-in authentication and authorization.
- Updated query and action signatures to accept `SessionContext`, improving context handling across the application.
- Added `Type` derive macro to various structs for better type safety and integration with Specta.
- Documented the design and migration path for the new API structure, ensuring clarity for future development.
2025-09-23 18:07:55 -07:00
Jamie Pine
10532916e7 refactor: Standardize query architecture and enhance type safety
- Introduced consistent Input/Output patterns for all queries, improving architectural clarity.
- Created dedicated input structs for each query to separate API concerns from execution logic.
- Updated query implementations to utilize new traits, ensuring better type safety and integration with Specta.
- Enhanced registration macros to support the new query structure, facilitating automatic type extraction for Swift generation.
- Documented the refactor plan and its benefits for future development and maintenance.
2025-09-23 18:07:30 -07:00
Jamie Pine
7327903b9f feat: Implement rspc-inspired type extraction system for operations and queries
- Introduced a trait-based type extraction system to automatically generate Input/Output types for registered operations and queries.
- Enhanced registration macros to implement the OperationTypeInfo and QueryTypeInfo traits, facilitating compile-time type discovery.
- Added new modules for type extraction and testing, ensuring comprehensive coverage and validation of the type extraction functionality.
- Documented the successful implementation and provided evidence of automatic trait implementations through compilation errors.
2025-09-23 15:26:37 -07:00
Jamie Pine
986292e023 refactor: Enhance type safety and organization in file operations
- Added `Type` derive macro to several structs and enums across file operations to improve type safety and integration with Specta.
- Reorganized module imports in `mod.rs` for better clarity and structure.
- Introduced a new documentation file on dynamic type generation for the Swift client, detailing the implementation of type-safe API generation techniques.
2025-09-23 01:48:14 -07:00
Jamie Pine
94526824e6 feat: Add pause and resume functionality for jobs in Spacedrive
- Implemented pauseJob and resumeJob methods in DaemonConnector to manage job states.
- Updated SharedAppState to handle new pause and resume actions.
- Introduced JobActionButton in JobRowView for user interaction to pause or resume jobs.
- Enhanced launch configuration in VSCode for debugging Spacedrive applications.
2025-09-22 20:15:27 -07:00
Jamie Pine
601d9ae8c2 refactor: Remove obsolete files and streamline Spacedrive Companion app
- Deleted .gitignore, build scripts, and other obsolete files to clean up the project structure.
- Removed the Package.swift file and associated Swift files, focusing on essential components for the Spacedrive Companion app.
- Updated the main application structure to enhance clarity and maintainability.
- Simplified the overall codebase by eliminating unused components and improving organization.
2025-09-22 18:44:46 -07:00
Jamie Pine
c4f667b8a2 refactor: Clean up Swift client and remove obsolete files
- Added a warning suppression directive in the Rust CLI main file to reduce noise during compilation.
- Deleted several Swift files related to job management and UI components, streamlining the codebase and focusing on essential functionality.
- Updated the main application structure to enhance window management and user experience.
- Improved the organization of action context handling in the Rust core, facilitating better job dispatching with action context awareness.
2025-09-22 18:17:58 -07:00
Jamie Pine
45c39b02a2 refactor: Simplify logging in DaemonConnector and enhance type safety
- Removed manual logging to a debug file in favor of direct console output for job list fetching and library retrieval, improving clarity during debugging.
- Updated the Swift type definitions for various enums to conform to Codable, enhancing serialization capabilities and type safety across the codebase.
- Streamlined the generated Swift types by removing unnecessary imports and ensuring consistency with the latest Rust core changes.
2025-09-22 14:11:30 -07:00
Jamie Pine
4d49269c13 refactor: Update TypeScript client structure and dependencies
- Removed obsolete TypeScript client files including `generate_client.sh` and `jest.config.js` to streamline the project.
- Updated `Cargo.toml` and `package.json` to reflect new dependencies and license changes, enhancing compatibility and maintainability.
- Refactored TypeScript client methods for improved type safety and clarity, including the introduction of a new `generate-types` script for type generation.
- Enhanced README documentation to provide clearer usage instructions and examples for the TypeScript client.
- Updated type definitions and event handling to align with the latest Rust core changes, ensuring consistency across the codebase.
2025-09-22 03:15:10 -07:00
Jamie Pine
22339d82ee refactor: Update Swift type generation and remove obsolete test files
- Modified the Swift type generation script to include a new RustDuration struct for decoding Rust Duration format, enhancing type safety.
- Updated the generated Swift types to reflect changes in duration handling and improved documentation.
- Removed obsolete test files related to enum variants and event decoding, streamlining the codebase and focusing on relevant functionality.
2025-09-22 01:48:51 -07:00
Jamie Pine
f599f1b86c refactor: Revise event handling and type definitions in Swift client
- Updated the DaemonConnector to utilize a new type-safe Event enum, improving clarity and maintainability.
- Refactored job event handling to use structured data types for job progress and completion, enhancing real-time tracking.
- Removed the obsolete generate_event_samples.rs file to streamline the codebase.
- Enhanced serialization and deserialization processes for various data structures to ensure compatibility with the Rust daemon output.
- Updated Swift type generation to reflect changes in event structure and improve type safety.
2025-09-22 01:16:59 -07:00
Jamie Pine
b4dd9a9454 refactor: Update event handling and type definitions in Swift client
- Removed manual type definitions in favor of generated types from SpacedriveClient, enhancing type safety.
- Refactored event handling in DaemonConnector to utilize a new type-safe Event enum for better clarity and maintainability.
- Updated job management logic to align with the new event structure, improving real-time job tracking and state management.
- Enhanced serialization and deserialization processes for various data structures to ensure compatibility with the Rust daemon output.
- Removed obsolete schema generation binary and updated Cargo.toml to reflect changes in dependencies and project structure.
2025-09-22 00:06:06 -07:00
Jamie Pine
ae19c0cd97 refactor: Update type handling and schema generation for Swift client
- Removed the `codegen` module and its associated files to streamline the codebase.
- Introduced a new binary for generating Swift types using Specta, enhancing type safety and integration.
- Updated various data structures to utilize the `specta` crate for type generation.
- Refactored existing types to remove `JsonSchema` derives in favor of `specta::Type`, improving compatibility with the new generation system.
- Enhanced the `Cargo.toml` to exclude unnecessary crates and improve workspace organization.
2025-09-21 19:13:38 -07:00
Jamie Pine
6dfecac83e feat: Enhance job management and event handling in DaemonConnector
- Introduced new data structures for library and job information to align with the Rust daemon output.
- Implemented real-time job tracking by fetching the current job list and subscribing to job events.
- Enhanced event handling to manage job states (started, progress, completed, failed, paused, resumed) effectively.
- Improved logging for connection status and job events to aid in debugging and user experience.
- Updated JobInfo model to allow mutable properties for better state management during job updates.
2025-09-21 13:39:22 -07:00
Jamie Pine
3a94a773db refactor: Update event handling and Swift client generation
- Enhanced the `Event` enum documentation for clarity on its purpose.
- Modified the Swift client generation script to create event samples for enum generation.
- Updated the Swift client to utilize the new `EventElement` type for event handling.
- Improved error handling and logging in the event subscription process.
- Refactored the types generated for Swift to align with the new event structure.
2025-09-21 11:44:40 -07:00
Jamie Pine
e5bc6bb9b9 refactor: Update schema generation and type handling
- Renamed `common_types` to `core_types` in `UnifiedSchema` for clarity.
- Updated schema extraction methods to reflect the new naming convention.
- Enhanced the `register_schema_type` macro for better type registration in schema generation.
- Added `JsonSchema` derives to various structs to support schema extraction.
- Improved logging in `generate_schemas` to provide accurate output details.
- Updated documentation to reflect changes in schema structure and type handling.
2025-09-21 10:40:22 -07:00
Jamie Pine
487cc53e63 feat: Implement JSON Schema generation for client types
- Added `schemars` dependency to facilitate JSON Schema generation.
- Introduced a new `generate_schemas` binary for extracting and writing unified JSON schemas.
- Enhanced existing modules to support schema generation, including updates to `build.rs` for change detection.
- Updated various data structures with `JsonSchema` derives to enable schema extraction.
- Created comprehensive documentation for the client generation system design, detailing architecture and usage.
- Added TypeScript and Swift client generation scripts, ensuring type-safe access to the Spacedrive daemon API.
2025-09-21 10:40:13 -07:00
Jamie Pine
0d3ef427d8 feat: Introduce Spacedrive Companion App for macOS
- Added a new SwiftUI application to monitor Spacedrive daemon jobs in real-time.
- Implemented job status tracking with visual indicators for running, completed, failed, and paused jobs.
- Included build and run scripts for easy setup and execution.
- Created a README with detailed instructions on building, running, and using the application.
- Added integration with the Spacedrive daemon via Unix domain socket for real-time updates.
- Introduced a translucent window design for a seamless macOS experience.
2025-09-20 21:06:29 -07:00
Jamie Pine
6e25fbfe41 feat: Introduce persistence completion handling in job management
- Added a new `persistence_complete_tx` channel to facilitate signaling when job state persistence is complete.
- Updated `JobExecutor` and `JobManager` to manage the persistence completion channel, ensuring proper signaling during job execution and state management.
- Enhanced the `ChangeDetector` to include a cache for file existence checks, improving performance and accuracy in detecting changes.
- Refactored related methods to streamline job state handling and improve logging for persistence operations.
2025-09-20 17:40:29 -07:00
Jamie Pine
dbb3c56d30 feat: Add build timestamp to core status and CLI output
- Introduced a new `built_at` field in the `CoreStatus` struct to capture the build timestamp.
- Updated the `Cargo.toml` to include the `chrono` crate for handling date and time.
- Emitted the build timestamp during the build process in `build.rs`.
- Enhanced the CLI output to display the build timestamp alongside the core version and data directory.
2025-09-20 16:48:08 -07:00
Jamie Pine
e90a1ceecc refactor: Improve job state handling and logging during pause/resume operations
- Enhanced logging for job state serialization and deserialization, providing clearer insights during pause and resume processes.
- Updated job handling logic to ensure state is saved effectively, improving robustness in job management.
- Refactored the `ChangeDetector` to include accurate size information for entries, aiding in distinguishing between genuine moves and duplicate content.
- Introduced new methods for checking file content equivalence, enhancing change detection accuracy.
- Removed redundant checkpoint logic in indexing phases, streamlining state management during job execution.
2025-09-20 16:48:00 -07:00
Jamie Pine
4d1381231a feat: Enhance entry processing with transaction management and batch operations
- Introduced new methods for moving entries and updating them within existing transactions, improving consistency and performance.
- Refactored the `move_entry` function to handle transactions more effectively, allowing for rollback on errors.
- Added `bulk_move_entries` method to facilitate moving multiple entries in a single transaction, optimizing batch processing.
- Updated the job handling logic to ensure state is created early and improved interruption handling during processing phases.
- Enhanced logging for better visibility into job states and transaction management.
2025-09-20 15:13:20 -07:00
Jamie Pine
b46042f9b6 feat: Add desktop-scale benchmark recipes for realistic testing
- Introduced two new benchmark recipes: `desktop_complex.yaml` and `desktop_extreme.yaml`.
- `desktop_complex.yaml` simulates a realistic desktop environment with 500k files and 8 levels of directory nesting.
- `desktop_extreme.yaml` targets power users with 1M files and 12 levels, featuring a comprehensive file type coverage and realistic size distribution.
- Updated documentation to include details about the new benchmark recipes and their intended use cases.
2025-09-20 03:22:25 -07:00
Jamie Pine
e6e1a3b252 feat: Add benchmarks module and refactor job handling for resumable jobs
- Introduced a new `core/benchmarks` module to facilitate performance testing and benchmarking.
- Updated `Cargo.toml` to include the new benchmarks module in the workspace.
- Refactored job handling in the `JobManager` and `JobExecutor` to support job resumption, enhancing the ability to recover from interruptions.
- Improved logging throughout the job lifecycle to provide better visibility into job states and transitions.
- Added integration tests for job pause/resume functionality, ensuring robustness in job management.
2025-09-20 00:51:08 -07:00
Jamie Pine
bc7091768d feat: Update CLI and core dependencies, enhance daemon shutdown process
- Updated `Cargo.toml` for the CLI to include `comfy-table` for improved output formatting.
- Enhanced the daemon's shutdown process to provide clearer logging during shutdown initiation and completion.
- Refactored the logo display function to use a colored ASCII representation, improving visual appeal.
- Removed unnecessary CLI dependency on `clap` in the core, simplifying the dependency structure.
2025-09-19 21:45:35 -07:00
Jamie Pine
1c2f336075 feat: Improve daemon startup process and instance handling in CLI
- Updated the CLI to construct the daemon command with a specific path and pass necessary arguments such as data directory and instance name.
- Enhanced foreground mode to provide better logging and error handling during daemon execution.
- Refactored the daemon to calculate instance-specific data directories and socket paths, ensuring proper isolation for multiple instances.
- Improved overall user experience by clarifying daemon operation status and error messages.
2025-09-19 20:07:56 -07:00
Jamie Pine
1102885484 feat: Enhance library creation and location management in watcher service
- Updated the `LibraryCreateAction` to automatically set the newly created library as the current library in the session context.
- Introduced a new function `load_existing_locations` in the `LocationWatcher` to load and add existing library locations from the database to the watcher, improving the initialization process.
- Enhanced error handling and logging for loading locations, ensuring better visibility into potential issues during the loading process.
2025-09-19 19:53:26 -07:00
Jamie Pine
8465b50885 refactor: Remove networking flag from CLI commands and documentation
- Eliminated the `--enable-networking` flag from the `start` and `restart` commands in the CLI, simplifying the command structure.
- Updated related documentation to reflect the removal of the networking option, ensuring consistency across usage examples.
- Adjusted the daemon to always enable networking, streamlining the startup process for users.
2025-09-19 19:28:21 -07:00
Jamie Pine
b52e307e33 feat: Implement instance name validation and refactor daemon handling
- Added a new function `validate_instance_name` to ensure instance names are secure and conform to specified criteria, preventing path traversal attacks.
- Updated the CLI and daemon to utilize the new validation function when processing instance names.
- Refactored the `RpcServer` to replace the `CoreInstanceManager` with a direct `Core` instance, simplifying the architecture.
- Removed the `instance.rs` file as its functionality has been integrated into the main daemon logic.
2025-09-19 19:14:55 -07:00