Commit Graph

170 Commits

Author SHA1 Message Date
Arnab Chakraborty
fcaac7860f Fix CORS issue & Mobile core startup times 2024-11-30 00:55:06 -05:00
Arnab Chakraborty
a1b3c8cf8d Lint 2024-11-28 03:51:33 -05:00
Arnab Chakraborty
189b61a377 Working fix + Native Swift Functions 2024-11-28 03:21:30 -05:00
Vítor Vasconcellos
7e7dd8fbde Merge remote-tracking branch 'origin/main' into eng-1828-migration-to-new-cloud-api-system 2024-10-21 14:40:59 -03:00
Vítor Vasconcellos
cc7c9d5793 Improve file thumbnails and Quick Preview (+ some code clean-up and rust deps update) (#2758)
* Update rspc, prisma-client-rust, axum and tanstack-query
 - Deleted some unused examples and fully commented out frontend code
 - Implement many changes required due to the updates
 - Update most rust dependencies

* Re-enable p2p

* Fix server

* Auto format

* Fix injected script format
 - Update some github actions
 - Update pnpm lock file

* Fix devtools showing up when app opens
 - Fix million complaining about Sparkles component

* Fix sd-server

* Fix and improve thumbnails rendering
 - Fix core always saying a new thumbnail was generated even for files that it skiped thumbnail generation
 - Rewrite FileThumb and improve related components

* Ignore tmp files when running prettier

* Improve FileThumb component performance
 - Rework useExplorerDraggable and useExplorerItemData hooks due to reduce unecessary re-renders

* More fixes for thumb component
 - A couple of minor performance improvements to frontend code

* auto format

* Fix Thumbnail and QuickPreview

* Fix logic for when to show 'fail to load original' error message in QuickPreview
 - Updated prisma-client-rust, libp2p, tauri, tauri-specta, rspc and hyper

* Fix type checking
 - Format scripts

* Add script prettier config

* Fix serde missing feature
 - Use rust-libp2p spacedrive fork again
 - Update rspc

* Autoformat + fix pnpm lock

* Fix thumbnail first load again

* Autoformat

* autoformat

* Fix rust-libp2p fork url again?

* Remove usePathsInfiniteQuery hook

* Update tauri 2.0.6
2024-10-21 15:47:40 +00:00
Vítor Vasconcellos
124fe5b0b0 Remove obsolete settings cloud page
- Fixed some typings
 - Update vite
2024-10-19 08:06:11 -03:00
Arnab Chakraborty
1f0525c8ee Autoformatting 2024-10-14 22:49:46 -04:00
ameer2468
81147e21a2 cleanup auth, sync join modal, and more 2024-10-11 17:56:01 +03:00
Arnab Chakraborty
6c0c0e020f Merge branch 'main' into eng-1828-migration-to-new-cloud-api-system 2024-10-09 23:14:00 -04:00
Lynx
4cfa0e781e Add no telemetry option and improve analytics code clarity (#2740)
* Refactor analytics configuration to use `configureAnalyticsProperties` instead of `initPlausible` for improved clarity

* format & add comment explaining analytics ping code
if any people reviewing source for their own verification of its purpose, this should make it much clearer what this does

* refactor Setting to use named function so its references can be source-peeked

* add basic support for 'none' telemetry option
changing the option in the Select dropdown breaks things right now, gotta figure out why

* fix usePlausibleEvent sending old telemetry level preference property to submitPlausibleEvent

* Fall back fo 'unknown' instead of '0.1.0' for app version stats

* Better explain the purpose of more things in submitPlausibleEvent

* organize and clean up internationalization file keys

* fix lowercase connect/connecting key names in code

* add no-telemetry option to onboarding

* Only display error report button if telemetry is enabled

* Add explainer to Sentry plugin for Vite

* Fix onboarding selection in both interface and mobile

* Add more explanation and checks to usePlausible to never send data unless allowed

* add support for onLoad to transform data from persisted mutable stores

* update some analytics explainers on mobile

* add telemetry state migration

* add migration for telemetry state from explorer layout key in persisted store

* fix cypress test for onboarding privacy page

* remove some accidentally included console.log statements

* Add localized analytics preference names

* Use localized telemetry preference names in Settings

* use cleaner text wrapping in settings

* Update the telemetry setting title

* fix telemetry typo

* update mobile no-analytics text

* remove telemetry override option

* eslint: disable no-empty-object-type for PlausibleOptions

the reason is commented
2024-10-07 22:00:38 +00:00
Vítor Vasconcellos
a223fa0a8b Merge remote-tracking branch 'origin/main' into eng-1828-migration-to-new-cloud-api-system 2024-10-06 23:36:06 -03:00
Vítor Vasconcellos
cdc50140b0 [ENG-1928] Update to tauri 2.0.1 stable (#2752)
* Update to tauri 2.0.0 stable
 - Update a some othe dependencies
 - Autoformat rust and toml files

* Fix clippy complain

* Update tauri 2.0.1
 - Update rspc
 - Update some frontend files due changes in rspc
 - Update some frontend build dependencies

* Revert babel update

* Fix code typing typing and style + a couple of bugs

* More type fixes
2024-10-05 21:17:30 +00:00
Arnab Chakraborty
efbecd4c61 Fix type errors & add notif logging on mobile 2024-09-30 11:35:59 -04:00
Arnab Chakraborty
e4edbee965 Working p2p relay backend 2024-09-28 04:01:06 -04:00
Arnab Chakraborty
67973e82fc wip 2024-09-27 23:20:10 -04:00
Arnab Chakraborty
1b5b4b51e8 Refactor getAccessToken to return refreshToken 2024-09-18 00:37:13 -04:00
Arnab Chakraborty
656463e4de Custom Access Token functions & Constant URL
Constant URL for the auth server
2024-09-17 23:16:46 -04:00
Arnab Chakraborty
1666229719 Get access token from storage in mobile 2024-09-17 12:10:51 -04: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
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
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
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
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