* rebase: `crates/crypto` into current `main`
* refactor: remove `mnemonic` module
* feat: disable secure erase temporarily
* fix: tsc
* fix: tsc due to unused import
* fix: remove `cli` crypto info
* deps: update
* chore: remove dead comment
* refactor: remove `bincode` feature
* refactor: give `keyring` a dedicated feature so it's not reliant on `sys` as well
* fix: remove `aes-gcm` as it's no longer supported
* refactor: remove dead comment
* fix: update `keyring` imports
* refactor: change tests to `aes-256-gcm`
* feat: make `Key` a `Box<>` internally to ensure it's heap allocated (and fix tests)
* chore: clippy
* fix: hashing tests now that `const` keys aren't available
this will be cleaned up with test vectors and `include_bytes!()`
* chore: clippy
* refactor: remove dead code
* test: bring back `encrypt_with_invalid_nonce` test
* fix: secret service keyring
* fix: `zbus` build issues
* doc: update comment for clearer reasoning
* fix: cargo fmt
* fix: use bytes directly
* deps: update lockfile
* fix: secret service keyring
* fix: comment out windows keyring for now
* fix: use session keyring if no keyring backend
* fix: completely remove keyring module if no keyring is available for that OS
* fix: clippy
* fix: move iimport to correct conditional compilation
* fix: fmt
* wip for iDevices
* Working HardwareModel Info for iOS
* wip
* Merge 'main' into 'mob-hw-info-overview'
* Half-Working `get_volume()`
* Objective c bridge to talk to FS
* Working objc bridge
The bridge works now, and we can now access the iOS file system using the native objective-c APIs instead for proper values, including on the simulator.
* Isolate `icrate` for `ios` deployments only
* Working Stats for Android
* Clean Up + `pnpm format`
* Fix to FSInfoResult Type
Due to the RNFS fork change, I had to change the types to make it so it doesn't fail building and CI.
* iOS Device Name Fix
* Bunch of new warns due to a stronger clippy config
* Moving old processing stuff to a new namespace
Also fixing a bunch of typos through the entire codebase.
* Rustfmt
* Working External Storage Locked Locations
We can now add Downloads (A location locked by MANGE_EXTERNAL_STORAGE) on Android.
* Navigate to added page
Adding location now navigates to the added location explorer.
* Way simpler solution
Found a way simpler solution, that doesn't require query calls.
* Clean up
Remove unused import calls.
* Attempt to get Location Watcher working
Well, Location watcher doesn't want to run. But I wanted to push the `xcrun` command to the README.
Also, locations now actually show files, but break on displaying recursive folders (folder content in a folder).
* Quick clean up + Working full rescan
locations.fullRescan works now on mobile with 0 issues. It can recognize orphan paths and when new files are added.
But, Location-Watcher for some reason doesn't want to run automatically when the file system change occurs.
* Working iOS Watcher
Location Watcher now works for iOS when files are created. However, it can't understand the file delete event yet.
* Functional watcher for iOS
The watcher system is now fully functional on iOS, with a few bugs to patch regarding the delete function freezing the system up.
* Update ios.rs
* See Logs on Android
Finally figured out how to see the logs from Android.
* Update CONTRIBUTING.md
* Updated to Stable & Working
* Working Android Build + Explorer working again
* wip
* wip
* Squashed commit of the following:
commit a7bc3b908d
Merge: 201913a12899aa3f
Author: Arnab Chakraborty <11457760+Rocky43007@users.noreply.github.com>
Date: Tue Feb 6 16:18:42 2024 -0500
Merge branch 'main' of https://github.com/Rocky43007/spacedrive
commit 2899aa3fa5
Author: ameer2468 <33054370+ameer2468@users.noreply.github.com>
Date: Tue Feb 6 19:30:53 2024 +0300
[ENG-1594] Change online to connected (#2060)
: This is a combination of 3 commits.
Change online to connected
remove offline
json
commit 48634c22aa
Author: ameer2468 <33054370+ameer2468@users.noreply.github.com>
Date: Tue Feb 6 17:49:16 2024 +0300
[MOB-54] UI Fixes (#2059)
* UI fixes - rive animation - SD version in settings - and more
* twStyle
commit 4e70246467
Author: Jesse Rodrigo <39565615+JSSRDRG@users.noreply.github.com>
Date: Tue Feb 6 11:41:05 2024 +0100
Dutch locale (#2054)
* nl locale
* add nl entry
* improve some wording
commit bb0d0af6a0
Author: Brendan Allan <brendonovich@outlook.com>
Date: Tue Feb 6 17:13:47 2024 +0800
[ENG-1548] use in-memory instances when sending messages to cloud (#2057)
* use in-memory instances when sending messages to cloud
* comments
commit 2d0c340e58
Author: ameer2468 <33054370+ameer2468@users.noreply.github.com>
Date: Tue Feb 6 06:03:33 2024 +0300
[MOB-47] Location screen and header updates (#2056)
* Location screen and header updates
* use tw sizing
* remove un-necessary prop
* Nit: change name
commit 58f9305965
Author: Arnab Chakraborty <11457760+Rocky43007@users.noreply.github.com>
Date: Mon Feb 5 07:06:47 2024 -0500
Update to Expo 50 and Fix to Rive Crashing (#2049)
* Update Mobile App to Expo SDK 50
+ Fix to Rive Crashing
* Added `metro-react-native-babel-transformer` to fix CI
commit 2ff1ffcb9c
Author: Utku <74243531+utkubakir@users.noreply.github.com>
Date: Sun Feb 4 23:52:26 2024 +0300
Fix Chinese language (#2050)
* fix chinese
* remove console.log
* Squashed commit of the following:
commit bda9a1b6ee
Author: ameer2468 <33054370+ameer2468@users.noreply.github.com>
Date: Wed Feb 7 20:25:04 2024 +0300
[MOB-55] Video animation for onboarding on mobile and desktop (#2065)
* video animation for onboarding on mobile and desktop
run assets gen
cleanup
declare mp4 type
* update metro config to transform video files from sd assets
* test ci without native video exclude
* casing?
* remove to add back again due to github
* add videos back
* versions
* no need to transform
---------
Co-authored-by: Utku Bakir <74243531+utkubakir@users.noreply.github.com>
commit da2841b37a
Author: Utku <74243531+utkubakir@users.noreply.github.com>
Date: Wed Feb 7 16:47:55 2024 +0300
More translations (#2051)
* translations
* more translation keys
* all the translations
* Added Cleaning Script
* Prep for PR
* Clean up + `cargo fmt`
* Update mod.rs
* Squashed commit of the following:
commit 2dc233f1b4
Author: Utku <74243531+utkubakir@users.noreply.github.com>
Date: Fri Feb 9 18:42:42 2024 +0300
Update readme & contributing guide & language stuff (#2071)
* updates
* keep common errors
* fix selector being empty for english
* sort by label
* update contributing
* update ndk and docs
* Update CONTRIBUTING.md
commit 177b2a23d6
Author: Brendan Allan <brendonovich@outlook.com>
Date: Fri Feb 9 21:20:51 2024 +0800
sync support for labels (#2070)
* more sync support for file paths + saved searches
* sync support for labels
* update sync prisma generator to support more than tags
* workey
* don't do illegal db migration
* use name as label id in explorer
commit 6f28d8ec28
Author: Brendan Allan <brendonovich@outlook.com>
Date: Fri Feb 9 16:17:04 2024 +0800
More sync support for file paths + saved searches (#2067)
more sync support for file paths + saved searches
* Update build-rust.sh
Fix script so it doesn't build debug apps always now.
* Add Tests for iOS
* Update android.rs
PR 1812 was closed, therefore changing the message to mention the branch instead.
* Change `--debug` to `--release`
Oops
* Remove debug cargo crate for `notify-rs`
* Spelling Fix on `android.rs`
* Squashed commit of the following:
commit dba85ebac3
Author: Ericson "Fogo" Soares <ericson.ds999@gmail.com>
Date: Mon Feb 26 16:45:58 2024 -0300
[ENG-1513] Better integration between Jobs and processing Actors (#1974)
* First draft on new task system
* Removing save to disk from task system
* Bunch of concurrency issues
* Solving Future impl issue when pausing tasks
* Fix cancel and abort
* Bunch of fixes on pause, suspend, resume, cancel and abort
Also better error handling on task completion for the user
* New capabilities to return an output on a task
* Introducing a simple way to linear backoff on failed steal
* Sample actor where tasks can dispatch more tasks
* Rustfmt
* Steal test to make sure
* Stale deps cleanup
* Removing unused utils
* Initial lib docs
* Docs ok
* Memory cleanup on idle
---------
Co-authored-by: Vítor Vasconcellos <vasconcellos.dev@gmail.com>
commit 53713a9f59
Author: ameer2468 <33054370+ameer2468@users.noreply.github.com>
Date: Mon Feb 26 18:53:37 2024 +0300
[ENG-1625] Spacedrop UI correct hover condition & spacing (#2127)
* improve spacedrop ui with correct hover & spacing
* remove
commit 6f27504e5f
Author: Matteo Galiazzo <50683509+gekoxyz@users.noreply.github.com>
Date: Mon Feb 26 16:20:41 2024 +0100
added it locale, added it entry (#2066)
* added it locale, added it entry
* Apply suggestions from code review
Co-authored-by: Matteo Martellini <matteo@mercxry.me>
* add missing keys and a readme about the script
---------
Co-authored-by: Utku <74243531+utkubakir@users.noreply.github.com>
Co-authored-by: Matteo Martellini <matteo@mercxry.me>
commit 28328034f0
Author: jake <77554505+brxken128@users.noreply.github.com>
Date: Mon Feb 26 15:17:28 2024 +0000
Clean-up MacOS window closing behaviour code (#2124)
* fix: delete dead/unused file
* refactor: add the window event handler with the rest of them
* refactor: formatting
commit aa0b4abf85
Author: Oscar Beaumont <oscar@otbeaumont.me>
Date: Mon Feb 26 15:23:48 2024 +0800
rspc over P2P (#2112)
* wip: rspc over p2p
* wip
* rspc over P2P
* Cleanup + error handling
* slight cleanup
* Using Hyper for HTTP streaming + websockets
commit f7a7b00e37
Author: Utku <74243531+utkubakir@users.noreply.github.com>
Date: Fri Feb 23 11:26:58 2024 -0500
Fix android thumbs (#2121)
* replace react-native-fs with an active fork
* time sink
* fix
commit 6358c574c9
Author: ameer2468 <33054370+ameer2468@users.noreply.github.com>
Date: Fri Feb 23 00:28:35 2024 +0300
Mob: cleanup warning (#2122)
Update Categories.tsx
commit a4b7296b45
Author: ameer2468 <33054370+ameer2468@users.noreply.github.com>
Date: Thu Feb 22 16:08:41 2024 +0300
MOB: Settings paddings (#2120)
padding tweaks
commit d007b55763
Author: nikec <43032218+niikeec@users.noreply.github.com>
Date: Thu Feb 22 13:53:02 2024 +0100
[ENG-1619] Add spacedrop to the context menu (#2119)
add spacedrop to context menu
commit dd0acad2e7
Author: ameer2468 <33054370+ameer2468@users.noreply.github.com>
Date: Thu Feb 22 15:47:08 2024 +0300
[ENG-1618] Spacedrop UI (#2118)
* spacedrop ui update
* i18n and description
* glitch: remove !
* already in progress i18n
* more i18n
commit a17fb910ed
Author: ameer2468 <33054370+ameer2468@users.noreply.github.com>
Date: Thu Feb 22 15:20:31 2024 +0300
[MOB-62] Spacing & padding tweaks (#2117)
Spacing & padding tweaks
commit 6a32752243
Author: Vítor Vasconcellos <vasconcellos.dev@gmail.com>
Date: Thu Feb 22 03:15:36 2024 -0300
Fix core test and CI breaking (#2116)
Fix core test passing inverted arguments to sync_db_entry macro
commit da4f038669
Author: ameer2468 <33054370+ameer2468@users.noreply.github.com>
Date: Wed Feb 21 17:19:40 2024 +0300
Mob: better visually width fitting for categories (#2114)
* Visually width fitting for categories
* remove padding
commit 3bdcc05c2d
Author: Vítor Vasconcellos <vasconcellos.dev@gmail.com>
Date: Wed Feb 21 11:18:15 2024 -0300
Fix mobile CI + Some small CI improvements (#2113)
Fix mobile CI
- Use rust envvars in all workflows
- Use rust envvars and mold when build sd-server docker
commit b638fc2177
Author: Utku <74243531+utkubakir@users.noreply.github.com>
Date: Wed Feb 21 08:26:05 2024 -0500
[MOB-37, MOB-38, MOB-39] Preview for PDF, Text and Media files (#2098)
* version & microphonePermission text & eslint
* remove polyfill as hermes supports intl now
* why do we have solid on mobile?
* cleanup
* add solid back =_=
* pnpm lock
* we hate relative paths here
* android config
* open file logic
* visual tweaks
---------
Co-authored-by: ameer2468 <33054370+ameer2468@users.noreply.github.com>
commit c533d12df0
Author: Brendan Allan <brendonovich@outlook.com>
Date: Wed Feb 21 22:42:10 2024 +1100
media data sync (#2102)
* basic sync operation backfill
* media data sync
* sync entry helpers
* fix sync generator
* nicer
* re-add key_id
commit 393a907b57
Author: Vítor Vasconcellos <vasconcellos.dev@gmail.com>
Date: Wed Feb 21 06:27:40 2024 -0300
Update github actions due to nodejs 16 deprecation (#2107)
* Update github actions due to nodejs 16 deprecation
- Replace archived actions-rs/clippy-check with maintained fork actions-rs-plus/clippy-check
- Replace redhat-actions/push-to-registry with updated fork Eusebiotrigo/push-to-registry
- Point redhat-actions/buildah-build and softprops/action-gh-release to current master to fix nodejs deprecation
* Build the correct ios core rust arch for CI runs
* Build ios app for the same arch as the host in Mobile CI
* Some changes to try and make cache-factory faster and avoid failing so much
* Add trigger to run cache-factory on pull requests when there are changes to itself
* Attempt to fix sed usage on macOS
* Don't treat warning as errors
* Fix windows
* Fix windows 2
* Use target ad cache key for rust to differentiate between macOS x86_64 and arm64
* Use faster/better linkers to compile for macOS, Linux and Windows
* Fix missing shell in action
* Fix typo
* Fix missing shell in action 2
* Fix mold download
- Replace bsdtar with plain tar
* Fix permission denied when extracting mold
* Remove zld
* Don't restore cache for rustfmt
- Remove target symlink to C:/ in an attempt to speed-up windows CI
* Fix typo
* Restore target symlink on windows
- Removing it didn't make CI faster
* Run Mobile on macos-14
commit 519b1b6c46
Author: Oscar Beaumont <oscar@otbeaumont.me>
Date: Wed Feb 21 16:13:40 2024 +0800
Fix P2P not working for libraries (#2031)
* P2P Debug route
* Remove legacy peer to peer pairing process
* Fix error typo
* Sync instances with cloud
* Upgrade deps + extended instance data
* Create instance with extended metadata
* Auto sync instances
* Actually `.await`
* bruh
* sync library info
* this isn't gonna work
* only sleep cloud receiver when no more messages (#1985)
* [ENG-1567] Fix renaming (#1986)
fix rename
* only sleep cloud receiver when no more messages
* use in memory instances during cloud receive (#1995)
* use in memory instances during cloud receive
* is_empty
---------
Co-authored-by: nikec <43032218+niikeec@users.noreply.github.com>
* fix type error
* wip
* make mdns mdns better
* rebuild state
* Add hooks + listeners + discovered state
* Split into crates
* wip fixing core + wip merging Spacetime into `sd-p2p2`
* `SmartLockGuard` + `Listener`
* Make `sd-core` compile
* Reenable all operation receivers
* Fix all broken code within `sd-core`
* minor fixes found in review
* Bring in `libp2p` + restructure `sd-p2p` for the gazillion-th time
* whoops
* Compile no matter the (runtime) cost
* fixing merge issues
* wip
* a
* b
* C
* Handle port betterer
* c
* Migrate node config
* a
* no crash on startup
* wip
* a
* jdfhskjfsg
* a
* fix discovery
* a bunch of fixes
* getting Spacedrop working
* I don't get why it no worky
* debug example
* a
* wip
* wip
* removing logging from stream impl
* wip: shit is fucked
* Redo quic integration + Spacedrop working
* Fix shutdown - deadlocks + shutdown peers
* Add Prisma migrations
* Fix shutdown
* a
* fix
* cleanup
* The lord clippy hath spoken
* disable P2P settings for now
---------
Co-authored-by: Brendan Allan <brendonovich@outlook.com>
Co-authored-by: nikec <43032218+niikeec@users.noreply.github.com>
commit af8dbf7789
Author: Julian Braha <julianbraha@gmail.com>
Date: Tue Feb 20 20:06:05 2024 +0000
Improve error handling by using decode::Error instead of io::Result (#2078)
Use decode::Error instead of io::Result
commit 84dadffa81
Author: ameer2468 <33054370+ameer2468@users.noreply.github.com>
Date: Tue Feb 20 22:59:11 2024 +0300
[MOB-59] Empty UI for locations and tags screen (#2110)
Empty UI for locations and tags screen
commit 9fc38d866a
Author: ameer2468 <33054370+ameer2468@users.noreply.github.com>
Date: Tue Feb 20 22:47:14 2024 +0300
[MOB-60] locations & tags query invalidation on updates (#2111)
Trigger UI updates on location adding/delete and tags
lint
name
commit abd5ecbe8d
Author: ameer2468 <33054370+ameer2468@users.noreply.github.com>
Date: Tue Feb 20 13:05:53 2024 +0300
mousedown fix (#2108)
quick mistake fix
commit 9bc1a472a8
Author: Brendan Allan <brendonovich@outlook.com>
Date: Tue Feb 20 20:22:34 2024 +1100
Basic sync operation backfill (#2101)
* basic sync operation backfill
* no changes
commit 2a283479e6
Author: Arnab Chakraborty <11457760+Rocky43007@users.noreply.github.com>
Date: Tue Feb 20 01:33:52 2024 -0500
New Android Build Script (#2096)
* New Android Build Script
* Clean up + Works for CI now
* Simplify android build.sh
- Fix /var/home/vitor fallback for Linux systems
- Run a single cargo ndk for all targets (not parallel build, but a bit faster)
- Fix android target s/x86/x86_64/
- Format setup.sh
- Minor improvements to rust mobile targets installation step in setup.sh
* Add notice to CONTRIBUTING that only Java <= 17 is supported for building android
- Make prettier ignore some mobile build artifacts
* When in CI, Fix build android core for host architecture
---------
Co-authored-by: Vítor Vasconcellos <vasconcellos.dev@gmail.com>
commit 19b224370e
Author: ameer2468 <33054370+ameer2468@users.noreply.github.com>
Date: Mon Feb 19 23:45:29 2024 +0300
[ENG-1615] bg intro video fixed (#2104)
* video intro bg
* test hsl
* test video bg
* run tests
* comment
* mob intro
* git glitch
* git
* webm type
commit 43360601da
Author: ameer2468 <33054370+ameer2468@users.noreply.github.com>
Date: Mon Feb 19 19:12:11 2024 +0300
[MOB-58] Settings routes new design & more (#2103)
* wip: redesigning settings pages
* Edit location redesign & more
* right actions
* cleanup
commit e8450821df
Author: ameer2468 <33054370+ameer2468@users.noreply.github.com>
Date: Mon Feb 19 18:23:20 2024 +0300
[ENG-1612] Fix mouse nav forwards and backwards (#2105)
Fix mouse nav forwards and backwards
* Clean up commented code
* Clean up + Remove `LocationOnboarding.tsx`
* Fix websockets over P2P + multi-node cache
* cleanup features
* Explorer over P2P demo
* wip
* wip
* working for ephemeral stuff
* Button to get out of remote viewer
* remove
* Cleanup
* more cleanup
* Fix cross-node library queries
* Files over P2P
* Drop `Header::File`
* Fix Clippy
* Don't let noobs get hacked
* First draft on new task system
* Removing save to disk from task system
* Bunch of concurrency issues
* Solving Future impl issue when pausing tasks
* Fix cancel and abort
* Bunch of fixes on pause, suspend, resume, cancel and abort
Also better error handling on task completion for the user
* New capabilities to return an output on a task
* Introducing a simple way to linear backoff on failed steal
* Sample actor where tasks can dispatch more tasks
* Rustfmt
* Steal test to make sure
* Stale deps cleanup
* Removing unused utils
* Initial lib docs
* Docs ok
* Memory cleanup on idle
---------
Co-authored-by: Vítor Vasconcellos <vasconcellos.dev@gmail.com>
* P2P Debug route
* Remove legacy peer to peer pairing process
* Fix error typo
* Sync instances with cloud
* Upgrade deps + extended instance data
* Create instance with extended metadata
* Auto sync instances
* Actually `.await`
* bruh
* sync library info
* this isn't gonna work
* only sleep cloud receiver when no more messages (#1985)
* [ENG-1567] Fix renaming (#1986)
fix rename
* only sleep cloud receiver when no more messages
* use in memory instances during cloud receive (#1995)
* use in memory instances during cloud receive
* is_empty
---------
Co-authored-by: nikec <43032218+niikeec@users.noreply.github.com>
* fix type error
* wip
* make mdns mdns better
* rebuild state
* Add hooks + listeners + discovered state
* Split into crates
* wip fixing core + wip merging Spacetime into `sd-p2p2`
* `SmartLockGuard` + `Listener`
* Make `sd-core` compile
* Reenable all operation receivers
* Fix all broken code within `sd-core`
* minor fixes found in review
* Bring in `libp2p` + restructure `sd-p2p` for the gazillion-th time
* whoops
* Compile no matter the (runtime) cost
* fixing merge issues
* wip
* a
* b
* C
* Handle port betterer
* c
* Migrate node config
* a
* no crash on startup
* wip
* a
* jdfhskjfsg
* a
* fix discovery
* a bunch of fixes
* getting Spacedrop working
* I don't get why it no worky
* debug example
* a
* wip
* wip
* removing logging from stream impl
* wip: shit is fucked
* Redo quic integration + Spacedrop working
* Fix shutdown - deadlocks + shutdown peers
* Add Prisma migrations
* Fix shutdown
* a
* fix
* cleanup
* The lord clippy hath spoken
* disable P2P settings for now
---------
Co-authored-by: Brendan Allan <brendonovich@outlook.com>
Co-authored-by: nikec <43032218+niikeec@users.noreply.github.com>
* Fix some problems with the AI system
- Fix downloading model using an internal rust string representation as path for the model file
- Fix Linux loading onnx shared lib from a hardcoded path
- Fix App should not crash when the AI system fails to start
- Fix sd-server failing to start due to onnxruntime incorrect linking
- Some extra clippy auto fixes
* Use latest ort
* Fix dangling sd_ai reference
- Use entrypoint.sh to initilize container
* Fix server Dockerfile
- Fix cargo warning
* Workaround intro video breaking onboarding for the web version
* Fix rebase
* more sync support for file paths + saved searches
* sync support for labels
* update sync prisma generator to support more than tags
* workey
* don't do illegal db migration
* use name as label id in explorer
* fix: wait until libraries have loaded before checking the count
* fix: include new core version in lockfile
* fix: moved value
* fix: check the `libraries/` data dir manually
* Clear localstorage via localStoarge.clear() (#2040)
only clear localstorage in desktop using js
---------
Co-authored-by: Brendan Allan <brendonovich@outlook.com>
* P2P Debug route
* Remove legacy peer to peer pairing process
* Fix error typo
* Sync instances with cloud
* Upgrade deps + extended instance data
* Create instance with extended metadata
* Auto sync instances
* Actually `.await`
* bruh
* sync library info
* this isn't gonna work
* only sleep cloud receiver when no more messages (#1985)
* [ENG-1567] Fix renaming (#1986)
fix rename
* only sleep cloud receiver when no more messages
* use in memory instances during cloud receive (#1995)
* use in memory instances during cloud receive
* is_empty
---------
Co-authored-by: nikec <43032218+niikeec@users.noreply.github.com>
* fix type error
* wip
* make mdns mdns better
* response
* remove renames
---------
Co-authored-by: Brendan Allan <brendonovich@outlook.com>
Co-authored-by: nikec <43032218+niikeec@users.noreply.github.com>
* feat: clear localstorage on start if no libraries are found
* chore: add a check to see if the node is for desktop or server use
this will prevent desktop/app localstorage from being cleared if it's a server being hosted
* fix: add secondary localstorage directory for macos
for some reason the app/onboarding progress is kept in `Library/WebKit/Spacedrive` (at least in dev?) so it also needs clearing
* feat: delete cache directories also
* chore: iterate over paths
* feat: add support for windows `localStorage` by using `data_local_dir`
* docs/style: better comments and logs
* feat: remove both `AppData` local and roaming on Windows
* fix: mobile builds
* chore: tweak error message for windows
* Initial port to appimage-builder
* Almost
* Fix appimage build on arm64
* Custom patch for external binaries run under appimage
- Disable bubblewrap sandbox when running under appimage
- Change cwd to APPDIR when running under appimage
* AppImage Works (for the first lunch, then it crashes with Stack Smash 😭)
* Fix stack smashing, now AppImage almos fully works \o/ (gstreamer is still broken)
- Temporarily disable the volume watcher when running under appimage (Workaround for the stack smash error)
- Wrap gnu lic version check for appimage under conditional compile for glibc targets
- Add error handling for the justUpdatedCheck
- Fix VITE_LANDING_ORIGIN being undefined
* On non glibc systems default to runtime/compat
* Use glibc version 2.8 instead of 0 for non-gnu systems
* Fix video playback not working due to broken GstRegistry
* Build and publish new AppImage release artifact
- Fix model location when building deb
- Improve model path resolution logic
- Remove patchelf dependency from setup script
- Fix incorrectly ignore gstreamer dependency in AppImage recipe
* Fix clippy complaining about `get_path_relative_to_exe`
- Read GLIBC_FAKE_VERSION or use 2.8 for musl in appimage (while the code is there, this is not really supported for now)
* Remove appimage tauri target from release CI
* Remove setup-buildx-action, not relly needed
* typo fix
* Fix git describe command running on cwd instead of the repo root dir
* Attempt fix weird git permissions errors in CI+docker
* Pass CI env to docker appimage
* Only use git after installing it
* Pass target to appimage build script
* Fix permission after creating appimage
* -_-
* Swap envvar with github ci var
* Format
* Add instruction on how to manually build an AppImage
* Fix typos
* docs: add note about running podman with `--privileged` if there's a permission denied error
* docs: fix typo and link directly to appimage-building `README.md`
* refactor: streamline code and make it a bit cleaner
---------
Co-authored-by: jake <77554505+brxken128@users.noreply.github.com>
* init
* changes
* Now updating statistics once a minute
* More robust statistics updater
* Concurrency is hard
* improvements to stats
* refactor
* adjust setting back/forward padding so it matches top bar
* refactor sidebar
* rename
* setting up screens
* some changes
* Co-authored-by: Brendan Allan <Brendonovich@users.noreply.github.com>
* yes
* yes2
* refactored explorerItem.ts
* important explorer code shouldn't be thrown away in a util moment
* support for multiple thumbnails in ExplorerItem
* clippy
* move debug
* yes
* label filters
* ts
* comment out unconnected stuff
* added .mid for midi files
---------
Co-authored-by: Ericson Fogo Soares <ericson.ds999@gmail.com>
Co-authored-by: Brendan Allan <brendonovich@outlook.com>
* Shit UI
* refactor a bit
* wip
* yeet
* farming the wry but it's stale
* Real-time hover event
* Hook with `Platform` + fix broken window-state plugin
* `DragAndDropDebug`
* Clippy
* revert Tauri v2 stuff
* minor
* probs not gonna work
* undo last commit
* a
* b
* c
* d
* e
* f
* g
* long shot
* 1
* no 7
* da hell
* large bruh moment
* lol
* zzzz
* SSH into CI
* yeet
* Tauri mouse position without new Wry
* go for gold
* Correctly lock `ort` version
* minor fixes
* debounce hover events
* WTF Tauri
* Replace DND hooks with goated versions
* wip frontend stuff
* fix ts
* disable library p2p stuff
* remove Spacedrop dialog + hook up backend
* `useOnDndLeave` working
* Close popover when drag outside
* Allow `openFilePickerDialog` for Spacedrop
* couple of fixes
* empty state
* smh
---------
Co-authored-by: Brendan Allan <brendonovich@outlook.com>
* First draft on image labeling
* Fixing execution providers for other OSs
* Better error handling and shutdown
* Working with shallow media processor
* bruh
* Fix warnings
* Now hooked to media processor job
* Link desktop app with libonnxruntime to avoid TLS error during startup
* Be able to change models on runtime
Revert to use labels table instead of tags
* A bug on a model-less inference
* Show AI labels on Inspector
- Change yolo inference to use half precision
- Add labels api to core
* Remove LD_PRELOAD
* Fix race condition on model executor shutdown
* Don't load all images in memory moron
* Embeed yolo model in prod build
- Change yolo model path to new one relative to executable
* Disable volume watcher on linux, it was crashing the app
- Invalidate labels when they are updated
* Rust fmt
* Minor changes
* Gate onnxruntime linking to the ai-models feature
* Add build script to sd-server to handle onnxruntime linking workaround
* Move AI stuff to its own crate and normalize deps
* Rust fmt
* Don't regenerate labels unless asked to
* Now blazingly fast
* Bad merge
* Fix
* Fix
* Add backend logic to download extra yolo models
* Add models api route
- Add api call to get available model version
- Add api call to change the model version
* Improve new model download logic
- Add frontend to change image labeler model
* Fix new model downloader
* Fix model select width
* invalidate labels count after media_processor generates a new output
* Rename AI crate and first draft on download notifications
* fix types
---------
Co-authored-by: Vítor Vasconcellos <vasconcellos.dev@gmail.com>
Co-authored-by: Brendan Allan <brendonovich@outlook.com>
* basic declared actor manager
* put actors in separate file
* clippy
* hopefully clean up some clippy warnings
---------
Co-authored-by: jake <77554505+brxken128@users.noreply.github.com>
* fix horizontal pdf rendering
* don't rotate certain formats (heif*)
* return `u32` from scaling function
* add `avifs` as a valid extension
* add avifs as a valid MIME type
* re-categorize `avifs` as a video (sequence)
* Fix mime-types
* Add Hif extension
- Cannon uses a special extension for heif in its cameras: https://github.com/digipres/digipres.github.io/blob/master/_sources/registries/fdd/fddXML/fdd000525.xml#L213-L221
* hif is actually a heic
---------
Co-authored-by: Vítor Vasconcellos <vasconcellos.dev@gmail.com>
* fda wip
* clippy
* add tauri invoke fns for FDA
* fda wip
* clippy
* add tauri invoke fns for FDA
* wip
* fda wip
* clippy
* add tauri invoke fns for FDA
* wip
* wip
* wip fda
* remove imports
* hopefully improve FDA
* execute only on macos
* ts
* ts
* Update Platform.tsx
* Update AddLocationButton.tsx
* remove console log
* fix: fda and add unit tests
* temp commit for Jake
* add fda state and keybind handling (so the frontend is kept up to date)
* update FDA
* update imports
* testing purposes
* Jakes work
* fix fda checks
* work in progress (but not working)
* remove dead files
* attempt #2
* !!!temporarily enable devtools in prod
* remove alert
* show FDA screen but don't require it
* add an FDA button to general client settings
* Update AddLocationButton.tsx
* remove dead code
* unused dep
* old errors
* remove import
* dead code
* dead code + typesafety
* eslint
* remove fda dialog references
* remove mp4 vid
* hopefully fix onboarding for non-macos OSes
* shorter nav
---------
Co-authored-by: jake <77554505+brxken128@users.noreply.github.com>
* Removing migrator
* Adding serde_repr dep
* Generalizing version manager
* Updating library config to use version manager
* Updating node config to use version manager
* Updating stuff to use new configs
* More async
* Library manager errors
* Node and thumbnailer preferences
* Small warning on prep
* Upgrading batch construction for thumbnailer
* Updating thumb version file to new version manager
* Configurable parallelism for thumbnailer
* Integration with frontend and refresh batch
Co-authored-by: Vítor Vasconcellos <HeavenVolkoff@users.noreply.github.com>
---------
Co-authored-by: Vítor Vasconcellos <HeavenVolkoff@users.noreply.github.com>
* search options start
* small progress
* more
* bunch of stuff
* semi functioning filters
* cleanup setup api
* progress
* remove filters
* hooked up to query epic moment
* fix
* move db stuff to specific modules
* in/notIn for some fields
* generate ts
* big gains
* working filter options for locations, tags and kind
* working search query
* perfect fixed filters
* saved searches lol
* merge error
* saved searches via api
* better routing
* [ENG-1338] Fix fresh Spacedrive install failing to start due to attempting to query a nonexistent Library (#1649)
Fix Spacedrive failing to start due to attempting to query a nonexistent Library
- Rename useShoudRedirect to useRedirectToNewLocations
- Improve behaviour for the immedite redirection after adding a new location
* Show hidden files false by default (#1652)
bool
* fix remove filter in list
* tweaks
* fix nav buttons
* unify MediaData search handling
* cleanup saved search writing
* Add left top bar portals for tags and search + fixed media view on tags
* added search to filter dropdown
* render cycle improvements
* hotfix
* wip
* Refactor with Brendan, but this is a WIP and the search query no longer works
Co-authored-by: Brendan Allan <Brendonovich@users.noreply.github.com>
* progress
* fix location/$id page
* fix tags too
Co-authored-by: Brendan Allan <Brendonovich@users.noreply.github.com>
* 3rd refactor lol
epic style
* half-done with enum-ification of SearchFilterArgs
* broken fixed filters but working inNotIn filters
* search name + extension kinda working
* hidden filter
* fixed filters working??
* deferred search value
* extensions works
* filtered search items mostly working
* tweaks
* stacked approach working for non-search filters
* move to Explorer/Search
* actually use filterArgs in queries
things actually work properly now
* added new icons from Mint
* goof
* cleanup types, filters and mutation logic
* actually use search value
* remove overview from sidebar
* don't shrink LibrariesDropdown ga
* remove overview from sidebar and default to /network
---------
Co-authored-by: Brendan Allan <brendonovich@outlook.com>
Co-authored-by: Vítor Vasconcellos <vasconcellos.dev@gmail.com>
Co-authored-by: Brendan Allan <Brendonovich@users.noreply.github.com>
* Clarify Error
- Clarifies error that occurs when attempting to read the metadata from an on-demand file
* Make error more better
Changed 'Attempted' to 'Failed'
* Add comment and conditional compilation
* Small warnings
* Introducing file and line number into tracing logs
* Update walker to account for existing object_ids
* Only unlinking at indexer for file_path with
object referencing more than one file_path
* Better filtering orphans file_paths
* Foreground thumbs generation for shallow media
processor
* Watcher tweaks to preserve existing object
Also fixing a media_data extraction/update bug
* Backend side
* Rust fmt
* Removing uneeded duplicate files rspc route
* Create folder for ephemeral files
* Ephemeral delete files
* First draft on copy, cut and delete, still buggy
* Fixing copy function and updating async-channel dep
* Rename and some fixes
* let me create pr
* a whole lotta changes
* split `p2p_manager.rs` into smaller files
* the arcpocalypse is over
* minor generic cleanup
* wip removing 'MetadataManager'
* more wip
* wip: i am changing branch
* discovery2 -> discovery
* make it somewhat compile
* more wip
* wip: reassembling manager stream
* state more goodly
* wip
* more wip
* removing generic from sd_p2p::Manager
* reassemble networked libraries
* wip: hooking back up mDNS
* multi-flume wip
* contain bad code to a single file
* p2p_manager_actor + split handlers into file per operation
* cleanup after restructure
* cleaning up more
* wip: reenable resync
* wip: remote identity in connection payload
* track connected clients (required for `service.rs`)
* a big ass iterator
* working towards finishing `service.rs`
* service shutdown
* hook up listen channel in service
* fix address resolution
* merge nlm stuff into LibrariesService
* finish library to service mapping
* less footguns in p2p - seal `PeerId`
* fix previous pr
* p2p state rspc query
* send node events to the frontend
* minor
* wip
* more worky, less crashy
* make spacedrop work + debug state
* fix mdns expiry
* clippy
* other clippy
* remove broadcast type
* merge conflict issue
* let me create pr
* a whole lotta changes
* split `p2p_manager.rs` into smaller files
* the arcpocalypse is over
* minor generic cleanup
* wip removing 'MetadataManager'
* more wip
* wip: i am changing branch
* discovery2 -> discovery
* make it somewhat compile
* more wip
* wip: reassembling manager stream
* state more goodly
* wip
* more wip
* removing generic from sd_p2p::Manager
* reassemble networked libraries
* wip: hooking back up mDNS
* multi-flume wip
* contain bad code to a single file
* p2p_manager_actor + split handlers into file per operation
* cleanup after restructure
* cleaning up more
* wip: reenable resync
* wip: remote identity in connection payload
* track connected clients (required for `service.rs`)
* a big ass iterator
* working towards finishing `service.rs`
* service shutdown
* hook up listen channel in service
* fix address resolution
* merge nlm stuff into LibrariesService
* finish library to service mapping
* less footguns in p2p - seal `PeerId`
* fix previous pr
* p2p state rspc query
* send node events to the frontend
* minor
* wip
* more worky, less crashy
* make spacedrop work + debug state
* fix mdns expiry
* clippy
* other clippy
* remove old tests
* add tests back
---------
Co-authored-by: Brendan Allan <brendonovich@outlook.com>
* attempts
* expo stop using spaces pls
* attempt
* you used to work without this sir
* fixed
* use serde instead of specta
* remove `serde(default`) and update bindings
* fix mobile
* fix types
---------
Co-authored-by: jake <77554505+brxken128@users.noreply.github.com>
* Renaming error type on ffmpeg subcrate
* Version manager overhaul
* Reworked thumbnail actor
* Updating sharding scheme
* New migration system for thumbnails
* Updating search to new actor
* Updating custom_uri to new thumbnail improvements
* Updating library to new thumbnail stuff
* LibraryId type alias
* Updating indexer to new thumbnail actor
* Updating watcher to new thumbnail actor
* Update location manager to use LibraryId type alias
* Updating location metadata to new LibraryId type alias
* New LocationPubId type alias
* Updating ephemeral walker to new thumbnail stuff
* Updating media processor to new thumbnail actor
* New thumbnailer actor state manager
* Introducing the concept of job phases
* Segregating the thumbnailer actor worker fn
* Fixes on job pausing
* Processing batches with progress reporting
* Updated actor
* Updated media processor
* Small tweaks
* Updating non indexed walker
* Changing a UI string
* remove annoying log
* return location id on creation
* add checkbox to open new location once it's been added
* redirect if checkbox was true and a location id was provided, and update bindings
* add `new()` for `MissingFieldError`
* return location id on location relink
* working, clean redirecting
* accordion closing tag
* navigate to location after adding
* chore: remove erroneous `{' '}`
* multiple location redirect support
* oops missed check
* cleanup
* fix bad merge
---------
Co-authored-by: ameer2468 <33054370+ameer2468@users.noreply.github.com>
* Vendor openssl dependency
* Remove bindgen, seems like windows don't like it
- Add OPENSSL_RUST_USE_NASM to force windows to use nasm
* Add native-tls-vendored to reqwest
- Shouldn't change much as the openssl crates override was already dealing with the vendoring anyway
* New vscode task to start developing
* Updating db in case of library updates just in case
* Done
* Forgot to remove some debug logs
* Rust fmt
* Saving thumbnails processing state on app shutdown
* bruh
* feedback popover with new api
* allow unauthed feedback
* add login information
* allow no auth
* fix hooks
* remove emoji on reset
* show cancel on left of login button
* clippy -_-
* migrations
* alter the migration so it just renames the `dimensions` field (no db re-creation required)
* remove confusing semver addition for `libheif-sys`
* remove warning on the migration as it's just a rename
* add sort opts for resolution and date image was truly taken
* major serde ckeanup & add epoch_time and pixel_count
* rename, cleanup et optimise
* clippy
* ignore this mess
* bindings
* add explanation to schema
* comment out dt test
* better comment and WIP time
* cleanup rust
* failed timezone attempt
* remove image resolution as a sort by option
* update schema (and rename the dimensions table instead of dropping it)
* just show raw date
* add comments and update bindings
* fix migration hopefully
* fix broken migration
---------
Co-authored-by: Jamie Pine <32987599+jamiepine@users.noreply.github.com>
Co-authored-by: Jamie Pine <ijamespine@me.com>
Co-authored-by: Vítor Vasconcellos <vasconcellos.dev@gmail.com>
* Add onLoad and onError listeners to FileThumb
- Show toast when Original file fails loading in QuickPreview
- Formatting
* Fix close toast not working when QuickPreview was open
* Fix panic when serving unsupported files
* Formatting & lint
* folder
* wrote function
* Abstracting duplicate on file name
* Spliting between ephemeral and indexed
* Now with more type safety
* Forgot to prep
* location + path based
* bruh
* link frontend + error toast
* strip main separator
* dumb
* bruh
* create directory
Co-authored-by: Brendan Allan <Brendonovich@users.noreply.github.com>
* make some reactivity happen
---------
Co-authored-by: Ericson Fogo Soares <ericson.ds999@gmail.com>
Co-authored-by: Brendan Allan <brendonovich@outlook.com>
Co-authored-by: Brendan Allan <Brendonovich@users.noreply.github.com>
* derive `Type` on `*Extension`
* update `image`, `webp` and add `rspc::Error` support to the `sd-images` crate
* rename function for verbosity
* cleanup clippy allows and use scaling fn for svg conversions
* remove dead comment
* specify `generic` image extensions and add fn to enumerate all compatible extensions
* re-exports and inline hot provided method
* another inline on a provided method
* `formatter` -> `handler` and return an explicit error if the extension isn't supported, and add `convert_image()`
* `get_ext()` inlined helper fn
* add mutation for conversion and query for getting all supported extensions
* fix `svg` scaling and generation
* update bindings
* rm old const
* temporary test for all exts
* verbosity and no manual drop
* remove dbg test
* big enum and remove `cur` extension as `image` doesn't support it
* add huge extension enum
* hopefully get path from file path id and location id
* main merge fix
* chore: update toml and lockfile
* security: update webp
* comment entire crypto crate for build times
* add bincode, huge enum and custom ser/de
* Revert "comment entire crypto crate for build times"
This reverts commit 458addaad6.
* lockfile
* theoretically working ser/de
* add svg scaling
* fix pdf matching bug and use options
* move image scaling fn
* major consts overhaul with good ser/de
* disable heif checking for now due to new trait api
* make the generic handler truly generic
* fix pdf types
* fix pdf scaling so that it's 120dpi A4 paper size by default - height/aspect res are maintained
* heavy cleanup
* note to myself
* bindings & update core to use the scaling fn from the images crate (reducing code dupes)
* move vulnerable `aovec` to be a dev dep so it stays out of release builds (it's only used in tests)
* remoev exif crate from the core as it's handled in a sep. crate
* silence a clippy warning and update lockfile
* lower the maximum file size a slight amount
* bindings and minor dep bumps
* Some improvements
---------
Co-authored-by: Ericson Fogo Soares <ericson.ds999@gmail.com>
* - added local section to sidebar
- added spacedrop screen, showing local peers
- added placeholder network screen
-removed unused swift package
- created a watcher for system volumes to invalidate ui when drives are added/removed
* clouds
* fix more imports
* see more
* open location if volume is location
* gen assets
* remove log
* [ENG-939, ENG-1173] PDF Thumbnails (#1242)
* sd-pdf
* Process PDF blocking render inside a spawn_blocking
- Load a single global Pdfium instance
* Migrate pdf thumb logic to sd-images
- Replace block_in_place with spawn_blocking
- Only load LibHeif once
- Allow thumbnailer (both indexed and non-indexed locations) to process documents
- Disable loading pdf viewer in Inspection in favour of loading it's thumbnail
* Try to load pdfium lib from absolute path
* Revert removed import due to rebase
* Small nitpick and some warnings
---------
Co-authored-by: Ericson Fogo Soares <ericson.ds999@gmail.com>
* [ENG-888] Media view should show current folder downward (#1437)
* Done but ugly
* layout
* Now with a select
---------
Co-authored-by: ameer2468 <33054370+ameer2468@users.noreply.github.com>
* add cool folder thing to inspector + stuff
* fix text color
* fix lock
* fix typescript
* fix ts
---------
Co-authored-by: Utku Bakir <74243531+utkubakir@users.noreply.github.com>
Co-authored-by: Vítor Vasconcellos <vasconcellos.dev@gmail.com>
Co-authored-by: Ericson Fogo Soares <ericson.ds999@gmail.com>
Co-authored-by: ameer2468 <33054370+ameer2468@users.noreply.github.com>
Co-authored-by: Brendan Allan <brendonovich@outlook.com>
* append ` (x)` to files when duplicating, renaming or pasting instead of overwriting
* cleanup commented code
* fix renames
* rustfmt
* remove unused item
* Small tech debts and some nitpicks
* Bug with appending number on duplicates
* A bug on my new impl
---------
Co-authored-by: Ericson Fogo Soares <ericson.ds999@gmail.com>
* sd-pdf
* Process PDF blocking render inside a spawn_blocking
- Load a single global Pdfium instance
* Migrate pdf thumb logic to sd-images
- Replace block_in_place with spawn_blocking
- Only load LibHeif once
- Allow thumbnailer (both indexed and non-indexed locations) to process documents
- Disable loading pdf viewer in Inspection in favour of loading it's thumbnail
* Try to load pdfium lib from absolute path
* Revert removed import due to rebase
* Small nitpick and some warnings
---------
Co-authored-by: Ericson Fogo Soares <ericson.ds999@gmail.com>
* New functions to open ephemeral files
* Review items for ephemeral files
* Open and OpenWith context menu for ephemeral paths
* Some warnings
* Fixing inspector
* Fixing windows
* Format
* Messy rebase
* Fix macos
* Cargo fmt
* Removing devtools as it can be opened with keybind
* Fix macos
* Separating ext for ephemeral files on inspector
* Fixing bad rebase
* Removing rename button from quickpreview for ephemeral files
* Quick Preview for ephemeral files
* Requested changes
* Move postinstall script to a preprep script
- Fix libheif crate failing to build with our libheif
- Rework CI due to postinstall to preprep changes
* Linux heif build script + Update webp
* Fix ctrl+c/ctrl+v bug
* Improve libheif linux script
- Add support for linux aarch64
- Add CI workflow to build libheif for linux
- Some other misc fixes
* Fix libheif CI requires sudo
* Fix wrong path for libheif build.rs override in Windows
* Fix wrong path manipulations in libheif build script
* 🤦
* Use ubuntu-latest in libheif action
- Specify glib version in target triple to support old distros
- Fix libheif artifact publishing
* Fix artifact upload path again
* Add musl support for libheif
- Remove unused files from libheif artifact
- Add setup logic for libheif in postinstall script
* Build libheif for linux as a shared lib
* Fix meson not building the correct arch
- Add logic to get git branch from githubs CI env vars
* libheif finnaly works on linux
- Make spacedrive binary rpath point to where appimage and deb expects our libs to be
- Add some logic to tauri.js to convince tauri to bundle our shared libs
- Work-around appimage bundling step breaking sometimes
- Add logic to handle sigint in tauri.js to ensure we clean up after ourselves
- Rename postinstall.mjs to setup.mjs
- Add logic to setup.mjs to point our dev build to our shared libs in linux
* Fix windows dekstop dev
- Rename setup.mjs to preprep.mjs
* test cache-factory
* Fix preprep script not parsing the cross compilation target triple and always using the host info to download dependencies
- Fix action env vars not being correctly passed
- Remove possibility to pass multiple targests to rust action
* Don't compile mobile crates on desktop targets
* Remove cache-factory pull_request trigger
* remove patched tauri cli
* Use git plumbing command to get remote branch name
- Fallback to reading .git/HEAD if remote name was not retrieved
* fix type
---------
Co-authored-by: Brendan Allan <brendonovich@outlook.com>
* Handle large text files
* wip
* nit
* Fix syntax highlighting
* Requiring an API call for my dev builds, no shot
* backend for line counting + wip frontend
* 600 lines is too much for this file, ngl
* wip: `LimitedByLinesBody` & some more restructuring
* Virtualised list for QuickPreview
* yeet bad ideas
* general cleanup + hack to fix broken toml
* fix
---------
Co-authored-by: Utku <74243531+utkubakir@users.noreply.github.com>
* Setup script revamp
* Move toml to dev dep + CI runs the postinstall in debug mode
* Fix windows CI
* chmod +x scripts/setup.sh
* Fix eslint and ts CI
* Remove binstall + Fix trying to read input in CI
* Doesn't need to check pnpm and rust in CI
* Run postinstall script for Clippy CI
* Attempt to fix windows CI not running postinstall
- Ignore cache when running postinstall on CI
* commited generated config.toml by mistake
* Pass GITHUB_TOKEN to `pnpm i`
* Update archive-wasm + Increase minimum node version to 18.17
* CI: Move rust setup after post-install script
* Revert: CI: Move rust setup after post-install script
* Fix CI, generate dummy cargo config.toml to fix prisma generation
* Fix windows CI
* CI: Fix wrong command
---------
Co-authored-by: Utku <74243531+utkubakir@users.noreply.github.com>
* Fix warnings
* Working when doing a full location indexing
* Directory size calculation for sub_path indexing
Also for shallow indexer
Now shallow indexer dispatches sub_path scans when it finds a new folder
* Directory size calculations in the watcher
* Pass directory sizes to sync system
* Life is a lie and nothing makes sense
* consistent version
* Web uses the relative alias resolver it would seem
---------
Co-authored-by: Utku <74243531+utkubakir@users.noreply.github.com>
* Handling temporary files events on MacOS
* Debouncing create and update events
* Take files being updated for a long period
of time into account
---------
Co-authored-by: Utku <74243531+utkubakir@users.noreply.github.com>