* First draft on task system usage, still missing job system
* Scan location roughly working, a ton of stuff to fix yet
* Updating some deps due to crashes and bugs
* Exposing non critical errors to frontend
* Getting active job reports from job system
* Using boxed opaque type to avoid a downcast issue with generics
* Task system issues discovered on race conditions
* Enable debug
* Fix job report in the job manager
* Fix race condition on steal tasks
* Fixed race condition on task suspend
* Some fixes on job progress reporting and save
* Fixed many race conditions and a hard deadlock
Also some progress report polishing
* Ignore .ts and .mts video files for now
* Some better logs
* bruh
* Internal deadlocks and excess of communication in the task system
- Also better logs
* Bunch of fixes and optimizations
* WIP at fixing file identifier
* Fixed file identifier job
- still need to work on its progress report frontend
* A bunch of polishing
* Fixed some bugs and did more polishing
* Cleanup
* Bridging old and new job systems
* A ton of fixes
* A bunch of bugs related to shutdown and resume
* Indexer and watcher bugs
* Log normalizing
* Fixing CI
* Change error! to warn! on non critical errors log
* Fix redirect to new location
* Type annotation
* Bogus merge resolution on cargo lock
* Big bruh moment
* whoops
* Less stackoverflowy debug
* stuff
* Fix flawed P2P mDNS instance advertisements
* do sync when connecting with peer
* Sync after pairing
* resync_part2 all the time
* Invalidate all the things
* Invalidate whole React Query on sync event
* emit_messages_flag
* emit_messages_flag
* Backend feature flags + "emitSyncEvents" feature
* Patch `confirm` type cause Tauri cringe
* clippy
* idk but plz work
* bruh
* Fix ComLink bug
* remove log
---------
Co-authored-by: Brendan Allan <brendonovich@outlook.com>
* `Library` -> `LoadedLibrary`
* Move `ThumbnailRemoverActor` onto `NodeServices`
It should either be on `Library` or `NodeServices` none of this in-between stuff.
* small > big files
* prune imports
* isolate cringe
* it helps to test the code
* `Vec` -> `HashMap` - faster lookups
* mpscrr
* minor fixes
* fix language
* `!Sync` :(
* lets goooooo
* removed a comma
* fixes
* fix desktop
* lol, no one uses it
* Clippy
* lul, message parsing with a response is cringe
* deadlocks hurt me physically
* super secret commit with many secret secrets
---------
Co-authored-by: Jamie Pine <32987599+jamiepine@users.noreply.github.com>
* refactor job manager ui
* huge improvements to job ui api
* improve indexer errors
* minor improvements
* make icon bigger + improve styling
* Update useJobInfo.tsx
better
* improve job status reporting
* fix job indexer backend for ui responsiveness
* attempt at debugging job.getRunning slow invalidation during indexer's walk phase
* remove progress debounce, invalidate has its own throttle layer
* hotfix ghost jobs
* basic pause/resume
* pause functionality immaculate
* pause resume working for first job in group, testable on indexer phase two
* WIP
- refactored job manager
- added better job api
* fix merge issues
* add throttle to job update events and correct index
* improve front end job data handling
* move subscription to job
* wip active job indicator
* minor tweak
* Isolated subscriptions for job events + cleanup
Co-authored-by: Brendan Allan <Brendonovich@users.noreply.github.com>
Co-authored-by: Oscar Beaumont <oscar@otbeaumont.me>
* mutable ctx
* plz let me build rspc typesafe errors Jamie
* fix merge
* working job reporting
* fix thumbnail text
* faster tick speed
* fix error
---------
Co-authored-by: Brendan Allan <Brendonovich@users.noreply.github.com>
Co-authored-by: Oscar Beaumont <oscar@otbeaumont.me>
* reenable the invalidate requests system
* a tester for the invalidate system
* watch locations in Library::load
---------
Co-authored-by: Brendan Allan <brendonovich@outlook.com>
* A hint of file drop
* backport from #671
* accept/reject Spacedrop working
* final cleanup
* Rename spacedrop.tsx to Spacedrop.tsx
* Update index.tsx
* fix `spacedrive://` custom protocol on Windows
(hopefully)
* custom protocol using `http::Response` + fix broken web
* import patches before App on web
* use `http::Request` for input to `handle_custom_uri`
* break into dedicated file + error handling
* serving files via custom protocol
* cargo fmt because vscode did cringe
* lru cache to reduce video chunk request time
* add helper to JS
* clippy be like
* remove duplicate Open buttons in context menu
* fix Linux 🙏
* no shot
* fix Windows custom URI passing (hopefully)
* better fix for custom uri on Linux
* upgrade Tauri for feature
* switch url replacement order
* prevent React dev tools script being added in prod to desktop
* remove React devtools from html
* upgrade Tauri; required upgrading rspc, Axum, PCR
* pass typecheck + less cringe bigint
* clippy is love, clippy is life
* Typecheck plz
* fix bigint to number conversion
* use httpz + localhost server for Linux
* clippy be right
* Remove console.log
* [wip] proper auth
* fix Linux sidebar padding
* Secure Axum server with random
* Extracting app setup specific to linux to a different file
* remove outdated comment
* Some tweaks on cursom_uri.rs
* file_path_with_location doesn't need to be a named include
* fix typo
* factually wrong comment
* Change `unwrap` to `expect`
* bruh
---------
Co-authored-by: Ericson Soares <ericson.ds999@gmail.com>
* begin better onboarding
* added input and altered text
* better router & text + database icon
Co-authored-by: maxichrome <maxichrome@users.noreply.github.com>
* work on privacy screen + radio buttons
* fix video extension bug and alter screens
* add pending schema and location manager helper
* functional onboarding
* added secure temp store and started creating library loading screen
* fix secure temp keystore + api
* better onboarding
* added location settings and some overview concept, all WIP
* fix switch
* prep
* fix location router
* added backend settings
* attempted to fix form
* begin indexer rules editor, plus tweaks
* indexer rules coming soon
* fix onboarding img size
* cleanup
* clone is needed here, but clippy no like
* sike
* whole bunch of fixes
* clippy + ts
* Removing some TODOs from api/libraries.rs and fixing db size calculation
* moved object kind to client, added half functionality for appearance settings
* fix RadioGroup helper
* fix type issues
* cargo fmt
* fix creating library error handling + invalidate location list on update
* forgot to switch back to onError
* Invalidating getStatistics query on library creation and introducing the concept of waiting for a job on FileCopierJob
* F* cargo fmt
* fix RadioGroup interactivity
* wipe all migrations
* put back COLLATE NOCASE on extension columns
* update core.ts
* remove unused device component
* fix typeerror in mobile
---------
Co-authored-by: maxichrome <maxichrome@users.noreply.github.com>
Co-authored-by: Brendan Allan <brendonovich@outlook.com>
Co-authored-by: Ericson Soares <ericson.ds999@gmail.com>
Co-authored-by: Utku Bakir <74243531+utkubakir@users.noreply.github.com>
* Introducing indexer rules for the indexer job
* Solving a minor race condition at `Worker::spawn`
* Many refactors at database accesses with prisma
* Documenting some features of indexer rules
* Updating to new prisma rev
* Updating photo
* Some documentation tweaks
* fix note editing
* Implementing some requested changes
* Fixing unit tests on walk function
* Using rsps::Error::with_cause instead of new
* Introducing a compoung unique key between `node_id` and `local_path` at `locations` table
Co-authored-by: Oscar Beaumont <oscar@otbeaumont.me>
* move Rust backend to rspc
* move server to Axum + remove parts of old bridge
* move frontend over to @rspc/client
* move core to rspc + update deps
* fix Typescript errors + upgrade deps
* document invalidate_query! macro
* general cleanup + upgrade to PCR 0.6.0
* prisma error handling
* upgrade to rspc 0.0.4
* update vite-plugin-ssr
* fix typescript
* fix builds
* put landing page app name back
* hardcode ffmpeg version on Windows
* rename 'command' to 'mutation' to line up with react-query terminology
* upgrade rspc to v0.0.5 + fix types
* use shared ffmpeg binaries
* general Typescript cleanup
* fix clippy workflow failing due to tauri proc-macro
Co-authored-by: Brendan Allan <brendonovich@outlook.com>