* Implement dowload of mobile native deps
- Add a spinner animation to `pnpm prep`
- Change abandoned dependency @iarna/toml with smol-toml
- Validate cargo config.toml after generating it from mustache template
- Disabled HTTP2 downloads with udici, it is very broken
* Initial ios native deps xcframework logic
* Remove logic for handling dynamic iOS libs, using static libs now
* Fix PATH in build-rust.sh
- Remove app.json
* Restore crates/images/src/pdf.rs
* minor fix .editorconfig
* Finally ios successfully compiles with ffmpeg enabled
- Change SDCore.podspec to add extra libraries required by ffmpeg
- Fix heif linking for ios in config.toml template
- Add symlink logic for extra libraries required to compile ios in build-rust.sh
* Fix frontend bundle upload
- Update pnpm
* Revert incorrect removal of fontenf packaging job
* Fix tauri not building updater bundles
* Ensure release action is executed when PRs modify the publish-artifacts action
* Fix unused argument for patchTauri function
* Couple for format fixes
* tauri requires building the app bundle to build the updater
* Remove deps-generator app
- It is broken for quite a while and not being used
* Remove unused code and unused deps
* auto format
* Restore incorrectly removed files
- Remove aws deps and test code using it
* Replace winapi-util with windows-rs
- Adjust some deps versions
* Autoformat
* Update rand, remove unused dep
* Fix image crate due to changes in pdf-renderer
- Dont use default features in reqwest
- Use native-tls tauri
* Remove incorrect notice about blake3
* Migrate to Tauri v2 Release Canidate
* Formatting
* Update pnpm
* Update all tauri deps (js and rust) to Release Candidate 2
- A lot of misc fixes due to changes in the new versions of tauri, rspc and specta
* Recreate pnpm-lock
* Fix pnpm-lock
* Formatting
* Use 10 chars SHA for git deps
- Update a couple of rust dependencies
- Add taplo for toml auto formatting
- Adjust some formatting configurations
- Updated prettier and its plugins
* Fix formatter settings
* Minor improvements to Cargo.toml format
---------
Co-authored-by: Vítor Vasconcellos <vasconcellos.dev@gmail.com>
* improve thumbs of media view, coming soon state for settings routes, and debug bg color change
* alert for lock in sidebar dropdown
* formatting
* Move Coming Soon Alert to it's own component
So, it makes life easier if we need to change wording later.
* autoformat
---------
Co-authored-by: Arnab Chakraborty <11457760+Rocky43007@users.noreply.github.com>
* media view wip
* update search filters to include image and video only
* os based sizing
* search support media view correctly & fix UI width of drawer locations
* Merge remote-tracking branch 'origin' into mob-112-media-view
* Fix explorer re-rendering and improve file opening performance by using libraryClient for queries and mutation
* cleanup
* use memory-disk cache policy for better performance
* remove commented out code
* formatting
* Mobile media view
update search filters to include image and video only
os based sizing
Disable Vite `clearScreen` (#2594)
Change Vite config to disable clearScreen
Use default props for Top Bar icons (#2593)
* Refactor top bar items to use default props
* oops! revert top bar icon size to 18px
Fix misspelled "vacuum" (#2595)
[MOB-110] Fix for Android Permissions (#2592)
* Fix for Android Permissions
Now actually requests the permissions if they aren't granted.
* Remove `console.log``
* Request multiple permissions sequentially
* Better UX
* Add Note for `Number()` patch
* Remove `console.log()`
Revamp `.gitattributes` for statistics and better PR diffs (#2596)
* Revamp .gitattributes for statistics and better PR diffs
* Mark migration_lock as binary
search support media view correctly & fix UI width of drawer locations
Merge remote-tracking branch 'origin' into mob-112-media-view
Fix explorer re-rendering and improve file opening performance by using libraryClient for queries and mutation
cleanup
use memory-disk cache policy for better performance
remove commented out code
formatting
* Backend done
* Forgot new migration
* track subscription in file kind stats
* Real time updates on both graphs at overview
---------
Co-authored-by: myung03 <matthewyungisworking@gmail.com>
* Open file instead of inspector on tap
* Update Explorer.tsx
* cleanup
* Open file instead of inspector on tap
Update Explorer.tsx
Fix autoformat CI & format codebase (#2581)
* Update pnpm version
* Fix autoformat
* Improve autoformat msg
* Attempt to fix autoformat 2
* Fix autoformat
* Ignore deleted files in auto-format
* Fix diff filter
* Autoformat whole codebase
* Improve error message for autoformat CI
* Test autoformat CI
* Revert "Test autoformat CI"
This reverts commit 0bf2f46d1a.
cleanup
* formatting
* missed
* wip + working backfill
* Finished BackfillWaiting page + initial auth setup
Also, setting up the cloud sync page.
* mobile auth
* Import Cloud Library
Currently, you can import a cloud library, however it seems that the data, such as locations, is not transferring correctly.
* Working Mobile Cloud Sync
Cloud Sync works for Mobile, and the mobile app can sync files from a cloud library, and other clients can access the data from the phone's cloud library.
* Cloud Sync Done
* Formatting
* Fix new library button
* New device type passing to auth
* Improve design of cloud settings and import modal
* ui adjustments and code cleanup
* Update styling if there's only 1 instance
* code cleanup, design tweaks
* empty state & simple indicator animation
* lint
* loading indicator and cleanup
* Fix to Sync Subscription
* Update Cargo.lock
* Async logout for debug
* tweaks
* Update SettingsStack.tsx
* cleanups and cloud desktop design improvements
* more cleanups and ui improvements
* ts
* i18n
* Cloud Sync Docs
* styling
* Delete library-sync.mdx
Moving docs to a separate branch
---------
Co-authored-by: ameer2468 <33054370+ameer2468@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
* tags support wip
* Mob: tags in explorer, ui adjustments, add filter based on search click and more
* Fix tags scroll on filters
* Set heights so UI updates correctly
* Update Tags.tsx
* remove console logs
* remove console logs
* Update Locations.tsx
* type
* Update locations.rs
* make tags abit smaller
* list view visual improvements
* Remove plus
- Fix humanizeSize returning value as original (which was simply plain wrong), replace it with the original bytes
- Restore plural to humanizeSize, but only when converting object to string
- Fix float number to BigInt conversion in humanizeSize possibly causing an error (now it truncates the value)
- Remove unused profile.release from `apps/desktop/src-tauri/Cargo.toml`, repo's main Cargo.toml profile overrides it
- Update `packageManager` and remove conflicting `engineStrict` entry from package.json
- Remove `prefer-symlinked-executables` from `.npmrc`, linked bug was fixed
* 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>
* pnpm
* hide search on some screens
* translations
* move shared order stuff to @sd/client
* some ideas
* wip - redesign otw
* Merge remote-tracking branch 'origin' into mob-35-explorer-sort-by
* header adjustments and more
---------
Co-authored-by: Jamie Pine <32987599+jamiepine@users.noreply.github.com>
Co-authored-by: ameer2468 <33054370+ameer2468@users.noreply.github.com>
Greatly improve production build size, now prod builds are 1/3 of the size
- Main spacedrive binary went from ~120M to ~40M
- Add more optimize options for rust prod build
- Improve vite settings for front-end prod build
- Improve lossless compression of PNGs
- Don't include videos in bundles when they are not used
- Don't generate/bundle sourcemap for prod builds