- Updated .gitignore to include Xcode-specific files and directories, improving project cleanliness and preventing unnecessary files from being tracked.
- Refactored `BrowserView` and `SidebarView` components to improve layout and user interaction, including adjustments to button styles and spacing for better visual consistency.
- Introduced a new `FinderSidebarLocationRow` component for improved sidebar navigation, enhancing the user experience in file browsing.
- Made various UI adjustments in the `InspectorDetailView` to streamline the display of file details and improve overall aesthetics.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- Deleted the "Quantum State for On-Demand State Computation" task as it is no longer relevant.
- Enhanced the `ConnectivityCard` component with a cleaner macOS-style design, improving layout and spacing.
- Updated service status display to use a more streamlined `ServiceRow` structure, replacing the previous `ServiceBadge`.
- Improved info display with a new `InfoRow` structure for better clarity and consistency in the UI.
- 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.
- 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.
- 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.
- 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.
- Integrated OS logging into DaemonConnector and InspectorViewModel for improved traceability of operations.
- Added detailed logging for query execution and file loading processes, enhancing debugging capabilities.
- Introduced custom error handling in InspectorViewModel to manage file loading errors more effectively.
- Updated query methods to log success and failure cases, providing better insights into application behavior.
- 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.
- 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.
- Removed the setupLibraryManagement method and integrated its functionality directly into the loadLibraries method for better clarity.
- Enhanced library loading to automatically select the first library if none is currently selected, improving user experience.
- Updated the SpacedriveClient to streamline the switchToLibrary method, ensuring it uses the async method for library switching.
- Refactored DaemonRequest cases to align with the new action and query method signatures, enhancing consistency across the API.
- 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.
- 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.
- 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.
- Refactored the job command structure for improved readability and consistency in the `run` function.
- Enhanced the job monitoring functionality by streamlining event handling and progress bar updates.
- Updated the `to_input` method in `LibraryInfoArgs` to improve clarity and maintainability.
- Ensured consistent formatting and organization of code across job-related functionalities.
- Added methods for managing the current library in the `Context` struct, including `get_current_library_id`, `set_current_library`, `clear_current_library`, and `switch_to_library_named`.
- Enhanced the CLI commands to support switching libraries by ID or name, retrieving current library info, and listing available libraries.
- Updated query execution macros to improve consistency and error handling across library-related operations.
- Introduced a new `LibrarySwitchArgs` struct for command-line arguments related to library switching, enhancing usability.
- Refactored existing commands to utilize the new library management features, improving overall functionality and user experience.
- 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.
- Introduced a new example file `LibraryManagementExample.swift` demonstrating library management features such as switching, creating, and clearing libraries.
- Enhanced `SpacedriveClient` with methods for managing the current library, including `getCurrentLibraryId`, `setCurrentLibrary`, `clearCurrentLibrary`, and improved error handling for library operations.
- Added functionality to switch libraries by ID and name, retrieve current library info, and get jobs associated with the current library, improving usability and functionality of the client.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- Replaced job status icons with SF Symbols for improved visual consistency.
- Adjusted spacing and font sizes in JobMonitorView and JobRowView for better layout and readability.
- Simplified progress percentage and duration formatting to display whole numbers.
- Enhanced the overall appearance of job rows with consistent padding and background styling.
- Updated several enums in the Swift client to remove Codable conformance, simplifying their structure and improving type safety.
- This change aligns with recent updates in the event handling and type definitions, ensuring consistency across the codebase.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.