Commit Graph

981 Commits

Author SHA1 Message Date
Vítor Vasconcellos
e797b02e65 Media metadata extraction & Thumbnailer rework (#2285)
* 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>
2024-05-09 02:20:28 +00:00
ameer2468
853f0d4185 [MOB-96] Haptics on tabs interaction and more (#2464)
Haptics on tabs interaction and more
2024-05-08 17:41:34 +00:00
ameer2468
893452d8c8 Mob: remove sort by text (#2463)
Remove sort by text
2024-05-08 13:48:33 +00:00
Vítor Vasconcellos
0f405caf24 Fix CI (#2461)
Use native-tls-vendored for reqwest
 - Update prisma-client-rust
 - Fix mock_instance test
 - Clippy + fmt
 - Improve error handling when uninstall i386 libs in setup-system action
2024-05-08 05:04:25 +00:00
Utku
7cd33727b3 [MOB-35] Explorer sort by (#2387)
* 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>
2024-05-07 22:12:09 +00:00
Vítor Vasconcellos
81c2b8bf51 Improve prod bundle size (#2447)
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
2024-05-07 19:32:34 +00:00
Oscar Beaumont
a238760c88 [ENG-1690] Upgrade to Tauri 2.0 (#2433)
* Most of it

* Cleanup menu

* fixes

* Fixed linux compilation, still not working though, as the app panic on start

* Add dialog permissions

* fix search keybind

* Fix linux
∙  - Disable linux-ipc-protocol feature, as that is causing panics due to trying to access some WebKit internal structures outside the main thread

* Update to Ubuntu 22.04, new tauri doesn't support ubuntu 20.04
>  - Add note to download page about deb's distro support

* Remove gen/schemas

* Update linux dependencies in setup.sh

* Fix linux deps again
 - Enable rt-tokio-crypto-rust feature in secret-service so clippy stops complaining

* Clippy + auto fmt

* Fix cache-factory
 - Create a devtools feature for desktop app, which is enabled by default on dev builds

* Fix minor error in patchTauri.mjs

* Fix some envvars that have been renamed on tauri v2

* Dont change the secrets

* Add missing linux dependency

---------

Co-authored-by: Vítor Vasconcellos <vasconcellos.dev@gmail.com>
2024-05-07 08:36:50 +00:00
Vítor Vasconcellos
44478207e7 Remove AppImage logic and build system (#2446) 2024-05-04 22:27:14 +00:00
Utku
952bb2d061 Alpha 0.2.14 (#2445)
alpha
2024-05-02 18:16:01 +00:00
ameer2468
da9fb959e8 [MOB-79] Categories search redirect (#2443)
Support clicking on categories to redirect to search
2024-05-02 14:05:24 +00:00
Vítor Vasconcellos
5fe9f02299 Fix BLAKE3 (#2441)
* Update BLAKE3

* Auto fmt

* Revert BLAKE3 to 1.5.0 fork
2024-05-02 09:15:05 +00:00
ameer2468
b29deff592 [MOB-68] Search (#2434)
* wip: search plugin query & save

* wip

* wip mob search

* mob search - explorer filtering & support name, extension search

* Mobile search

* cleanup

* code improvements & type to search all locations

* Update Search.tsx

* ts

* code doc and type tweak

* lint

* move onSuccess
2024-05-01 21:52:14 +00:00
Vítor Vasconcellos
e4b0aedf64 Auto format/lint and revert some changes made to CI (#2429)
Revert some changes made to CI in #2412
 - Auto lint and format
2024-05-01 13:59:16 +00:00
Oscar Beaumont
ce5e285c2f Remove normalised cache (#2390)
* yeetus

* fix

* a

* fix

* todo

* fix library stuff

---------

Co-authored-by: Jamie Pine <32987599+jamiepine@users.noreply.github.com>
2024-04-30 00:36:39 +00:00
ameer2468
9126332df1 [MOB-89] Separate headers (#2408)
* separate headers

improvements to headers

cleanup

missed cleanup

documentation

* Update SearchStack.tsx
2024-04-27 15:08:07 +00:00
Arnab Chakraborty
e76ff78f3c Alpha 0.2.13 (#2394)
bump
2024-04-26 00:29:55 +00:00
Utku
64bbce32e9 Fix title (#2398)
* fix task manager title

* 2 more config item
2024-04-25 20:06:35 +00:00
Vítor Vasconcellos
310eb28e63 Fix cargo test & improve pnpm prep native deps download (#2393)
Couple of fixes
 - Increase `pnpm prep` connection timeout to 5min, to better handle downloading native deps under flaky network conditions
 - Fix `cargo test` and cache-factory CI
 - Clippy and fmt
2024-04-25 17:58:50 +00:00
Vítor Vasconcellos
2c777e53f1 Fix core test (#2386)
* Fix core test

* Import CompressedCRDTOperations

---------

Co-authored-by: Ericson "Fogo" Soares <ericson.ds999@gmail.com>
2024-04-24 23:37:38 +00:00
ameer2468
57b0139240 [MOB-90] Visual adjustments (#2383)
* Visual adjustments

* Update Tags.tsx

* cleanup

* remove prop

* remove hitslop

* sectionlist
2024-04-24 23:34:24 +00:00
Utku
3bed56d4d9 Alpha 0.2.12 (#2382)
* pnpm

* alpha 0.2.12

* make pnpm version non strict
2024-04-24 14:25:22 +00:00
Oscar Beaumont
0b6bd050a0 Fix main (#2381)
* fix

* fix
2024-04-24 10:09:18 +00:00
Oscar Beaumont
643bd3a142 Block size (#2377)
Block size + some Clippy
2024-04-24 08:27:31 +00:00
Utku
e009a0478c Revert "[MOB-85] Better headers" (#2376)
Revert "[MOB-85] Better headers (#2375)"

This reverts commit 6a556a457d.
2024-04-23 23:20:59 +00:00
ameer2468
6a556a457d [MOB-85] Better headers (#2375)
* wip

* improve headers

* cleanup
2024-04-23 22:21:31 +00:00
Arnab Chakraborty
b4037d6537 Open Trash from the application (#2338)
* Open Trash from the application

* Working Trash Sidebar Button

* Small UI fixes

* Update common.json

* Move openTrash to Tauri Command instead of RSPC

* format and remove type assertion

---------

Co-authored-by: Utku Bakir <74243531+utkubakir@users.noreply.github.com>
2024-04-22 19:46:10 +00:00
Utku
5624054f1e Mobile cleanup & improvements (#2362)
clean up & improvements
2024-04-19 07:55:50 +00:00
Utku
6c5e80fffb Replace Appimage with deb (#2345)
* replace appimage with deb

* Update pnpm to 9.0.2 and lock CI version

---------

Co-authored-by: Vítor Vasconcellos <vasconcellos.dev@gmail.com>
2024-04-17 21:09:12 +00:00
Vítor Vasconcellos
d639ed49ac Fix server release CI (#2342)
* Fix server release CI

* Forgot sudo

* Fix netavark download

* Fix netavark installation path

* Install passt

* Fix install passt

* Forgot sudo

* Install python in as build deps while building server docker container
2024-04-17 15:16:51 +00:00
Vítor Vasconcellos
4fc7ba6275 Update pnpm to version 9 (#2341)
* Update pnpm to version 9

* Don't force python v3.11 in CI

* Ensure Cypress is installed

* ¯\_(ツ)_/¯
2024-04-17 06:16:18 +00:00
Oscar Beaumont
d9b31a90b3 Fix sd-server auth (#2331)
fix
2024-04-15 12:52:59 +00:00
Oscar Beaumont
9f5396133b Basic HTTP auth for sd-server (#2314)
* basic http auth

* fix types

* Fix

* auth docs
2024-04-12 03:31:38 +00:00
ameer2468
1b83a6fd8a [ENG-1710] Context menu path bar (#2305)
* context menu on path bar

* Open in new tab

* locales

* Update ExplorerPath.tsx
2024-04-10 00:03:18 +00:00
Utku
f48a91b124 [MOB-82] Switch to expo image & inspector long press (#2301)
* open action modal on long press

* fix styling on about screen

* better/optimized image component
2024-04-09 12:13:27 +00:00
Ericson "Fogo" Soares
6b760b0b2a [ENG-1628] Write new indexer with the task system (#2161)
* 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
2024-04-08 14:32:44 +00:00
Utku
3ce4d5d171 Alpha 0.2.11 (#2291)
lul
2024-04-05 21:08:04 +00:00
Arnab Chakraborty
20d9878968 Disable Labeler (#2288)
* Disable Labeler

* Auto format and lint

* Comment out regen labels context menu entry

* Comment out some more labels references

---------

Co-authored-by: Vítor Vasconcellos <vasconcellos.dev@gmail.com>
2024-04-05 19:41:11 +00:00
Utku
6090df938e Alpha 0.3.0 (#2287)
alpha 0.3.0
2024-04-05 17:12:51 +00:00
Brendan Allan
f168b5e45d Better search (#2262)
* Revert "Revert "remove fixed filters" (#2261)"

This reverts commit 5b40cefe37.

* search sources

* only set default filters if no filters

* key saved search page on id and use raw search as searchbar default

* fix crate versions

* put media view filters in a dedicated hook

* remove ts-reset

* add comment about <Inner>

* generics!

* cleanup

* search paths/objects switch (#2278)

* feature flag target switcher

* use useZodParams in saved search route
2024-04-05 15:40:46 +00:00
Vítor Vasconcellos
6bb94e3507 Fix pnpm prep fails to download native-deps on some specific network env (#2275)
* Fix pnpm prep failing to download native-deps on some specific network configurations

* Eslint/Prettier auto-format
2024-04-04 14:19:49 +00:00
Vítor Vasconcellos
595172a33a Implement test retry for Mobile CI (#2281) 2024-04-04 14:19:35 +00:00
ameer2468
475d8bd88c Correct width for button (#2284)
correct width for button
2024-04-04 10:41:22 +00:00
Oscar Beaumont
232cbb33c2 Drop Tauri Plugin Window State (#2271)
do the thing
2024-04-03 17:58:43 +00:00
ameer2468
e34f37ddf9 [MOB-80] Drawer design improvement & more (#2274)
* draw design improvement

* lint

* view all buttons

* tweaks

* widths
2024-04-03 16:37:56 +00:00
Utku
f5c258e627 [MOB-77] Mobile Drawer (#2255)
* drawer and navigation

* Remove old job manager code

* make edit location/tags UX better

* hide settings bcs it exist on tabs

* we don't do index on mobile for screens + some organization

* make max w percantage
2024-04-01 10:41:00 +00:00
ameer2468
08825dd22f [MOB-67] Saved search UI (#2265)
save search ui
2024-03-30 20:56:58 +00:00
Utku
5b40cefe37 Revert "remove fixed filters" (#2261)
* Revert "remove fixed filters (#2257)"

This reverts commit 1959226fb9.

* bump 0.2.10
2024-03-29 01:35:28 +00:00
Utku
44c2854205 Alpha 0.2.9 (#2260)
release 0.2.9
2024-03-28 23:05:04 +00:00
Vítor Vasconcellos
99ed9006cf Make Cypress tests more resilient (#2249)
* Replace macos-14 with ubuntu runner in cypress
- Replace macos-14 with macos-13 runner in clippy
 - macos14 runner has weaker hardware than other runners: https://docs.github.com/en/actions/using-github-hosted-runners/about-github-hosted-runners/about-github-hosted-runners#standard-github-hosted-runners-for-public-repositories

* Remove pre-installed incompatible packages from ubuntu runner

https://github.com/actions/runner-images/issues/9546#issuecomment-2014940361

* Use ubuntu-20.04 for Cypress CI

* Adjust Cypress CI to follow common steps for linux env

* Debug preprep script

* Fix copy/paste typo

* Install playwright native dependencies

* Update release.yml

* Add  Remove 32-bit libs to setup-system

* Change Cypress CI to macos-13
 - Some small test fixes
 - Fix onboarding test must skip testing default location screen if no default locations os available

* Back to ubuntu for Cypress and back to macos-14 to clippy
- Attempt to fix empty default locations on ubuntu CI runner

* Oops

* Install playwright native deps

* Replace path regexs with consts
 - Click on share minimum when doing a fastOnboarding

* Try macos-14 again
2024-03-28 22:45:25 +00:00
Arnab Chakraborty
a4a1f1b40a Add Warning for SD Docker Container (#2256)
* Update setup.mdx

* Update items.ts

* Update items.ts
2024-03-28 04:52:36 +00:00