Commit Graph

157 Commits

Author SHA1 Message Date
Matthew Yung
c1801f8929 [ENG-1791] Fix right-click sometimes opening native context menu (#2637)
resolve native context menu opening bug
2024-07-26 12:20:12 +00:00
ameer2468
403e6089b1 [ENG-1816] Fix explorer rendering (#2589)
* Fix explorer intial render

update dep

Make sure it runs only once

make sure to include loading value in other explorer routes

rewrite condition to prevent loop

* fix style formatting
2024-07-06 00:29:40 +00:00
Vítor Vasconcellos
8a9d690aab 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.
2024-07-04 08:57:43 +00:00
Lynx
9f402138d4 [ENG-293] Tag assign mode (#2462)
* 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>
2024-06-18 10:52:19 +00:00
ameer2468
2bd0f2c110 [ENG-1506] Tags in Explorer (#2532)
* wip

* tags in explorer

* cleanup

* i18n
2024-06-01 19:11:31 +00:00
ameer2468
3b6bdbe68c [MOB-95] Tags support & more (#2494)
* 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
2024-05-17 15:55:29 +00:00
Artsiom Voitas
a1663426f8 i18n Keys for Size values and partial Job Manager translation (#2480)
* 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
2024-05-17 15:44:47 +00:00
Vítor Vasconcellos
92a5817eae 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
Utku
62c6ad97e5 [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
Artsiom Voitas
3f91973586 Added even more i18n translation keys (#2453)
* 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
2024-05-04 16:16:49 +00:00
Vítor Vasconcellos
67fb5922e1 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
Brendan Allan
f54362534a Fix folder double click (#2432)
* fix folder double click

* fix useCallback deps

* remove unused code
2024-05-01 08:05:51 +00:00
Artsiom Voitas
95b9ba7e9c Added date formatting according to chosen language in the settings (#2414)
* 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>
2024-04-30 16:52:20 +00:00
nikec
bbbc6322e0 [ENG-1751] Improve active item handling (#2367)
base
2024-04-22 18:54:42 +00:00
nikec
72caf12960 [ENG-1753] Only open quick preview when items are selected (#2374)
only toggle when items are selected
2024-04-22 10:27:30 +00:00
nikec
c3d7bdb42e [ENG-1752] Fix explorer selection reset when closing quick preview via keybind (#2373)
prevent selection reset
2024-04-22 10:25:53 +00:00
ameer2468
1cb2b24580 [ENG-1745] Mouse wheel resize (#2366)
* Resize layout items with mouse wheel

icon/item size using mouse wheel

Update useMouseItemResize.ts

Update useMouseItemResize.ts

* improve comment

* fb

* Update useMouseItemResize.ts

* Update IconSize.tsx
2024-04-19 23:18:54 +00:00
Oscar Beaumont
702310c718 Date header is not working (#2321)
* wip

* more

* bindings

* show date taken

* improve date lookup and include placeholder

* date taken

---------

Co-authored-by: nikec <nikec.job@gmail.com>
2024-04-15 12:53:11 +00:00
nikec
8dd4bb5b93 [ENG-1741] Improve date header (#2330)
improve date lookup and include placeholder
2024-04-15 12:26:17 +00:00
nikec
3f40ab6f47 [ENG-1737] Fix updateFirstActiveItem options type (#2328)
update type
2024-04-15 10:01:29 +00:00
Utku
b46a5fc086 Minor changes (#2308)
* move things around

* enable sort by/direction for list view

* more machine generated translations yey + minor stuff
2024-04-11 01:44:04 +00:00
nikec
18eeeef81d [ENG-1731] Explorer grid selection behaviour for windows (#2307)
* Add windows explorer selection behavior

* update media view
2024-04-11 01:41:39 +00:00
Vítor Vasconcellos
02c0d37514 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
nikec
5b225abf05 [ENG-1215] List view size customisation (#2254)
* 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
2024-03-27 15:15:07 +00:00
Utku
57156a729b Fix all the weird eslint warnings (#2245)
* actually fix the weird lint errors

* Prettier auto-format

---------

Co-authored-by: ameer2468 <33054370+ameer2468@users.noreply.github.com>
Co-authored-by: Vítor Vasconcellos <vasconcellos.dev@gmail.com>
2024-03-26 20:46:44 +00:00
Utku
421252878f Command Palette (#2228)
* 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>
2024-03-26 13:05:46 +00:00
Vítor Vasconcellos
dcb4ace969 New test: Add location (#2222)
* New test: Add location
 - Add script to download some test files to allows tests to have a stable path for creating locations
 - Improve onboarding test
 - Add custom Cypress commands for fastOnboarding and deleteLibrary
 - Add some documentation related to tests to CONTRIBUTING.md
 - Update some deps

* Download small test-data for Cypress CI

* Replace globstar with find to make it compatible with bash 3.x

* Fix react too many re-renders
 - add-location test should now pass successfully

* Make job model task text match less flaky

* Check if we were redirected to onboarding after Library was deleted
 - Check if sidebar entry was created after adding a location
 - Put route regex's into a separate file
 - Make onboarding test ensure that no Library exists before running

* Enable test retries
 - Log cypress default config during test run

* Run tests under webkit
 - Pass CI envvar to tests to ensure correct cypress config

* Attempt fix CI config again

* Remove single use checkUrlIsLibrary function
2024-03-23 21:24:16 +00:00
Brendan Allan
e8227b1534 fix topbar hmr (#2231) 2024-03-22 06:29:14 +00:00
Utku
acc8d2cf91 [MOB-69] Infinite scroll & explorer query hooks (#2197)
* run sim before everything

* move passwordmeter

* annoying maestro

* remove bad extension from recom

* move explorer query logic to @sd/client

* update mobile packages

* working explorer

* search with the new query

* tag explorer

* revert maestro version bump
2024-03-13 20:53:00 +00:00
ameer2468
34baa7dea7 [ENG-1683] Prevent mouse-side buttons from drag selection (#2203)
* Update index.tsx

* Add coming soon toast for add device button
2024-03-13 16:15:39 +00:00
Utku
7e5f7c0539 Make eslint happy (#2198)
* eslint maxing

* @sd/ui too
2024-03-12 20:41:41 +00:00
Brendan Allan
00d19decab switch sync to msgpack instead of json (#2164)
* switch sync to msgpack instead of json

* use rmpv

* more rmpv

* use msgpack in cloud

* receive operations as msgpack
2024-03-06 10:15:29 +00:00
Arnab Chakraborty
ca8049eeed [MOB-23] Mobile Hardware Information for Overview Page (#2106)
* 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
2024-03-06 06:46:22 +00:00
nikec
22477493a3 [ENG-1659] Rename through inspector (#2155)
renamable path trough inspector
2024-03-01 16:04:48 +00:00
Vítor Vasconcellos
b9c190654d [ENG-1472] Frontend bug fixes and dependencies update (#2137)
* Fix onboarding sometimes not redirecting to Explorer on prod builds
 - Fix failure trying to compile landing prod builds outside Vercel
 - Fix Server docker failing to restart due to some incorrecting logic for creating the unprivileged users erroring out
 - Fix Storybook failing to build due to updates to Vite
 - Update Storybook dependencies
 - Remove unused Inter font dependency
 - Fix some incorrect references to NodeJS types inside web code
 - Fix $libraryId index using the incorrect redirect function
 - Improve error handling for the $libraryId index route
 - Fix Prism not being correctly loaded, and failing to register its plugins
 - Improve Prism loading error handling
 - Small improvement to the text highlight logic
 - Fix SCSS deprecation for untyped hsl values
 - Fix library query cache incorrectly saving empty values, which lead to the onboarding redirect bug
 - Patch contentLayer to fix an error during the final part of it's build process
 - Update most dev dependencies
 - Update publish-artifact to be compatible with new @actions/artifact
 - Fix issue with new vite-plugin-solid failing to build our .ts files due to the removal of the typescript plugin
 - Fix pnpm overrides not applying due to incorrect placement in package.json
 - Replace deprecated react-tsparticles and updated three used by the Bubbles background in the landing page
 - Rework Bubbles background to be compatible with new @tsparticles/react
 - Update @sd/config dependencies
 - Update @sd/scripts dependencies

* Implement suggestions
 - Replace mobile JS node setup with custom setup-pnpm action
 - Handle GITHUB_SECRET default value in code and throw a warning when it is not set
 - Fix pnpm now resolving the correct node version when building Spacedrive server docker
 - Add missing getent command to spacedrive server docker
 - Fix typo in entrypoint.sh
 - Implement a more robust check if the user is already in a group
 - Fix adduser failing due to missing default group
 - Disconnect IntersectionObserver on component unmount
 - Improve prism import comment

* Implement more suggestions
 - Pin genent version to latest stable release of UClibc
 - Add checksum checks for all ADD clauses in Spacedrive server Dockerfile

* Increase Maestro timeout to reduce CI failures due to slow simulator startup

* Dowgrade maestro to workaround CI timeout

* Improvements to the script that run maestro mobile tests
 - Increase the amount of retries for a maestro test run to 6
 - Increase Maestro driver startup timeout to 2 minutes

* Let run-maestro-tests.sh decide how to run itself

* ¯\_(ツ)_/¯
2024-02-28 23:52:24 +00:00
ameer2468
1d42d4de64 [ENG-1640] Correct locations folder icon (#2130)
* Show correct icon for locations list

* run lint fix
2024-02-27 16:44:49 +00:00
nikec
50f82d4ff9 [ENG-1639] Copy paste improvements (#2129)
improvements
2024-02-27 15:30:04 +00:00
ameer2468
45b9e35744 mousedown fix (#2108)
quick mistake fix
2024-02-20 10:05:53 +00:00
ameer2468
94008de7f3 [ENG-1612] Fix mouse nav forwards and backwards (#2105)
Fix mouse nav forwards and backwards
2024-02-19 15:23:20 +00:00
Vítor Vasconcellos
6e6e5f7674 Fix Linux release (#2081)
* Fix Linux release
 - Pin appimage-builder to latest master
 - Add required cmp option to AppImageBuilder.yml
 - Disable intro video on Linux (it breaks onboarding for some reason)

* Auto format

* Fix typecheck
2024-02-13 18:26:19 +00:00
nikec
76ce21dbbd [ENG-951] Media view date header (#2076)
* Split up grid into grid and media view, drag select, key selection, date header

* fix types

* header shadow

* set selecto drag container

* make shadow more visible and make text smaller

* fix date by key and sort direction

* fix truncated text jumping

* bump virtual-grid and replace totalCount

* cleanup a bit

* remove allowMultiselect option
2024-02-12 17:43:26 +00:00
nikec
7ccc1da09e [ENG-1583] Fix context menu closing when multiple tabs are open (#2016)
fix closing context menu
2024-01-29 16:50:27 +00:00
Brendan Allan
50e668dbba [ENG-1530] Display item count alongside labels (#2011)
* display count alonside labels

* format

* attempt i18n

* item_with_count
2024-01-29 13:10:40 +00:00
nikec
432b27b907 [ENG-1576] Fix label thumb (#2013)
Fix label thumb
2024-01-29 11:41:04 +00:00
nikec
3e8559f2e9 [ENG-1572] Fix arrow selection for labels (#1998)
fix arrow selection
2024-01-25 18:15:59 +00:00
nikec
5f6149ddbe [ENG-1567] Fix renaming (#1986)
fix rename
2024-01-24 12:45:01 +00:00
Brendan Allan
aac97ee706 only navigate on label double click (#1983)
* only navigate on label double click

* formatting

* smh

* why
2024-01-24 10:43:45 +00:00
ameer2468
d871db0c4a [ENG-1564] Delete dialog keypress (#1982)
* fix delete dialog keypress focus

* prevent quickpreview aswell
2024-01-24 10:23:17 +00:00
Brendan Allan
10bd2af8a1 [ENG-1529] Round thumbnails for labels (#1981)
* rounded corner for labels

* can't forget list view
2024-01-24 05:15:27 +00:00
nikec
eae5d8eb09 [ENG-1562] Disable renaming for unsupported item types (#1978)
disable renaming for unsupported item types
2024-01-23 14:29:04 +00:00