* Rename top bar icon *style* to *classlist*
* Update pnpm-lock.yaml
* Add user-facing name for tag assign mode: "Assign tags"
* Refactor path bar to allow tag bar display above
* Oops, use original PATH_BAR_HEIGHT
* rename ExplorerPath to more consistent ExplorerPathBar
* remove debug tag assign mode toggle
* fix straggling old reference to ExplorerPathBar
* rename useShortcuts to useExplorerShortcuts
* add `DEV` to turbo.json env deps
* tag assign mode list display + keyboard toggle
* Update pnpm-lock.yaml after merge
* Use new query style in ExplorerTagBar
* WIP debugging list bug
* Fix to the `<slot />` bug
* Remove awaiting tag assign keypress state variable
* Add tag assign mode localization lines
* Add actual tag assign mode functionality
* Use localization for bulk tag assignment
* i18n: Add proper "file" plurals and nest within tag assignment msgs
* implement tag hotkey assignment
* Use i18n for unknown error in tag assignment
* use type for tag bulk assign keycodes
* remove custom ordering todo
* add awaiting-assign visual state to tag bar tags
* Make Escape cancel tag bar hotkey assignment + add a11y + remove focus state on keypress
* Remove tag assign mutation success from tag bar
* Remove tab index `-1` from tag bar tag
* Update tag bar awaiting hotkey assignment colors
* Fix tag bar styling + sort properly
* Fix some missed `TOP_BAR_ICON_CLASSLIST` references
* improve tag ui & fix location redir
* fix pathbar caret and layout adjustment experiment
* Add better tag bar layout for users with lots of tags
* set padding if tags overflow
---------
Co-authored-by: Arnab Chakraborty <11457760+Rocky43007@users.noreply.github.com>
Co-authored-by: ameer2468 <33054370+ameer2468@users.noreply.github.com>
* 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>
* added more translation keys and a little bit refreshed overview card style
* reverted style changes and disabled pluralize func
* minor changes
* added a couple of translation keys for job manager
* deleted unused keys
* updated translations, changed card style in overview section
* forgot about console.log
* more translation and minor fixes in translation
* translation for sync component
* 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>
* more translation keys
* added i18n keys for future ObjectKindEnum translation
* more keys
* added more keys
* synced all new translation keys with all languages, translated keys on Belarusian and Russian
* added translation for objectkinds in overview
* added translation function for objectkinds
* added more keys to german locale
* renamed 'asc' and 'desc' keys
* rolled back changes
* added missed key
* there are much more keys, than you can imagine
* fixed misspelling
* removed console.log
* removed function "pluralize", added required plural words keys for each language
* fixed condition, which could've lead to undefined value
* hide filter description for boolean filters
* added more translation keys
* added more keys
* added a lot of additional translation for every language available
* more translations
* fixed keys spelling
* added date formatting according to chosen language
* deleted spaces
* deleted spaces
* fixed typos
* set date formats after
* error handling
---------
Co-authored-by: Utku Bakir <74243531+utkubakir@users.noreply.github.com>
* feat: Right Click -> New File
Creates an empty file called `Untitled` and adds `(1) -> (n)` for n number of files with the same `Untitled` name.
* feat: Seperate into Text File and Empty File
* chore: `cargo fmt`
* fix: Forgot to type convert to String
* feat: Working creation
* fix: i18n changes
* More i18n
* All added tags now translated
* With proper types checking now!
* Fix types
* chore: formatting
* base
* calculate line height on demand
* fix max update
* fix max update on resize
* read types directly
* sizing
* better size handling
* also handle text box padding on demand
* bring it back
* move into folder
* fix shortcuts colliding
* tags
* fix key capture problems
* add 2 more actions + locations to cmd
* fix search navigation issue W @nikec
* fix saerch input
* improve scrollbar look and text on lightheme + fix edge view search showing
* useShortcut
* add cmdp to keybinds page
* killer i18n extension for vscode
* some missing keys and localized cmdk
* in lists that can change - it's better to use the id rather than index to avoid extra re-renders
* Update CMDKLocations.tsx
---------
Co-authored-by: ameer2468 <33054370+ameer2468@users.noreply.github.com>