Commit Graph

231 Commits

Author SHA1 Message Date
Ameer Al Ashhab
9792d9ea81 [MOB-123,122,121] Fix & improve navigation issues (#2718)
* Fix drawer opening on initial pages only and location in settings to take you to edit location

* fix ts
2024-09-23 19:53:01 +00:00
ameer2468
f3910c0c43 [MOB-116] Fix Drawer appearing & visual improvements (#2691)
* Fixes, visual improvements, and more

* rename const
2024-08-26 11:09:32 +00:00
ameer2468
1cc370a7b3 [MOB-101] Improve object renaming UX (#2683)
Improve object renaming ux

cleanup

remove unused imports
2024-08-20 09:34:29 +00:00
Vítor Vasconcellos
287a809de0 Fix release workflow (#2668)
* 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
2024-08-17 08:29:32 +00:00
ameer2468
0a179fe825 [MOB-115] Cloud sync UX flow (#2636)
* Improved cloud sync UX flow

* fix formatting

* improved UX flow with clearer descriptions of modals

* show cloud modal after 1s

* run formatting
2024-07-24 11:07:02 +00:00
ameer2468
d5cfe1622f [MOB-114] Improve Media View thumbnails and coming soon alerts (#2626)
* 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>
2024-07-22 17:53:30 +00:00
ameer2468
0cd70137a6 [MOB-87] Improve toasts (#2610)
* improve toasts

* formatting

* restore back regular visibility time

* increase toast time & handle edge case
2024-07-17 13:42:07 +00:00
ameer2468
636c6faa25 [MOB-113] Job manager layout fix & code cleanups (#2608)
* Fix job manager text alignment, await permissions request, and fix delete button library settings

* run auto-format

* ts
2024-07-16 13:24:36 +00:00
ameer2468
f5f468360a [MOB-112] Media view (#2606)
* 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
2024-07-15 21:37:07 +00:00
Arnab Chakraborty
e98687e82c Fix Intl namespace not existing on mobile (#2600)
* Adds `intl` namespace to mobile

* Fix ordering

* Update pnpm-lock.yaml

* Fix format

---------

Co-authored-by: Vítor Vasconcellos <vasconcellos.dev@gmail.com>
2024-07-10 23:36:49 +00:00
Arnab Chakraborty
f3e1a47f96 [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()`
2024-07-09 23:43:36 +00:00
Ericson "Fogo" Soares
71d6eabdb6 [ENG-1813] Introduce caching for Kind Statistics (#2585)
* 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>
2024-07-07 05:58:00 +00:00
ameer2468
b55224682c [MOB-111] Open file on tap not inspector (#2583)
* 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
2024-07-04 19:14:34 +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
ameer2468
c246e184cd [ENG-1810] Sync Icons & more (#2578)
* wip - need light mode icons

* wip

* icons for sync and cloud sync
2024-07-02 17:35:18 +00:00
Matthew Yung
5a2fec961a [ENG-1794] Overview Rework (#2555)
* StorageBar implementation

* filekindstats reworked into interactive node graph

* ui changes to graph

* light/dark mode changes + ui edits

* missing dependancy in package.json and minor visual improvements

* fixed collision physics

* d3 force package

* fixed nodes going off screen

* removed onNodeDragEnd

* fix central node and add particle effect

* fixed central node and typescript errors

* bar graph/storage bar ui improvements

* changed icons

* totals

* made ui changes

* ui changes

* minor requested ui changes

* fixed spacing for ui

* Remove extraneous newline in core/src/api/libraries.rs

* Fix minor suggestions from code review

* Fix typecheck

* Auto format

* refactor file kind stat card with css grid

* ensure unidentified files never negative

* FIxing some stats

* Counting directories

* fixed error with height of bars

* updated storage bar

* total files update

---------

Co-authored-by: ameer2468 <33054370+ameer2468@users.noreply.github.com>
Co-authored-by: James Pine <ijamespine@me.com>
Co-authored-by: Lynx <141365347+iLynxcat@users.noreply.github.com>
Co-authored-by: Vítor Vasconcellos <vasconcellos.dev@gmail.com>
Co-authored-by: Lynx <ephemeral.lynx@protonmail.com>
Co-authored-by: Ericson Soares <ericson.ds999@gmail.com>
2024-06-24 20:00:51 +00:00
ameer2468
8fbc160915 [MOB-108] UI adjustments (#2563)
* wip

* wip

* max width on locations in drawer

* remove fade and console log

* lint fix
2024-06-24 15:50:36 +00:00
ameer2468
c8a1bd3407 [ENG-1798] Improve cloud sync ui (#2554)
improve cloud sync ui

cleanup

use better values

lint
2024-06-18 16:15:11 +00:00
Arnab Chakraborty
7c739c6967 [MOB-106] Cloud Sync for Mobile (#2549)
* 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>
2024-06-18 08:46:29 +00:00
Ericson "Fogo" Soares
c0d736453e [ENG-1775] Scan location using new jobs (#2476)
* 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
2024-06-17 21:30:57 +00:00
ameer2468
11ade533e9 [MOB-94] Onboarding haptics (#2552)
Onboarding haptics
2024-06-14 16:42:19 +00:00
ameer2468
b8a56e8064 [MOB-105] Rename with extension & add await (#2539)
add await date accessed to run first and rename with extension consideration
2024-06-06 15:02:20 +00:00
ameer2468
7cd852b0d0 [MOB-100] Job manager design improvements (#2531)
* design improvements job manager mob

* centering
2024-05-31 19:42:59 +00:00
ameer2468
1f9b0e2331 [MOB-99] Job remove & more (#2514)
* Clear job and improve job manager design

* pullToRefresh, search adjustment, and more

* ts

* use rspc instead of query client

* Update JobManagerModal.tsx
2024-05-28 21:02:50 +00:00
ameer2468
532ff4b62e [MOB-98] Rename, delete, & more (#2506)
* rename and delete support, browse design improvement

* update toast styling

* Update RenameModal.tsx

* fix test

* fix warning message on initial render, add-tag test, and remove solid js references

* ci

* Add feedback toast for location delete and tag delete
2024-05-27 15:44:15 +00:00
ameer2468
9a7c79a99a [MOB-97] Fade select tags and empty location state (#2496)
* fade select tags and empty location state

* smaller tags

* smaller tags  in filters and add tags modal
2024-05-20 22:29:56 +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
Vítor Vasconcellos
71cd87d661 Fix front-end error when selecting multiple files with inspector open (#2486)
- 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
2024-05-14 07:06:07 +00:00
Jamie Pine
d99a092468 [ENG-1778] Total library size statistic (#2477)
* it

* migration

* fix error msg

* fix error msg actually tho

* fix

* ts errors
2024-05-13 22:02:49 +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
ameer2468
0a08b471a1 [MOB-96] Haptics on tabs interaction and more (#2464)
Haptics on tabs interaction and more
2024-05-08 17:41:34 +00:00
ameer2468
c8d1a1d9a6 Mob: remove sort by text (#2463)
Remove sort by text
2024-05-08 13:48:33 +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
Vítor Vasconcellos
c516a3a45b 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
ameer2468
6c1154ecb3 [MOB-79] Categories search redirect (#2443)
Support clicking on categories to redirect to search
2024-05-02 14:05:24 +00:00
ameer2468
076edd1a9e [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
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
Oscar Beaumont
bd166915ad 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
ff0f58a921 [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
ameer2468
3aa3476270 [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
dc5a0bb107 Revert "[MOB-85] Better headers" (#2376)
Revert "[MOB-85] Better headers (#2375)"

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

* improve headers

* cleanup
2024-04-23 22:21:31 +00:00
Utku
472e29a993 Mobile cleanup & improvements (#2362)
clean up & improvements
2024-04-19 07:55:50 +00:00
Utku
a4106276c4 [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
Arnab Chakraborty
d6fb1b4929 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
ameer2468
e85a118d6a Correct width for button (#2284)
correct width for button
2024-04-04 10:41:22 +00:00
ameer2468
230a5d67e6 [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
636eb07bfb [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
e3cc198be8 [MOB-67] Saved search UI (#2265)
save search ui
2024-03-30 20:56:58 +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