- Introduced new methods for executing actions and queries by method string, improving the flexibility of the core API.
- Refactored the `CoreClient` to utilize a `METHOD` constant instead of `TYPE_ID`, enhancing clarity in action dispatching.
- Removed the legacy `ActionHandler` trait and associated registry, streamlining action execution through the unified `LibraryAction` trait.
- Updated the `RpcServer` to handle action and query requests more efficiently, improving error handling and response management.
- Enhanced the `FileCopyAction` and related tests to support modular action construction, ensuring better validation and type safety.
These changes significantly improve the modularity and maintainability of the action system while ensuring a consistent API surface.
- Added a new `apps/cli` module to encapsulate the CLI application logic, improving organization and modularity.
- Updated `Cargo.toml` to include dependencies for the CLI, such as `clap` for command-line argument parsing.
- Implemented a `Context` struct to manage application state and core client interactions.
- Created command handling for file operations and library management, enhancing user experience and functionality.
- Introduced utility functions for output formatting, supporting both human-readable and JSON outputs.
These changes significantly enhance the structure and maintainability of the CLI application while providing a more robust user interface.
- Introduced a new `client` module to enhance the modularity of the codebase.
- Implemented the `Wire` trait for `FileCopyInput` and `ListLibrariesQuery`, providing type IDs for better integration with the system.
- Updated the `lib.rs` and `mod.rs` files to include the new `client` module, ensuring proper organization and accessibility.
These changes improve the structure and maintainability of the codebase while enhancing type safety in data handling.
* First draft on new p2p design
* Test sync
* Sync works
* Update version
* Fix merge conflicts
* More stuff for thumbnail sync
* Get the thumbnail
* Update mod.rs
* Working thumbnail sync
* Format
* Update thumbnails.rs
* Update runner.rs
* Update runner.rs
---------
Co-authored-by: Ericson Soares <ericson.ds999@gmail.com>
Now it doesn't freeze the entire app and UI, and the drag & drop into OS system is only called when the mouse leaves the app's boundaries!
However, the event/system doesn't cancel when you re-enter the application, and is something I'm still working on.
* Initial encryption functions
* Storage of encrypted tokens & working login
* Add customized `tauri-plugin-cors-fetch`
We need to have it in our crates folder due to the dependency of `sd-crypto` for the handling of cookies.
* Lint
* Update rspc, prisma-client-rust, axum and tanstack-query
- Deleted some unused examples and fully commented out frontend code
- Implement many changes required due to the updates
- Update most rust dependencies
* Re-enable p2p
* Fix server
* Auto format
* Fix injected script format
- Update some github actions
- Update pnpm lock file
* Fix devtools showing up when app opens
- Fix million complaining about Sparkles component
* Fix sd-server
* Fix and improve thumbnails rendering
- Fix core always saying a new thumbnail was generated even for files that it skiped thumbnail generation
- Rewrite FileThumb and improve related components
* Ignore tmp files when running prettier
* Improve FileThumb component performance
- Rework useExplorerDraggable and useExplorerItemData hooks due to reduce unecessary re-renders
* More fixes for thumb component
- A couple of minor performance improvements to frontend code
* auto format
* Fix Thumbnail and QuickPreview
* Fix logic for when to show 'fail to load original' error message in QuickPreview
- Updated prisma-client-rust, libp2p, tauri, tauri-specta, rspc and hyper
* Fix type checking
- Format scripts
* Add script prettier config
* Fix serde missing feature
- Use rust-libp2p spacedrive fork again
- Update rspc
* Autoformat + fix pnpm lock
* Fix thumbnail first load again
* Autoformat
* autoformat
* Fix rust-libp2p fork url again?
* Remove usePathsInfiniteQuery hook
* Update tauri 2.0.6
* Refactor analytics configuration to use `configureAnalyticsProperties` instead of `initPlausible` for improved clarity
* format & add comment explaining analytics ping code
if any people reviewing source for their own verification of its purpose, this should make it much clearer what this does
* refactor Setting to use named function so its references can be source-peeked
* add basic support for 'none' telemetry option
changing the option in the Select dropdown breaks things right now, gotta figure out why
* fix usePlausibleEvent sending old telemetry level preference property to submitPlausibleEvent
* Fall back fo 'unknown' instead of '0.1.0' for app version stats
* Better explain the purpose of more things in submitPlausibleEvent
* organize and clean up internationalization file keys
* fix lowercase connect/connecting key names in code
* add no-telemetry option to onboarding
* Only display error report button if telemetry is enabled
* Add explainer to Sentry plugin for Vite
* Fix onboarding selection in both interface and mobile
* Add more explanation and checks to usePlausible to never send data unless allowed
* add support for onLoad to transform data from persisted mutable stores
* update some analytics explainers on mobile
* add telemetry state migration
* add migration for telemetry state from explorer layout key in persisted store
* fix cypress test for onboarding privacy page
* remove some accidentally included console.log statements
* Add localized analytics preference names
* Use localized telemetry preference names in Settings
* use cleaner text wrapping in settings
* Update the telemetry setting title
* fix telemetry typo
* update mobile no-analytics text
* remove telemetry override option
* eslint: disable no-empty-object-type for PlausibleOptions
the reason is commented