Commit Graph

443 Commits

Author SHA1 Message Date
Oscar Beaumont
65ea570d0b [ENG-1055] Fix previewing large files (#1304)
* Proper streaming from disk

* Handle `If-Range`

* fix bad merge

---------

Co-authored-by: Brendan Allan <brendonovich@outlook.com>
2023-09-06 08:06:29 +00:00
Oscar Beaumont
5a0d0396d0 [ENG-566] Stream files through P2P (#1282)
* Add range to `SpaceblockRequest`

* Determine if file should be served from P2P

* Feature flag serveFromP2P + fix `ServeFrom` logic

* wip: yeet files over P2P

* Just work, argh

* restore backend feature flags after restart

* cleanup
2023-09-06 07:22:04 +00:00
Oscar Beaumont
251703104c [ENG-1036] Fix library rename (#1300)
* Fix Library Rename + `RwLock` on `LibraryConfig`

* Input width fix

* cleanup

---------

Co-authored-by: ameer2468 <33054370+ameer2468@users.noreply.github.com>
2023-09-06 01:01:18 +00:00
Brendan Allan
2d1ce9af03 [ENG-1078] Fix pagination (#1299)
* fix 'load more' breaking

* paginate all paginated queries by model id

* arrays start at 0 stupid
2023-09-05 08:11:04 +00:00
jake
a92d6c2faf [ENG-1039] Apply hard clippy lints to the entire ffmpeg crate (#1281)
* apply clippy lints to the entire ffmpeg crate in hopes of making it safer

* wording

* revert the prisma changes

* fix typo

Co-authored-by: Oscar Beaumont <oscar@otbeaumont.me>

* fix another typo

Co-authored-by: Oscar Beaumont <oscar@otbeaumont.me>

* remove so many `#[must_use]`s

* fix bad merge and hopefully clippy

* clippy please work i beg

* make HEIF_EXTENSIONS always available

---------

Co-authored-by: Oscar Beaumont <oscar@otbeaumont.me>
Co-authored-by: Brendan Allan <brendonovich@outlook.com>
2023-09-05 07:35:26 +00:00
Ericson "Fogo" Soares
e8191e4a22 [ENG-198] Cleaning up after removing a location (#1296)
Done
2023-09-05 05:20:46 +00:00
Brendan Allan
e7fbdb479c [ENG-999] Order aware pagination (#1283)
* correct types

* remove optional override

* handle group_directories properly

* throw errors if is_dir is null

* disable size ordering

* usePathsInfiniteQuery

* implement for objects too

* cleanup
2023-09-04 12:38:09 +00:00
Ericson "Fogo" Soares
3b8541ef54 [ENG-1028] Media data for ephemeral locations (#1287)
Introducing new getEphemeralMediaData
Fixing some minor stuff
Running pnpm format

Co-authored-by: jake <77554505+brxken128@users.noreply.github.com>
2023-09-04 08:28:45 +00:00
Ericson "Fogo" Soares
7ace99cf1c [ENG-1063] Actually regenerate thumbnails on Regen Thumbnails button (#1288)
Done

Co-authored-by: jake <77554505+brxken128@users.noreply.github.com>
2023-09-02 23:15:41 +00:00
Vítor Vasconcellos
b0170b9dba [ENG-904] Thumbnail for svg (#1220)
* Initial implementation for svg rendering

* Remove unused errors
 - Round up size before allocating Pixmap
 - Re-order some operations

* Finish integrating with Thumbnailer
 - Fix svg thumbnail size
 - Fix incorrect color space while converting tiny_skia::Pixmap to image

* Fix Clippy warns

* Feedback + sd-heif async

* Update implementation to match recent changes to the Thumbnailer
 - Change sd-heif and sd-svg to receive the file data, instead of opening the file internally
 - Update changes to make Thumbnailer and sd-heif more async

* Minor import improvement

* Add missing cfg to gate use of sd_heif only to plataforms that have it enabled
2023-08-31 23:01:45 +00:00
Oscar Beaumont
f821bb9a0f Stop App Freezing (#1257)
* Drop Tauri custom URI handler
Me no likely but it has to be done.

* fix app startup with location

* fix "Add Location" button on web

* Serve correct content range

* Backport changes from 08ba4f91

* none of my homies like panics

* minor fixes

* fmt with new Rust version
2023-08-31 06:54:40 +00:00
Ericson "Fogo" Soares
39549ef74c [ENG-953] Zero-byte files occasionally receive a random thumbnail (#1280)
* Better handling empty files

* windows bruh
2023-08-31 01:42:54 +00:00
Oscar Beaumont
e591516aff [ENG-401] Spacedrop betterer (#1273)
* Spacedrop progress on `useP2PEvents`

* Spacedrop Tauri file picker for saving

* Prompt for save location when closing dialog

* quick maths

* Spacedrop progress

* Spacedrop cancellation

* Move accept/cancel dialog to toast

* Toast when rejecting transfer

* yeet

* `useEffect` more like `useBug`
2023-08-30 08:07:23 +00:00
Oscar Beaumont
d758977d82 Improve Sync + P2P Integration (#1265)
* 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>
2023-08-29 17:54:58 +00:00
jake
c674b7107a [ENG-288, ENG-601] Media data (image) extraction, thumbnail orientation fix (#1099)
* basic layout

* lock

* add codec to image

* very messy wip

* rm that

* lock and toml

* working perfect exif extraction

* formatting

* migration and formatting

* mostly working

* fix

* set date created properly

* fix tsc

* working media data creation

* fix bad main merge? sorry brendan

* schema, migrations, bindings

* working exif data extraction

* why won't it work

* update migrations

* fix bad merge

* final cleanup

* cleanup migrations

* remove test (that was purely used for testing my code)

* working media data pulling, correct thumbnail orientation

* slightly optimise thumbnail rotation

* rename location to prevent specta clashes

* further improvements (location parsing is still broken)

* fix coordinate parsing i think

* rspc add some todos regarding final cleanup

* further thoughts

* major upgrades

* Some improved handling of errors and async calls

* accordion component

* heavily wip flash refactor

* fix builds all because of a (terrible) merge/move

* annoying missing newline

* i really hate exif

* remove dead code

* further flash progress :D

* docs(media-data): clarification

* minor cleanup

* cleanup and some async removal

* fix location parsing

* remove async (will do proper impl for async eventually) and major cleanup

* big W

* clippy and `FlashMode::Unknown` instead of `Invalid`

* add `NIKON` gps ref support

* comments about gps refs

* commit the submodule -_-

* major cleanup & composite image support

* remove old test image

* major cleanup and easier to use API

* remove old consts

* move `ExifReader` to dedicated module

* Media Data Extractor job and shallow job

* Extracting media data on watcher

* report no exif data on file gracefully

* cleanup errors and doctests

* Merging thumbnailer and media data extractor

* Job name and some strings in UI

* remove reliance on `sd-prisma` within the media data crate

* rename query to be more specific

* custom serializer for `MediaTime`

* tweak to format utc -> naive correctly

* generate migrations

* comment out duration in mobile

* delete test-assets folder

* all optional fields

* fix migrations again

* make requested name changes

* make further requested changes

* remove erroneous files from another wip branch

* updates procedures

* use strings where appropriate

* regen pnpm-lock

* add base layouts for video and audio media data

* use appropriate data types in schema and add audio media data framework

* make requested changes

* general cleanup and renaming of enum

* cleanup media data api

* rename media metadata type

* finishing touches

---------

Co-authored-by: Ericson Soares <ericson.ds999@gmail.com>
Co-authored-by: ameer2468 <33054370+ameer2468@users.noreply.github.com>
Co-authored-by: Jamie Pine <32987599+jamiepine@users.noreply.github.com>
Co-authored-by: Oscar Beaumont <oscar@otbeaumont.me>
Co-authored-by: Utku <74243531+utkubakir@users.noreply.github.com>
Co-authored-by: Brendan Allan <brendonovich@outlook.com>
2023-08-29 17:02:55 +00:00
Aditya
08ba4f917a Extending QuickPreview functionality with additional filetype support (#1231)
* added some files `standard` mime type

* Used `TEXTViewer` Component to show Code Preview

* Update Thumb.tsx

* added `prismjs`

* removed unnecessary comment

* `CODEViewer` Component for Syntax Highlighting

* formatting

* using **Atom** Theme for `Prism`

* merge text/code viewers & bg-app-focus for prism

currently calling onError and onLoad without an Event argument
that should change but i'm not really sure what to do there

* removed unused imports

* Update index.ts

* `TEXTViewer` to `TextViewer_`

* `TextViewer_` to `TextViewer`

* Don't highlight normal TextFiles

* clean code

* `TEXTViewer` to `TextViewer`

* using tailwind classes more

* doing things correctly.

* installed `prismjs` in interface

* using own scroller

* Update Thumb.tsx

* Add an AbortController to the fetch request
 - Fix onError and onLoad calls
 - Format code

* Fix onError being called when request was aborted due to re-render
 - Fix Compoenent re-rendering loop due to circular reference in useEffect
 - Remove unused imports

* Improve text file serving and code syntax highlight
 - Implement way to identify text files in file-ext crate
 - Do not depend only on the file extension to identify text files in custom_uri
 - Import more prismjs language rules files
 - Add line numbers to TextViewer when rendering code

* Clippy and prettier

* Fix reading zero byte data to Vec
 - Improve empty file handling

* Expand code highlight to more file types
 - Fix 10MB when it should be 10KB
 - Add supported for more code and config files extensions to sd-file-ext
 - Add comlink and vite-plugin-comlink for easy js worker integration
 - Move Prismjs logic to a Worker, because larger files (1000+ lines) where causing the UI to hang
 - Replace line-number prismjs plugin with our own implementation

* Fix uppercase extension name

---------

Co-authored-by: Utku <74243531+utkubakir@users.noreply.github.com>
Co-authored-by: pr <pineapplerind.info@gmail.com>
Co-authored-by: Vítor Vasconcellos <vasconcellos.dev@gmail.com>
2023-08-29 10:47:04 +00:00
Brendan Allan
5a8c5af964 [ENG-1009] Fetch item count to increase scrollbar size in explorer (#1258)
* search.objectsCount

* provide count to useExplorer and react-table

* use row count if custom count not provided

* remove placeholder items from list view
2023-08-28 08:28:52 +00:00
Oscar Beaumont
7bf0c0ae4a [ENG-994] Minor P2P fixes (#1238)
* mdns advertisement on detection

* fix bug in P2P discovery

* Add `P2PEvent::ExpirePeer`

* React properly

* Consistent tracing versions

* better logger config

* Reduce excessive logging from P2P

* Fix panic log hook

* Remove `dbg`

* Fix bug in thumbnailer remover

* wip: Connected peers in UI

* `Sync` is large pain

* init services after library load

* improve error handling of logger

* Sync protocol shutdown

* Add "updater" feature

* fix commands bindings

* nlm state debug query

* nlm debug status

* Make TS happy

* Add `RemoteIdentity` to libraries debug info

* Improve debug data presentation

* Among us level sus

* minor fix panic hook

* Fix EOF issue

* fix instance not being added on pairing

---------

Co-authored-by: Utku <74243531+utkubakir@users.noreply.github.com>
Co-authored-by: Ericson "Fogo" Soares <ericson.ds999@gmail.com>
2023-08-27 06:41:26 +00:00
Brendan Allan
09857de4c8 [ENG-1004] Add offset pagination to search queries (#1255)
fix undefined cursors
2023-08-27 04:45:29 +00:00
Jamie Pine
0def8fb048 Revert "[ENG-1004] Add offset pagination capability to search queries… (#1254)
Revert "[ENG-1004] Add offset pagination capability to search queries (#1251)"

This reverts commit a5a25b1439.
2023-08-26 21:19:01 +00:00
Brendan Allan
a5a25b1439 [ENG-1004] Add offset pagination capability to search queries (#1251)
Add offset pagination capability to search queries
2023-08-26 17:03:22 +00:00
Vítor Vasconcellos
b199c03c1e Always enable tauri update + Misc Clippy warns fix (#1250)
Always enable tauri update
 - Fix some misc clippy warnings
2023-08-25 22:08:34 +00:00
Brendan Allan
f387f2f076 [ENG-992] Add search.pathsCount route (#1244)
search.pathsCount route

Co-authored-by: Vítor Vasconcellos <vasconcellos.dev@gmail.com>
2023-08-24 21:04:50 +00:00
Vítor Vasconcellos
7a7d01307e Formatting (Prettier + Rustfmt 1.72) (#1246)
Formatting
2023-08-24 20:34:52 +00:00
Ericson "Fogo" Soares
28d106a2d5 [ENG-862, ENG-921] Ephemeral locations (#1092)
* Some initial drafts

* Finising the first draft on non-indexed locations

* Minor tweaks

* Fix warnings

* Adding date_created and date_modified to non indexed path entries

* Add id and path properties to NonIndexedPathItem

* Working ephemeral location (hardcoded home for now)

* Fix UI for ephemeral locations

* Fix windows

* Passing ephemeral thumbnails to thumbnails remover

* Indexing rules for ephemeral paths walking

* Animate Location button when path text overflow it's size

* Fix Linux not showing all volumes

* Fix Linux
 - Add some missing no_os_protected rules for macOS
 - Improve ephemeral location names

* Remove unecessary import

* Fix Mobile

* Improve resizing behaviour for ephemeral location topbar path button
 - Improve Search View (Replace custom empty component with Explorer's emptyNotice )
 - Improve how TopBar children positioning

* Hide EphemeralSection if there is no volume or home
 - Disable Ephemeral topbar path button animation when text is not overflowing

* minor fixes

* Introducing ordering for ephemeral paths

* TS Format

* Ephemeral locations UI fixes
 - Fix indexed Locations having no metadata
 - Remove date indexed/accessed options for sorting Ephemeral locations
 - Remove empty three dots from SideBar element when no settings is linked

* Add tooltip to add location button in ephemeral locations

* Fix indexed Locations selecting other folder/files in Ephemeral location

* Minor fixes

* Fix app breaking due to wrong logic to get item full path in Explorer

* Revert some recent changes to Thumb.tsx

* Fix original not loading for overview items
 - Fix QuickPreview name broken for overview items

* Improve imports

* Revert replace useEffect with useLayoutEffect for locked logic in ListView
It was causing the component to full reload when clicking a header to sort per column

* Changes from feedback

* Hide some unused Inspector metadata fields on NonIndexedPaths
 - Merge formatDate functions while retaining original behaviour

* Use tauri api for getting user home

* Change ThumbType to a string enum to allow for string comparisons

* Improve ObjectKind typing

---------

Co-authored-by: Vítor Vasconcellos <vasconcellos.dev@gmail.com>
Co-authored-by: Oscar Beaumont <oscar@otbeaumont.me>
2023-08-23 17:26:07 +00:00
ameer2468
fe51d54075 [ENG-607] Explorer persist options (#1189)
* Structs for views

* hook up new preferences types to preferences system

* wip - draft

* laters useEffect, hi explorer context :D

* fix types

* wip

* hm

* preferences wip

* tweaks

* use search::SortOrder

* Refactor explorer settings to use useExplorer and useExplorerSettings (#1226)

refactor to use useExplorer and useExplorerSettings

* preferences

---------

Co-authored-by: Brendan Allan <brendonovich@outlook.com>
Co-authored-by: Jamie Pine <32987599+jamiepine@users.noreply.github.com>
2023-08-18 08:19:54 +00:00
Oscar Beaumont
bcbbe58141 [ENG-974] DB Backup prototype (#1216)
* DB Backup prototype

* Put backups behind feature flag

* Warning for data folder

* nit

* Clippy

---------

Co-authored-by: Utku <74243531+utkubakir@users.noreply.github.com>
Co-authored-by: Vítor Vasconcellos <vasconcellos.dev@gmail.com>
2023-08-17 05:37:10 +00:00
Ericson "Fogo" Soares
e0b72c41da [ENG-876] Show folders first in explorer (#1223)
Grouping directories before files
2023-08-16 20:49:02 +00:00
nikec
9c0aec8167 [ENG-300] Explorer multi-select (#1197)
* grid

* Improved multi-select, grid list & view offset. Added gap option & app frame.

* List view multi-select

* Include multi-select in overview, fix page ref type

* Add gap to options panel

* Fix drag

* Update categories z-index

* going pretty well

* fix a couple bugs

* fix another bug :)

* minor improvements

* Separate grid activeItem

* extra comments

* um akshully don't ref during render

* show thumbnails yay

* cleanup

* Clean up

* Fix ranges

* here it is

* fix cols drag

* don't enforce selecto context

* explorer view selectable

* Update index.tsx

* Context menu support for multi-select (#1187)

* here it is

* stopPropagation

* cut copy multiple

---------

Co-authored-by: nikec <nikec.job@gmail.com>

* explorer view selectable

* Update index.tsx

* items Map

* fix renamable

* Update inspector

* Hide tag assign if empty

* fix merge

* cleanup

* fix un-rendered drag select

* fix double click quick preview

* update thumbnail

* mostly handle multiple select in keybindings

* fix ts

* remove another todo

* move useItemAs hooks to @sd/client

* fix thumb controls

* multi-select double click

* cleaner?

* smaller gap

---------

Co-authored-by: Jamie Pine <ijamespine@me.com>
Co-authored-by: Brendan Allan <brendonovich@outlook.com>
Co-authored-by: Jamie Pine <32987599+jamiepine@users.noreply.github.com>
Co-authored-by: Utku <74243531+utkubakir@users.noreply.github.com>
Co-authored-by: Ericson "Fogo" Soares <ericson.ds999@gmail.com>
2023-08-15 08:23:41 +00:00
Ericson "Fogo" Soares
fc95b19506 [ENG-644] Deleting a single file should be background job (#1214)
Deleting without job for single file
2023-08-14 06:01:19 +00:00
Ericson "Fogo" Soares
4a3acfa1c8 [ENG-835] Duplicating an empty directory doesn't duplicate nested empty directories (#1213)
* Bunch of warnings

* Solving the issue

* sd_core_sync::New

* dumb

---------

Co-authored-by: Brendan Allan <brendonovich@outlook.com>
2023-08-13 18:34:46 +00:00
Jamie Pine
a253431d0f [ENG-887] Category empty screens (#1056)
* begin

* default category ui + schema

* yes

* better light icons

* new text icon

* fix schema

* fix merge error

* fix optional

* re-export icons

* tweaks

---------

Co-authored-by: Oscar Beaumont <oscar@otbeaumont.me>
2023-08-12 16:30:03 +00:00
Brendan Allan
160b5e0cf8 [ENG-968] Cache job progress events (#1203)
* cache job report events in context

* hoist report state to JobManager

---------

Co-authored-by: Jamie Pine <32987599+jamiepine@users.noreply.github.com>
2023-08-12 07:41:18 +00:00
Brendan Allan
8f1afbf164 Isolate sync p2p logic (#1198)
* remove p2p from sd-core-sync and isolate p2p handling

* re-enable tests and stop being silly

* move sync protocol to modules

* don't emit messages

* cleanup

* formatting
2023-08-11 08:32:20 +00:00
Aditya
9ed2ceb14b [ENG-954] Quick Preview for text file (#1184)
* Quick Preview for text file

Implemented a Quick Preview feature using an iframe to display the content of text files in the browser, enhancing the user experience with easy access to file information.

* made corners rounded

* desabled scroller in inspector

* Text Viewer's Implementation

Implemented a TEXT Viewer like PDF Viewer, which shows content of text files

* Dark Scrollbar & Padding Enhancements

Implemented dark scrollbar to match theme and added horizontal padding for improved text preview.

---------

Co-authored-by: Utku <74243531+utkubakir@users.noreply.github.com>
2023-08-10 18:52:57 +00:00
Brendan Allan
9883a191a4 bruh (#1182) 2023-08-07 09:45:40 +00:00
Oscar Beaumont
ae3d4c1c37 Library "states" continuation (#1180)
* Remove `NodeServices`

* minor

* fix

* cleanup services

* do the shuffle

* `LoadedLibrary` -> `Library`
Yeah this is probs better

* fixes

* bruh

* lol

* get_all_libraries -> get_all

* job::manager::Actor

* `ctx` to `node` for consistency

* _

* cleanup

* do arc higher up

---------

Co-authored-by: Brendan Allan <brendonovich@outlook.com>
2023-08-07 09:26:10 +00:00
Brendan Allan
00e4aa9e8f Sync ingesting (#1181)
* sync + ingest refactor

* fix Event enum description

* actually do sync over network

* re-enable heif

* remove comment
2023-08-07 07:52:43 +00:00
Oscar Beaumont
9e919f9909 Library "state" (#1160)
* `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
2023-08-05 14:42:21 +00:00
Aditya
ac5d7eb4f8 [ENG-848] Implemented "Copy as Path" functionality (#1139)
* #1119 Issue: Implemented "Copy as Path" functionality

I addressed issue #1119 by successfully implementing the "Copy as Path" functionality within the "More Actions" section of the Context Menu. This feature enhances user experience and offers a convenient way to copy file paths. While considering the valuable suggestion of potentially associating this option with the "Alt" key in the future, I opted to make it accessible through the "More Actions" section for now. All tests have passed smoothly

* Extend "Copy as Path" functionality to Overview, Search, and tags explorer

This commit extends the "Copy as Path" functionality to three additional screens in the SpaceDrive application: Overview (under categories), Search, and tags explorer. Users can now conveniently copy file paths from these screens, enhancing their overall experience with the application. The implementation has undergone thorough testing and is ready for review and integration into the project.

* Enhanced File Path Retrieval with RSPC Integration

The code now uses rspc to obtain the filePath, and we simply call it using useLibraryQuery from the frontend to retrieve the filePath. This RSPC-powered approach has successfully replaced the previous, less efficient method of file path retrieval. As a result, the entire process has become streamlined and optimized.

* Merge branch 'eng-848-feature-copy-as-path' of https://github.com/Raghav-45/spacedrive into eng-848-feature-copy-as-path

* Enhanced File Path Retrieval with RSPC Integration

The code now uses RSPC to obtain the file path, and we simply call it using useLibraryQuery from the frontend to retrieve the filePath. This RSPC-powered approach has successfully replaced the previous, less efficient method of file path retrieval. As a result, the entire process has become streamlined and optimized.

In the previous file path retrieval method, we relied on different file access techniques, which often led to slower & non-optimal responses

* Formatted coder with Prettier

* Refactor: Update file paths to '@sd/client'

* doing things with useLibraryMutation instead of useLibraryQuery

doing things with useLibraryMutation instead of useLibraryQuery, so that we only fetch file path only when needed

* Replace locationIdToPath api route with getPath
 - Resolve full file object path on the backend instead of the front-end
 - Use a query instead of a mutation
 - Export rspc queryClients to allow non-reactive usage
 - Error handling
 - Formatting

* Update Object's context menu to use  query

* Move onClick logic inside the CopyAsPath Element

* Improved a Little

- removed unused imports
- formatted document with prettier config which is present in code files `.prettierrc.js`
-

* Update Items.tsx

---------

Co-authored-by: Vítor Vasconcellos <vasconcellos.dev@gmail.com>
Co-authored-by: nikec <nikec.job@gmail.com>
2023-08-04 10:26:34 +00:00
Oscar Beaumont
6c9e08540f Networked sync (#1133)
* temp remove discriminator from tunnel

* i'm lost :(

* Working `Tunnel` + move sync stuff back into p2p

* sync module

* `NetworkedSyncManager`

* Move sync stuff off `P2PManager`

* Test `SyncMessage`

* Library edit + delete hooks

* stable `identity` column

* fix

* plz work

* p2p is hard

* sync identities post pairing

* Remove `p384`

* a couple improvements

* comment out ReqRes

---------

Co-authored-by: Brendan Allan <brendonovich@outlook.com>
2023-08-02 11:49:50 +00:00
Oscar Beaumont
13a3fbe486 Cleanup core (#1140)
* `NodeContext` -> `SharedContext`

* Cleanup context init

* Goodbye `Arc`'s

* Cleanup context

* rename

* minor

* abstract `Platform` into it's own file

* More `Arc`'s go goodbye

* parallelise `categories.list`

* parallelise `categories.list`

* Unused code in `libraries.rs`

* whoops

* a cheeky rename

* bruh

* :-(
2023-08-02 08:06:54 +00:00
Ericson "Fogo" Soares
26e3b53b21 Small fix due to how sharding works (#1138) 2023-07-28 03:46:44 +00:00
Ericson "Fogo" Soares
aec0c94d62 [ENG-794] Library deletion hangs (#1137)
Solving deadlock on library deletion
Also improving some minor stuff on thumbnails remover actor
2023-07-27 23:18:45 +00:00
jake
7215e40a3b [ENG-926] Prevent thumbnail destruction and fix the remover (#1127)
* fix(core): thumbnail removal

* chore(core): add todo

* New actor on steroids

* Improving thumbnail remover actor

* Ignoring errors from files that doesn't exist

---------

Co-authored-by: Ericson Soares <ericson.ds999@gmail.com>
2023-07-25 14:21:50 +00:00
Ericson "Fogo" Soares
9283e74d85 [ENG-875] Re-index & Re-thumb should be smart (#1130)
* New sub_path rescan rspc route

* Changing some rescan call sites to use new route
2023-07-25 12:47:56 +00:00
Brendan Allan
447069388b Push libraries into vec after loading (#1129)
push libraries into vec after loading
2023-07-24 17:17:02 +00:00
Brendan Allan
043b607ad4 CRDTOperation receiving (#1122)
* operation receive + compare

* cleanup + deduplication

* operation receive + compare

* cleanup + deduplication

* sync route + operation grouping

* tag assign sync

* proper relation support in sync debug page

* migration

* separate core-sync + utils crates

* separate p2p event loop from manager

* cleanup library handling

* clippy

* feature gate sync messages properly

* make migration not add required field
2023-07-24 15:26:00 +00:00
Oscar Beaumont
23b0c403be [ENG-925] - Arc<Library>/Arc<NodeContext> (#1124)
* `Arc<Library>` + `Arc<NodeContext>`

* fix specta version

* remove unneccessary derefs

---------

Co-authored-by: Brendan Allan <brendonovich@outlook.com>
2023-07-24 10:59:57 +00:00
Ericson "Fogo" Soares
03e71e98a4 [ENG-778] Location clean up job (#1123)
* Introducing thumbnail remover actor
Also tweaking the orphan remover actor

* Rust fmt
2023-07-20 15:17:54 +00:00