Commit Graph

929 Commits

Author SHA1 Message Date
Jamie Pine
7b9e2d8dd6 chore: Update dependencies and enhance error handling in CLI
- Updated `bincode` dependency to version 1.3.3 for improved performance and security.
- Refactored error handling in `error.rs` to use `bincode::Error` instead of `bincode::ErrorKind`, ensuring better error management.
- Enhanced macro definitions in `macros.rs` to utilize the updated error handling structure.
- Improved error reporting in `manager.rs` when creating directories, providing clearer context for IO errors.
- Added a new design document for Sync Conduits, detailing the architecture and implementation plan for file synchronization in Spacedrive.
2025-09-15 11:45:21 -07:00
Jamie Pine
2ed328af79 refactor: Update argument handling and imports across CLI domains
- Refactored argument handling in the job and library domains to improve clarity and consistency.
- Updated imports to use the correct input types for actions in the library and location modules.
- Enhanced type annotations for better readability and maintainability in the codebase.
2025-09-13 17:26:06 -07:00
Jamie Pine
e8d28bf7eb merge: incorporate confirm_or_abort utility from main while keeping modular CLI structure
- Added confirm_or_abort utility for dangerous operations
- Added confirmation prompts to:
  - location remove
  - library delete (new command)
  - network revoke
- Kept our modular CLI structure with domains/ subdirectories
- Removed old flat .rs files that were moved to modular structure
2025-09-13 17:17:43 -07:00
Jamie Pine
2574ad7bff refactor: Remove unused domain modules from CLI
- Deleted several domain modules including file, index, job, library, location, and network, which were no longer needed in the CLI structure.
- Cleaned up the codebase to improve maintainability and reduce complexity by removing obsolete functionality.
- Updated the module structure in `util/mod.rs` to reflect these changes.
2025-09-13 17:03:01 -07:00
Jamie Pine
d439d69590 feat: Finalize Spacedrive refactor and enhance session management
- Added a new documentation file outlining the finalization plan for the Spacedrive refactor, detailing remaining tasks and objectives for migrating to a CQRS architecture.
- Implemented session state management to track the current library context across operations, improving the overall architecture's modularity and maintainability.
- Refactored CLI commands and core components to utilize the new session state service, ensuring a more consistent and error-free user experience.
- Enhanced error handling and logging in various modules to facilitate debugging and improve reliability.
2025-09-13 16:08:07 -07:00
Jamie Pine
bf7d618cd8 feat: Add comprehensive architecture documentation and enhance CLI daemon management
- Introduced a new `ARCHITECTURE.md` file detailing the system overview, core architecture, daemon infrastructure, operations system, CLI client, data flow, key design decisions, implementation details, and future improvements.
- Enhanced CLI commands to validate instance names for security and check if the daemon is already running before starting a new instance.
- Updated the daemon's RPC server to handle requests concurrently and improved error handling with structured error types.
- Refactored action and query execution to support async operations more effectively.
2025-09-13 16:08:00 -07:00
Jamie Pine
50b15bbc1c feat: Implement CLI daemon management and library commands 2025-09-11 20:30:09 -04:00
Cursor Agent
4b43120deb Checkpoint before follow-up message
Co-authored-by: ijamespine <ijamespine@me.com>
2025-09-11 22:54:55 +00:00
Cursor Agent
0be286d152 Refactor: Move command logic to domain modules
Co-authored-by: ijamespine <ijamespine@me.com>
2025-09-11 21:59:33 +00:00
Cursor Agent
aea1120292 feat: Implement job listing and info commands
Adds functionality to list and retrieve details about jobs.

Co-authored-by: ijamespine <ijamespine@me.com>
2025-09-11 21:13:59 +00:00
Cursor Agent
e26ead654b feat: Add job commands and list locations
Co-authored-by: ijamespine <ijamespine@me.com>
2025-09-11 21:05:09 +00:00
Cursor Agent
470ff03bd6 Add location and library commands, improve instance handling
Co-authored-by: ijamespine <ijamespine@me.com>
2025-09-11 20:00:48 +00:00
Cursor Agent
e3e50194b0 feat: Add network and pairing commands to CLI
Co-authored-by: ijamespine <ijamespine@me.com>
2025-09-11 19:41:34 +00:00
Jamie Pine
d4013dae8a Merge pull request #7 from jamiepine/cursor/add-cli-commands-using-action-query-system-7419 2025-09-11 15:01:34 -04:00
Cursor Agent
21de5e0e8c Refactor: Accept SdPath URIs and local paths for file operations
Co-authored-by: ijamespine <ijamespine@me.com>
2025-09-11 01:21:52 +00:00
Cursor Agent
dc66b34de1 feat: Add file and index commands to CLI
Co-authored-by: ijamespine <ijamespine@me.com>
2025-09-11 01:14:10 +00:00
Cursor Agent
de2d53f18f Refactor: Return bytes from core client action
Co-authored-by: ijamespine <ijamespine@me.com>
2025-09-11 00:06:25 +00:00
Jamie Pine
940ddead3e refactor: enhance core action handling and modularity
- 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.
2025-09-10 12:46:37 -04:00
Jamie Pine
1f2c38b440 refactor: introduce CLI application structure and enhance command handling
- 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.
2025-09-09 20:04:20 -04:00
Jamie Pine
e4b463d78e refactor: add client module and implement Wire trait for input structures
- 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.
2025-09-09 16:53:44 -04:00
Jamie Pine
a8a2c732ef more refactor 2025-09-07 01:43:57 -04:00
Jamie Pine
41df3c86ee more 2025-09-06 21:13:31 -04:00
Jamie Pine
29a87a91ce huge refactor 2025-09-06 21:00:37 -04:00
Arnab Chakraborty
dcb78f079e Working Sync & Thumbnail Sync (#2875)
* 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>
2025-03-20 07:34:59 +03:00
Arnab Chakraborty
2188bcabe9 Comment out Linux webview devtools debug code 2025-02-22 05:59:22 +00:00
Arnab Chakraborty
d3269667ca Disable Drag & Drop on Linux for now 2025-02-22 05:14:14 +00:00
Arnab Chakraborty
c45268c571 Attempt to fix linux compile 2025-02-18 05:34:01 +00:00
Nickolay
28a390f167 Fix builds on windows (#2864)
* Fix builds on windows

* Fix rust compile issues

* Autoformat

* Fix windows volumes compile again

---------

Co-authored-by: Arnab Chakraborty <11457760+Rocky43007@users.noreply.github.com>
2025-02-10 22:57:43 +03:00
Arnab Chakraborty
b30a962837 Trying to disable drag on linux again 2025-02-02 03:26:55 -05:00
Arnab Chakraborty
40fc8964b4 Disable drag & drop outside on Linux & Browser 2025-02-02 03:02:28 -05:00
Arnab Chakraborty
110f6126e2 Fix drag working in dev & prod 2025-02-02 02:59:28 -05:00
Arnab Chakraborty
5ae45c62a6 Disable drag on linux 2025-02-02 02:43:54 -05:00
Arnab Chakraborty
150413fb08 Fix gtk_window() call again 2025-02-02 02:08:59 -05:00
Arnab Chakraborty
9bdf0fe569 Fix for drag window gtk req for linux 2025-02-02 01:51:49 -05:00
Arnab Chakraborty
ab01b5d0ee Fix drag & drop in prod 2025-02-01 22:38:35 -05:00
Arnab Chakraborty
94db2c8815 More updates (#2861)
* Fix migrations

* Fix migrations
2025-01-30 07:20:01 +03:00
Jamie Pine
e0c20a71db Landing & Bug Fixes (#2850)
* added companies carousel

* vdfs section wip

* Fix for compile error on Vercel

* better bento boxes and security animation

* goated vault animation

* cloud page

* sike ig thats a pricing page

* improvement to button components

* added yearly pricing

* roadmap updates

* hero updates (wip in figma)

* mobile app section

* upgrade next in hopes of successful deploy

* downgrade next

* changes to content layer for deployment

* Fix vercel compile error, again

* Update next.config.js

* Fix for onboarding

* mut http_client_builder

* fix cloud URL

* Fix mobile compile

* Remove auth

* Fix volumes deadlock

* Update pnpm-lock.yaml

* Update lib.rs

* Get statistics working with volumes

* Disable date filters

* Updates

* Roadmap updates

* Update team members

* Update page.tsx

* Fix to date filters

* Get readable dates & fix date filter search

* Change version to `0.4.3`

---------

Co-authored-by: Arnab Chakraborty <11457760+Rocky43007@users.noreply.github.com>
2025-01-28 04:35:29 +03:00
Arnab Chakraborty
3e50ebcc65 Drag & Drop into/out of Spacedrive (#2849)
* Better drag & drop into the os

* Update drag.rs

* Drag & Drop into Spacedrive from OS

* Re-enable Supertokes & change Drag-rs pointer

* Autoformat
2025-01-10 15:01:44 +03:00
James Pine
a9ee1036c6 Added local devices endpoint
Co-authored-by: Ericson "Fogo" Soares <ericson.ds999@gmail.com>
2025-01-03 17:56:41 -08:00
Arnab Chakraborty
26a9f30b0d Remove debug <SizeDisplay /> component 2024-12-30 21:55:48 +03:00
Arnab Chakraborty
9de0c9423b Better Drag & Drop into OS
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.
2024-12-30 21:47:28 +03:00
Arnab Chakraborty
0090af6b2f [ENG-1402] Drag & drop into OS (#2839)
* Wip but functional drag drop out.

* Working transparent image for drag & drop

* Clean up

* Drag & Drop into OS from indexed locations

* autoformat
2024-12-26 00:43:31 +03:00
Lynx
78afa0c014 Fix font in landing and app 2024-12-17 19:11:20 -06:00
Arnab Chakraborty
58e7151e19 Move Auth Tokens storage from Local Storage to custom encrypted .sdks file (#2831)
* 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
2024-12-14 19:49:50 -05:00
Arnab Chakraborty
8d7e79816a Fix for opening files in subdirectories on iOS 2024-12-02 00:02:53 -05:00
Arnab Chakraborty
fcaac7860f Fix CORS issue & Mobile core startup times 2024-11-30 00:55:06 -05:00
Arnab Chakraborty
a1b3c8cf8d Lint 2024-11-28 03:51:33 -05:00
Arnab Chakraborty
e4baede80d Only print when in debug mode 2024-11-28 03:44:21 -05:00
Arnab Chakraborty
189b61a377 Working fix + Native Swift Functions 2024-11-28 03:21:30 -05:00
Lynx
deed43dec8 Bump version to 0.5.0 2024-11-10 02:29:06 -08:00