* Copy ephemeral files by chunks
* Improving buffered writer
* Report progress
* Copy and emit progress as two separated tasks
* Simplify for-if-return with `Iterator::any`
* Docs and use structured tracing
* Simplify code using paths
* wip
* wip
* wip
* wip
* Add report of messages while copying files
* Add info field to job report
* Group paths from OldFileCopierJobStep into a single struct
* Improve progress information
* Remove the need for synchronization
* Error handling for copy
* Clean up frontend
* Make watcher only consider new files
* Fix concurrent renaming of multiple files that have the same name
* Add documentation for file strategist
* Remove editions to ephemeral file copies
* Remove experimental/nightly features from Cargo.toml
* Fix no-case-declarations
* Remove dead comments
* Format code
* Use "Duplicate" instead of "Copy" in the frontend messages
* Remove inline always to make clippy happy
* icons for deleter and copier
* Fix JobManager for copy jobs
- Fix some types definitions
* Fix Job icon choosing logic
- Fix Copier job showing two progress bars
* Log which files are not formatted in the Type and style check CI
* fmt
* Forgot an import
* autoformat
---------
Co-authored-by: ameer2468 <33054370+ameer2468@users.noreply.github.com>
Co-authored-by: Vítor Vasconcellos <vasconcellos.dev@gmail.com>
* Error handling for sd-core-sync crate
Also a bunch of tweaks and fixes
* Update core.ts
* Auto format
* Comment out background_processing_percentage on frontend too
- Update rust version in contributing
* Trying to avoid data loss on actor stop
* Stronger linter on sync generator
* Stronger lint on sync subcrate
* Clean back tasks.json file
* TS typechecking
* Autoformat
* Add more verbose errors for Cloud REST API
* Removing some comments
Copilot is fun sometimes lol
* Properly stopping actors
* Fix ingest stop
* Racing on stop for actors
* Error conversion from merge with main
---------
Co-authored-by: Vítor Vasconcellos <vasconcellos.dev@gmail.com>
Co-authored-by: Arnab Chakraborty <11457760+Rocky43007@users.noreply.github.com>
* 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
* Workaround nvidia on linux segfault
* Fixes
* Don't vendor dbus
* Make dbus and opener linux exclusive dependencies
* opener is a generic dependency
* Add dbus as a dependency for deb and setup.sh
* Clippy fixes
* Replace gl and glfw with glutin for querying nvidia card
* Replace glutin with wgpu
* Update icrate to fix 'multiple applicable items in scope'
* initial ffprobe commit
* Working slim down version ffprobe
* Auto format ffprobe and deps source
* Remove show_pixel_formats logic
- Fix do_bitexact incorrect check in main after last changes
- Fix some clangd warning
* Remove show_* and print_format options and their respective logic
* Rework ffprobe into simple_ffprobe
- Simplify ffprobe logic into a simple program that gather and print a media file metadata
* Reduce the amount of ffmpeg log messages while generating thumbnails
* Fix completly wrong comments
* mend
* Start modeling ffmpeg extracted metadata on schema
- Start porting ffprobe code to rust
- Rename some references to media_data to exif_data
* Finish modeling media info data
- Add MediaProgram, MediaStream, MediaCodec, MediaVideoProps, MediaAudioProps, MediaSubtitleProps to Schema
- Fix simple_ffproble to use its custom print_codec, instead of ffmpeg's impl
* Add relation between MediaInfo and FilePath
- Remove shared properties from MediaInfo and related structs
- Implement Iterator for FFmpegDict
* Fix and update schema
* Data models and start populating MediaInfo in rust
* Finish populating media info, chapters and program
* Improve FFmpegFormatContext data raw pointer access
- Implement stream data gathering
* Impl FFmpegCodecContext, retrieve codec information
- Improve some unsafe pointer uses
- Impl from FFmpegFormatContext to MediaInfo conversion
* Fix FFmpegDict Drop
* Fix some crago warnings
* Impl retrieval of video props
- Fix C char* to Rust String convertion
* Impl retrieval of audio and subtitle props
- Fill props for MediaCodec
* Remove simple_ffprobe now that the Rust impl is done
* Fix schema to match actually retrieved media info
- Fix import some FFmpeg constants instead of directly using values
* Rework movie_decoder
- Re-implement create_scale_string and add support anamorphic video
- Improve C pointer access for FFmpegFormatContext and FFmpegCodecContext
- Use newer FFmpeg abstractions in movie_decoder
* Fix incorrect props when initializing MovieDecoder
* Remove unecessary lifetimes
* Added more native wrappers for some FFmpeg native objects used in movie_decoder
* Remove FFmpegPacket
- Some more improvements to movie_decoder
* WIP
* Some small fixes
* More fixes
Rename movie_decoder to frame_decoder
Remove more references to film_strips
* fmt
* Fix duplicate migration for job error changes
* fix rebase
* Solving segfaults, fuck C lang
Co-authored-by: Vítor Vasconcellos <HeavenVolkoff@users.noreply.github.com>
* Update rust to version 1.77
- Pin rust version with rust-toolchain.toml
- Change from dtolnay/rust-toolchain to IronCoreLabs/rust-toolchain for rust-toolchain support
- Remove unused function and imports
- Replace most CString uses with new c literal string
* More segfault solving and other minor fixes
Co-authored-by: Vítor Vasconcellos <HeavenVolkoff@users.noreply.github.com>
* Fix ffmpeg rotation filter breaking portrait video thumbnails #2150
- Plus some other misc fixes
* Auto format
* Retrieve video/audio metadata on frontend
* Auto format
* First draft on ffmpeg data save on db
Co-authored-by: Vítor Vasconcellos <HeavenVolkoff@users.noreply.github.com>
* Fix some incorrect changes to prisma schema
* Some fixes for the FFmpegData schema
- Expand logic to save FFmpegData to db
* A ton of things
Co-authored-by: Vítor Vasconcellos <HeavenVolkoff@users.noreply.github.com>
* Integrating ffmpeg media data in jobs and API
* Rspc can't BigInt
* 🙄
* Add initial ffmpeg metadata entries to Inspector
- Fix ephemeral metadata api to match the files metadata api call
* Fix Inspector not showing ffmpeg metadata
* Add bitrate, start time and chapters video metadata to Inspector
- Fix backend BigInt conversion incorrectly using i32 instead of u32
- Change FFmpegFormatContext/FFmpegMetaData bit_rate to i64
- Rename byteSize to humanizeSize
- Expand humanizeSize logic to allow handling bits and Binary units
- Move capitalize to @sd/client utils
* Solving some issues
* Fix ffmpeg probe getting incorrect stream id and breaking database unique constraint
- Fix humanizeSize breaking when receiving floating numbers
- Fix incorrect equality in StatCard
- Fix unhandled error in Dialog when trying to remove an unknown dialog
* fmt
* small improvements
- Remove some unecessary recursion_limit directive
- Remove unused app_image releated functions
- Fix metadata query enabled flag
* Add migration for ffmpeg media data
* Fix cypress test
* Requested changes
* Implement feedback
- Update locale keys for all languages
- Add pnpm command to update all language keys
* Fix thumb reactivity in non indexed locations
---------
Co-authored-by: Ericson Soares <ericson.ds999@gmail.com>
Co-authored-by: Vítor Vasconcellos <HeavenVolkoff@users.noreply.github.com>
* Moving file-path-helper to a sub-crate on core
* Parallel walker tested and working
* Change inner core crate names to sd-core-* naming scheme
* Moving stuff around
* Save and Update tasks for the new indexer job
* Some initial drafts on the new job system
* More drafts on job system
* Changing walker task to a more explicit state machine
Also drafting more of job system
* More drafting on job resume
* Completed the draft on job system inner workings
* New job context abstraction to decouple library stuff from job system
* Properly use composition on task dispatcher
* First draft on indexer job
* Job serialization
* Handling ancestors in the distributed walker for indexer
* Saving computed directories sizes on a location to db
* Enable a way to check if jobs are running in a location
* Progress reporting on indexer job
* Reorganizing modules
* Shallow indexer
* Rust fmt
* Attempting windows CI fix
* Attempting windows CI fix again
* Attempting windows CI fix again
* 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
* 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 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
* 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>
* 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>
* 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
* 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
* 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
* 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>
* 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>
* 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>