Commit Graph
798 Commits
Author SHA1 Message Date
Jamie Pine 469fc7cbe2 refactor: complete migration to modular action system and remove ActionOutput enum
- Eliminated the centralized `ActionOutput` enum, achieving true modularity in action handling.
- Introduced the `ActionType` trait, allowing each action to define its own output type directly.
- Updated multiple actions to utilize native output types, enhancing type safety and reducing complexity.
- Enhanced the `ActionManager` with a generic `dispatch_action` method for improved action execution.
- Preserved existing infrastructure for validation, audit logging, and error handling throughout the migration.

These changes significantly improve the modularity and maintainability of the action system while ensuring a consistent API surface.
2025-09-09 02:03:17 -04:00
Jamie Pine 478f3136c5 refactor: enhance CQRS implementation with modular command and query traits
- Updated the `Command` trait to support modular output types, eliminating the need for a centralized `ActionOutput` enum.
- Refactored the `execute_command` function for direct command execution, improving type safety and performance by avoiding unnecessary JSON serialization.
- Implemented the new `ListLibrariesQuery` and associated output types for library listing operations, enhancing the query capabilities of the API.
- Updated existing actions like `LibraryCreateAction` and `VolumeTrackAction` to utilize the new modular command structure, simplifying their implementations.

These changes improve the modularity and maintainability of the action system while preserving existing functionality.
2025-09-08 20:08:44 -04:00
Jamie Pine 5f68a0d697 refactor: implement CQRS pattern with Command and Query traits
- Introduced a new `Command` trait to streamline action execution, reducing boilerplate and enhancing type safety.
- Updated the `Core` API to include `execute_command` and `execute_query` methods, providing a unified interface for command and query operations.
- Implemented the `Command` trait for `LibraryCreateAction`, ensuring compatibility with existing ActionManager functionality.
- Enhanced the API design documentation to reflect the new CQRS structure and its benefits.

These changes improve the clarity and maintainability of the action system while preserving existing functionality.
2025-09-08 19:36:37 -04:00
Jamie Pine d90b486865 refactor: update project dependencies and remove unused components
- Removed the `prisma-client-rust` and `prisma-client-rust-sdk` dependencies from `Cargo.toml` to streamline the project.
- Deleted the `spacedrive-jobs-derive` crate, consolidating job registration functionality into the main job system.
- Updated the `.gitattributes` file to reflect changes in generated code tracking.
- Adjusted the `package.json` scripts for improved build processes and removed unnecessary commands.
- Enhanced the `combine.sh` script to correctly reference documentation paths.

These changes aim to simplify the project structure and improve maintainability.
2025-09-08 17:26:31 -04:00
Jamie Pine 70a69e1bdc refactor: streamline volume tracking and untracking actions
- Removed the VolumeTrackHandler and VolumeUntrackHandler implementations, consolidating their logic into the respective action structs for better maintainability.
- Updated the VolumeTrackAction and VolumeUntrackAction to directly handle their execution logic, improving clarity and reducing redundancy.
- Enhanced error handling during volume tracking and untracking processes to provide more informative feedback.

These changes aim to simplify the action handling for volume operations and improve code organization.
2025-09-07 12:35:46 -04:00
Jamie Pine 1a0a293700 again 2025-09-07 01:44:02 -04:00
Jamie Pine a8a2c732ef more refactor 2025-09-07 01:43:57 -04:00
Jamie Pine 29a87a91ce huge refactor 2025-09-06 21:00:37 -04:00
Arnab ChakrabortyandEricson Soares 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 c45268c571 Attempt to fix linux compile 2025-02-18 05:34:01 +00:00
NickolayandArnab Chakraborty 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 9e932b82f0 Fix linux volume watcher again 2025-02-02 00:24:18 -05:00
Arnab Chakraborty 042dd45289 Rewrite linux volume code 2025-02-02 00:06:18 -05:00
Arnab Chakraborty fd3188e1c0 Fix linux volume compile 2025-02-01 23:29:35 -05:00
Arnab Chakraborty 94db2c8815 More updates (#2861)
* Fix migrations

* Fix migrations
2025-01-30 07:20:01 +03:00
Jamie PineandArnab Chakraborty 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 f55d5bcfee Fix crashing due to rapid concurrent writes 2025-01-05 19:00:49 +03:00
James PineandEricson Fogo Soares 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 152d1c7e07 Save email address for re-login
It saves the email address in the login form so we don't have users always type in their email when they have to log in.
2024-12-15 17:53:46 -05: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
Jamie Pine b565339c6b Merge pull request #2815 from spacedriveapp/pro-5-new-landing-page 2024-12-12 17:03:00 -08:00
Jamie Pine 2e6443ec11 Merge branch 'main' into pro-5-new-landing-page 2024-12-12 15:54:43 -08:00
James Pine 0fec6de106 Merge branch 'main' into eng-294-volume-awareness 2024-11-25 19:31:50 -08:00
James Pine b58e4415bc peer 2024-11-25 01:35:24 -08:00
Ericson "Fogo" Soares 10423e3f7f Update quic-rpc crate (#2805)
* Fix breaking changes on quic-rpc

* Rust fmt
2024-11-15 02:40:43 -05:00
Jamie Pine 8eb831d818 update fingerprint handling, and clean up unused code in volume management 2024-11-04 19:46:59 -08:00
Jamie Pine 30c06e4cbc Implement speed testing for volumes, enhancing event handling and state management. Update VolumeManagerActor and associated logic 2024-11-04 07:12:51 -08:00
James Pine 783709680e modify init flow of actor to match other core managers 2024-11-03 23:38:31 -08:00
James Pine 59fa2e131d Merge branch 'main' into eng-294-volume-awareness 2024-11-03 19:24:20 -08:00
James Pine b1d5ab6bef Introduce VolumeFingerprint and related types, improving type safety and consistency across the module 2024-11-03 19:22:47 -08:00
Jamie Pine 7a313f7759 reduce state write calls 2024-11-03 16:00:18 -08:00
Jamie Pine 50437e0f9b Implement volume update, mount state change, and error handling in VolumeManagerActor 2024-11-03 05:51:51 -08:00
Jamie Pine e6e4d3e7bf Add unmount functionality using fingerprint, enhance error handling in volume management, and improve UI integration for ejecting volumes 2024-11-03 05:40:16 -08:00
Jamie Pine 02521f270a Add unique constraint to volume model, refine volume fingerprint generation, and improve database interaction for system volumes 2024-11-03 04:48:07 -08:00
Jamie Pine 9541c9c5fa Refactor volume management to include library awareness, enhance fingerprint handling, and improve system volume interactions 2024-11-03 04:03:21 -08:00
Jamie Pine e326096597 Implement volume initialization tailored for libraries, optimize volume scanning on startup, and enhance state management 2024-11-03 01:16:29 -08:00
Jamie Pine 085c0b72ab Enhance volume management by refining state handling, simplifying event processing, and optimizing interaction within the watcher system 2024-11-03 01:26:57 -07:00
Jamie Pine c78901634d Refactor volume management to streamline event handling, state updates, and improve watcher interactions within the system 2024-11-03 00:29:57 -07:00
Jamie Pine 9c1fd9adaf Add volume event logging and improve watcher integration with enhanced state management and maintenance routines 2024-11-02 22:27:31 -07:00
Jamie Pine 339eb4432d Remove unused old volume management module files 2024-11-01 00:04:29 -07:00
Jamie Pine 25436df10d Implement volume tracking, unmounting, and event subscriptions; enhance volume API with new types and improve UI handling 2024-10-31 23:54:44 -07:00
Jamie Pine 57891a8e90 Enhance volume management: add volume watcher, optimize volume APIs, and integrate volume speed tests with refined types and event handling 2024-10-31 21:36:35 -07:00
Ericson Soares 980569329e Fix breaking change on quic-rpc and update schema 2024-10-31 23:34:40 -03:00
Jamie Pine b0be5d062d Refactor volume handling to replace storage statistics with volume management; adjust related API and schema accordingly 2024-10-24 15:29:32 -07:00
Jamie Pine 728d7edafb Merge remote-tracking branch 'origin/eng-1828-migration-to-new-cloud-api-system' into eng-294-volume-awareness 2024-10-23 21:34:51 -07:00
Jamie Pine 157f543b94 Merge branch 'eng-1828-migration-to-new-cloud-api-system' into eng-294-volume-awareness 2024-10-23 21:34:16 -07:00
Ericson Soares 11d4b7bbd7 Properly sync file_path deletion when deleting directories 2024-10-24 01:31:42 -03:00
Ericson Soares 79be4a58c6 Introducing partial indexes on crdt_operations and more optimization on ingestion 2024-10-22 12:52:23 -03:00
Ericson Soares b0f4f1288e Small bootstrap fix 2024-10-22 00:51:49 -03:00
Ericson Soares 31f954f38f Optimize and fix attempt at cloud ingester 2024-10-21 22:27:09 -03:00