92 Commits

Author SHA1 Message Date
Jamie Pine
63397de4f5 yes 2025-10-11 10:49:32 -07:00
Jamie Pine
94526824e6 feat: Add pause and resume functionality for jobs in Spacedrive
- Implemented pauseJob and resumeJob methods in DaemonConnector to manage job states.
- Updated SharedAppState to handle new pause and resume actions.
- Introduced JobActionButton in JobRowView for user interaction to pause or resume jobs.
- Enhanced launch configuration in VSCode for debugging Spacedrive applications.
2025-09-22 20:15:27 -07:00
Jamie Pine
487cc53e63 feat: Implement JSON Schema generation for client types
- Added `schemars` dependency to facilitate JSON Schema generation.
- Introduced a new `generate_schemas` binary for extracting and writing unified JSON schemas.
- Enhanced existing modules to support schema generation, including updates to `build.rs` for change detection.
- Updated various data structures with `JsonSchema` derives to enable schema extraction.
- Created comprehensive documentation for the client generation system design, detailing architecture and usage.
- Added TypeScript and Swift client generation scripts, ensuring type-safe access to the Spacedrive daemon API.
2025-09-21 10:40:13 -07:00
Jamie Pine
0d3ef427d8 feat: Introduce Spacedrive Companion App for macOS
- Added a new SwiftUI application to monitor Spacedrive daemon jobs in real-time.
- Implemented job status tracking with visual indicators for running, completed, failed, and paused jobs.
- Included build and run scripts for easy setup and execution.
- Created a README with detailed instructions on building, running, and using the application.
- Added integration with the Spacedrive daemon via Unix domain socket for real-time updates.
- Introduced a translucent window design for a seamless macOS experience.
2025-09-20 21:06:29 -07:00
Vítor Vasconcellos
b4d1a295ff [ENG-1840, ENG-1842] Add native dependencies for iOS (#2693)
* Implement dowload of mobile native deps
 - Add a spinner animation to `pnpm prep`
 - Change abandoned dependency @iarna/toml with smol-toml
 - Validate cargo config.toml after generating it from mustache template
 - Disabled HTTP2 downloads with udici, it is very broken

* Initial ios native deps xcframework logic

* Remove logic for handling dynamic iOS libs, using static libs now

* Fix PATH in build-rust.sh
 - Remove app.json

* Restore crates/images/src/pdf.rs

* minor fix .editorconfig

* Finally ios successfully compiles with ffmpeg enabled
 - Change SDCore.podspec to add extra libraries required by ffmpeg
 - Fix heif linking for ios in config.toml template
 - Add symlink logic for extra libraries required to compile ios in build-rust.sh
2024-09-17 02:27:42 +00:00
Arnab Chakraborty
8cfbd374e3 [ENG-1854] Migrate to Tauri v2 Release Candidate (#2654)
* Migrate to Tauri v2 Release Canidate

* Formatting

* Update pnpm

* Update all tauri deps (js and rust) to Release Candidate 2
 - A lot of misc fixes due to changes in the new versions of tauri, rspc and specta

* Recreate pnpm-lock

* Fix pnpm-lock

* Formatting

* Use 10 chars SHA for git deps
 - Update a couple of rust dependencies
 - Add taplo for toml auto formatting
 - Adjust some formatting configurations
 - Updated prettier and its plugins

* Fix formatter settings

* Minor improvements to Cargo.toml format

---------

Co-authored-by: Vítor Vasconcellos <vasconcellos.dev@gmail.com>
2024-08-14 18:22:46 +00:00
Lkhsss
5fcdf7f7f0 Update Chinese Translations (#2656)
* Update Chinses tanstation

Chinese will be used in different ways in different places.If it's just a translation program or a word-for-word translation, it's going to be very stiff. Call me if you need a translator.<a href="mailto:lkhsss1019@gmail.com">lkhsss1019@gmail.com</a>

1.[fix] `"direction": "方向",`to`"direction": "次序",`
2.[fix]`"ascending": "上升",`to`"ascending": "升序",`
3.[fix]`"item_size": "项目大小"`,to`"item_size": "图标大小",`
.........etc   太多了数不过来了。。。

## I Need Some Help
Please send me a screenshot of where these entries are in the app so I can best translate them!(Better tell me where they are in the app.)
- failed_to_open_file_with
- file_from
- file_one
- file_picker_not_supported
- for_library
- image
- incoming_spacedrop
- indexed_new_files
- indexer_rules_error
- indexer_rules_not_available
- accept_files
- app_crashed_description
- collection
- directories
- directory
- do_the_thing
- dont_have_any
- dotfile
- ends_with
- erase
- erase_a_file
- erase_a_file_description
- file_picker_not_supported
- files_many
- for_library
- gitignore
- hosted_locations
- my_sick_location

* Change some translations...
2024-08-13 11:06:56 +00:00
Boxuan Zhang
fdcc471a48 Repaired some translation errors in Chinese(Simp) and Chinese(Trad) (#2609)
Repair some translation errors in Chinese(Simp) and Chinese(Trad)
2024-07-16 19:31:52 +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
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
Heavysnowjakarta
8c19c52e80 I18n polish (zh-cn) (#2337)
* i18n some polishes

* reviewed 1st-100th strings of zh-cn i18n

* change the indent to 2 space characters
2024-04-24 23:38:34 +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
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
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
Arnab Chakraborty
baf5a3ba67 Working Location-Watcher system for iOS app (#2073)
* Working External Storage Locked Locations

We can now add Downloads (A location locked by MANGE_EXTERNAL_STORAGE) on Android.

* Navigate to added page

Adding location now navigates to the added location explorer.

* Way simpler solution

Found a way simpler solution, that doesn't require query calls.

* Clean up

Remove unused import calls.

* Attempt to get Location Watcher working

Well, Location watcher doesn't want to run. But I wanted to push the `xcrun` command to the README.

Also, locations now actually show files, but break on displaying recursive folders (folder content in a folder).

* Quick clean up + Working full rescan

locations.fullRescan works now on mobile with 0 issues. It can recognize orphan paths and when new files are added.

But, Location-Watcher for some reason doesn't want to run automatically when the file system change occurs.

* Working iOS Watcher

Location Watcher now works for iOS when files are created. However, it can't understand the file delete event yet.

* Functional watcher for iOS

The watcher system is now fully functional on iOS, with a few bugs to patch regarding the delete function freezing the system up.

* Update ios.rs

* See Logs on Android

Finally figured out how to see the logs from Android.

* Update CONTRIBUTING.md

* Updated to Stable & Working

* Working Android Build + Explorer working again

* wip

* wip

* Squashed commit of the following:

commit a7bc3b908dc7c36a0d4f747f992cc0906aa2d9ab
Merge: 201913a1 898a81da
Author: Arnab Chakraborty <11457760+Rocky43007@users.noreply.github.com>
Date:   Tue Feb 6 16:18:42 2024 -0500

    Merge branch 'main' of https://github.com/Rocky43007/spacedrive

commit 898a81dae4a47e0e47d9414aa25b440fd811531a
Author: ameer2468 <33054370+ameer2468@users.noreply.github.com>
Date:   Tue Feb 6 19:30:53 2024 +0300

    [ENG-1594] Change online to connected (#2060)

    : This is a combination of 3 commits.

    Change online to connected

    remove offline

    json

commit 581cbf6a276d6de5165c4132ea0e79415efe02ee
Author: ameer2468 <33054370+ameer2468@users.noreply.github.com>
Date:   Tue Feb 6 17:49:16 2024 +0300

    [MOB-54] UI Fixes (#2059)

    * UI fixes - rive animation - SD version in settings - and more

    * twStyle

commit c178b91fb0f3c5382fa6e6788ef9a46c5f68de33
Author: Jesse Rodrigo <39565615+JSSRDRG@users.noreply.github.com>
Date:   Tue Feb 6 11:41:05 2024 +0100

    Dutch locale (#2054)

    * nl locale

    * add nl entry

    * improve some wording

commit 18ab7cc1a431d640ccfc682bf2478eeaa09350d7
Author: Brendan Allan <brendonovich@outlook.com>
Date:   Tue Feb 6 17:13:47 2024 +0800

    [ENG-1548] use in-memory instances when sending messages to cloud (#2057)

    * use in-memory instances when sending messages to cloud

    * comments

commit 8dd7e3586e9829c5b3f9e00dac28c0d41f74a4db
Author: ameer2468 <33054370+ameer2468@users.noreply.github.com>
Date:   Tue Feb 6 06:03:33 2024 +0300

    [MOB-47] Location screen and header updates (#2056)

    * Location screen and header updates

    * use tw sizing

    * remove un-necessary prop

    * Nit: change name

commit a7bffc4a4efce6b21e5785f031b1674094c06e1c
Author: Arnab Chakraborty <11457760+Rocky43007@users.noreply.github.com>
Date:   Mon Feb 5 07:06:47 2024 -0500

    Update to Expo 50 and Fix to Rive Crashing (#2049)

    * Update Mobile App to Expo SDK 50
    + Fix to Rive Crashing

    * Added `metro-react-native-babel-transformer` to fix CI

commit 72c51d56491163cb94e73540d7a1c8f709c3e5fb
Author: Utku <74243531+utkubakir@users.noreply.github.com>
Date:   Sun Feb 4 23:52:26 2024 +0300

    Fix Chinese language (#2050)

    * fix chinese

    * remove console.log

* Squashed commit of the following:

commit ec55d9f182daf13784297edfb3dbb2d6e6ba43b9
Author: ameer2468 <33054370+ameer2468@users.noreply.github.com>
Date:   Wed Feb 7 20:25:04 2024 +0300

    [MOB-55] Video animation for onboarding on mobile and desktop (#2065)

    * video animation for onboarding on mobile and desktop

    run assets gen

    cleanup

    declare mp4 type

    * update metro config to transform video files from sd assets

    * test ci without native video exclude

    * casing?

    * remove to add back again due to github

    * add videos back

    * versions

    * no need to transform

    ---------

    Co-authored-by: Utku Bakir <74243531+utkubakir@users.noreply.github.com>

commit cd97c73cf48744804b3adad096590c6e2c3e5014
Author: Utku <74243531+utkubakir@users.noreply.github.com>
Date:   Wed Feb 7 16:47:55 2024 +0300

    More translations (#2051)

    * translations

    * more translation keys

    * all the translations

* Added Cleaning Script

* Prep for PR

* Clean up + `cargo fmt`

* Update mod.rs

* Squashed commit of the following:

commit d51773caaf85b5e4498d3d356c1feeea11e5619b
Author: Utku <74243531+utkubakir@users.noreply.github.com>
Date:   Fri Feb 9 18:42:42 2024 +0300

    Update readme & contributing guide & language stuff (#2071)

    * updates

    * keep common errors

    * fix selector being empty for english

    * sort by label

    * update contributing

    * update ndk and docs

    * Update CONTRIBUTING.md

commit 76de9d5fa49784d2692e38750c5d885fdcb5b546
Author: Brendan Allan <brendonovich@outlook.com>
Date:   Fri Feb 9 21:20:51 2024 +0800

    sync support for labels (#2070)

    * more sync support for file paths + saved searches

    * sync support for labels

    * update sync prisma generator to support more than tags

    * workey

    * don't do illegal db migration

    * use name as label id in explorer

commit d3236ae735ecc8e97ff2637dccfe51c0d6157139
Author: Brendan Allan <brendonovich@outlook.com>
Date:   Fri Feb 9 16:17:04 2024 +0800

    More sync support for file paths + saved searches (#2067)

    more sync support for file paths + saved searches

* Update build-rust.sh

Fix script so it doesn't build debug apps always now.

* Add Tests for iOS

* Update android.rs

PR 1812 was closed, therefore changing the message to mention the branch instead.

* Change `--debug` to `--release`

Oops

* Remove debug cargo crate for `notify-rs`

* Spelling Fix on `android.rs`

* Squashed commit of the following:

commit 8c3462a27a00a57b07fa2d8ca444a56ec0039af6
Author: Ericson "Fogo" Soares <ericson.ds999@gmail.com>
Date:   Mon Feb 26 16:45:58 2024 -0300

    [ENG-1513] Better integration between Jobs and processing Actors (#1974)

    * First draft on new task system

    * Removing save to disk from task system

    * Bunch of concurrency issues

    * Solving Future impl issue when pausing tasks

    * Fix cancel and abort

    * Bunch of fixes on pause, suspend, resume, cancel and abort
    Also better error handling on task completion for the user

    * New capabilities to return an output on a task

    * Introducing a simple way to linear backoff on failed steal

    * Sample actor where tasks can dispatch more tasks

    * Rustfmt

    * Steal test to make sure

    * Stale deps cleanup

    * Removing unused utils

    * Initial lib docs

    * Docs ok

    * Memory cleanup on idle

    ---------

    Co-authored-by: Vítor Vasconcellos <vasconcellos.dev@gmail.com>

commit 9da5fed74cea1267210273238440751d75d8cd95
Author: ameer2468 <33054370+ameer2468@users.noreply.github.com>
Date:   Mon Feb 26 18:53:37 2024 +0300

    [ENG-1625] Spacedrop UI correct hover condition & spacing (#2127)

    * improve spacedrop ui with correct hover & spacing

    * remove

commit ed037df4c19e995b7490a062070edb9aa1df322e
Author: Matteo Galiazzo <50683509+gekoxyz@users.noreply.github.com>
Date:   Mon Feb 26 16:20:41 2024 +0100

    added it locale, added it entry (#2066)

    * added it locale, added it entry

    * Apply suggestions from code review

    Co-authored-by: Matteo Martellini <matteo@mercxry.me>

    * add missing keys and a readme about the script

    ---------

    Co-authored-by: Utku <74243531+utkubakir@users.noreply.github.com>
    Co-authored-by: Matteo Martellini <matteo@mercxry.me>

commit 7cae4cb78b4a858706165a5c38a8f584d9e4775c
Author: jake <77554505+brxken128@users.noreply.github.com>
Date:   Mon Feb 26 15:17:28 2024 +0000

    Clean-up MacOS window closing behaviour code (#2124)

    * fix: delete dead/unused file

    * refactor: add the window event handler with the rest of them

    * refactor: formatting

commit 4ef515d9746093184cf880dc84dc94d52db91fd0
Author: Oscar Beaumont <oscar@otbeaumont.me>
Date:   Mon Feb 26 15:23:48 2024 +0800

    rspc over P2P (#2112)

    * wip: rspc over p2p

    * wip

    * rspc over P2P

    * Cleanup + error handling

    * slight cleanup

    * Using Hyper for HTTP streaming + websockets

commit 3eb8cfe4afd3e90be06e3d170ad29b644812baab
Author: Utku <74243531+utkubakir@users.noreply.github.com>
Date:   Fri Feb 23 11:26:58 2024 -0500

    Fix android thumbs (#2121)

    * replace react-native-fs with an active fork

    * time sink

    * fix

commit ca10749a9cbe701248a67c43a6199e450d511665
Author: ameer2468 <33054370+ameer2468@users.noreply.github.com>
Date:   Fri Feb 23 00:28:35 2024 +0300

    Mob: cleanup warning (#2122)

    Update Categories.tsx

commit 0e3b4d84e5f68adc09cefc125f1aa90b7bd1f9ca
Author: ameer2468 <33054370+ameer2468@users.noreply.github.com>
Date:   Thu Feb 22 16:08:41 2024 +0300

    MOB: Settings paddings (#2120)

    padding tweaks

commit e92d96ff054313bd3aa6c55a48197dbaaf624bed
Author: nikec <43032218+niikeec@users.noreply.github.com>
Date:   Thu Feb 22 13:53:02 2024 +0100

    [ENG-1619] Add spacedrop to the context menu (#2119)

    add spacedrop to context menu

commit edfbdeb9d7b62cff4fa29c5d3056c1603986f367
Author: ameer2468 <33054370+ameer2468@users.noreply.github.com>
Date:   Thu Feb 22 15:47:08 2024 +0300

    [ENG-1618] Spacedrop UI (#2118)

    * spacedrop ui update

    * i18n and description

    * glitch: remove !

    * already in progress i18n

    * more i18n

commit b4edf5b21061ebbe84084548632f9813b162751d
Author: ameer2468 <33054370+ameer2468@users.noreply.github.com>
Date:   Thu Feb 22 15:20:31 2024 +0300

    [MOB-62] Spacing & padding tweaks (#2117)

    Spacing & padding tweaks

commit f4e68497ed92ced9b409b1f7ca033cc54583d26a
Author: Vítor Vasconcellos <vasconcellos.dev@gmail.com>
Date:   Thu Feb 22 03:15:36 2024 -0300

    Fix core test and CI breaking (#2116)

    Fix core test passing inverted arguments to sync_db_entry macro

commit f2ce41b9b4355a31cefac3af472b5dc03a4b361e
Author: ameer2468 <33054370+ameer2468@users.noreply.github.com>
Date:   Wed Feb 21 17:19:40 2024 +0300

    Mob: better visually width fitting for categories (#2114)

    * Visually width fitting for categories

    * remove padding

commit a0b7cf21fc1a005ae10d5bdcf85cd23c2e41d09e
Author: Vítor Vasconcellos <vasconcellos.dev@gmail.com>
Date:   Wed Feb 21 11:18:15 2024 -0300

    Fix mobile CI + Some small CI improvements (#2113)

    Fix mobile CI
     - Use rust envvars in all workflows
     - Use rust envvars and mold when build sd-server docker

commit badae3c75af0a042fd0a4307f8e0771b339aed47
Author: Utku <74243531+utkubakir@users.noreply.github.com>
Date:   Wed Feb 21 08:26:05 2024 -0500

    [MOB-37, MOB-38, MOB-39] Preview for PDF, Text and Media files (#2098)

    * version & microphonePermission text & eslint

    * remove polyfill as hermes supports intl now

    * why do we have solid on mobile?

    * cleanup

    * add solid back =_=

    * pnpm lock

    * we hate relative paths here

    * android config

    * open file logic

    * visual tweaks

    ---------

    Co-authored-by: ameer2468 <33054370+ameer2468@users.noreply.github.com>

commit bfd6e813c0e481e852684796e3b24aa37ca06575
Author: Brendan Allan <brendonovich@outlook.com>
Date:   Wed Feb 21 22:42:10 2024 +1100

    media data sync (#2102)

    * basic sync operation backfill

    * media data sync

    * sync entry helpers

    * fix sync generator

    * nicer

    * re-add key_id

commit c1e98dcb0dbc1e4c46df73d894d7a3bd2c1f3d11
Author: Vítor Vasconcellos <vasconcellos.dev@gmail.com>
Date:   Wed Feb 21 06:27:40 2024 -0300

    Update github actions due to nodejs 16 deprecation (#2107)

    * Update github actions due to nodejs 16 deprecation
     - Replace archived actions-rs/clippy-check with maintained fork actions-rs-plus/clippy-check
     - Replace redhat-actions/push-to-registry with updated fork Eusebiotrigo/push-to-registry
     - Point redhat-actions/buildah-build and softprops/action-gh-release to current master to fix nodejs deprecation

    * Build the correct ios core rust arch for CI runs

    * Build ios app for the same arch as the host in Mobile CI

    * Some changes to try and make cache-factory faster and avoid failing so much

    * Add trigger to run cache-factory on pull requests when there are changes to itself

    * Attempt to fix sed usage on macOS

    * Don't treat warning as errors

    * Fix windows

    * Fix windows 2

    * Use target ad cache key for rust to differentiate between macOS x86_64 and arm64

    * Use faster/better linkers to compile for macOS, Linux and Windows

    * Fix missing shell in action

    * Fix typo

    * Fix missing shell in action 2

    * Fix mold download
     - Replace bsdtar with plain tar

    * Fix permission denied when extracting mold

    * Remove zld

    * Don't restore cache for rustfmt
     - Remove target symlink to C:/ in an attempt to speed-up windows CI

    * Fix typo

    * Restore target symlink on windows
     - Removing it didn't make CI faster

    * Run Mobile on macos-14

commit a7d836a922dbef986c53921e1b6140597ff381e0
Author: Oscar Beaumont <oscar@otbeaumont.me>
Date:   Wed Feb 21 16:13:40 2024 +0800

    Fix P2P not working for libraries (#2031)

    * P2P Debug route

    * Remove legacy peer to peer pairing process

    * Fix error typo

    * Sync instances with cloud

    * Upgrade deps + extended instance data

    * Create instance with extended metadata

    * Auto sync instances

    * Actually `.await`

    * bruh

    * sync library info

    * this isn't gonna work

    * only sleep cloud receiver when no more messages (#1985)

    * [ENG-1567] Fix renaming (#1986)

    fix rename

    * only sleep cloud receiver when no more messages

    * use in memory instances during cloud receive (#1995)

    * use in memory instances during cloud receive

    * is_empty

    ---------

    Co-authored-by: nikec <43032218+niikeec@users.noreply.github.com>

    * fix type error

    * wip

    * make mdns mdns better

    * rebuild state

    * Add hooks + listeners + discovered state

    * Split into crates

    * wip fixing core + wip merging Spacetime into `sd-p2p2`

    * `SmartLockGuard` + `Listener`

    * Make `sd-core` compile

    * Reenable all operation receivers

    * Fix all broken code within `sd-core`

    * minor fixes found in review

    * Bring in `libp2p` + restructure `sd-p2p` for the gazillion-th time

    * whoops

    * Compile no matter the (runtime) cost

    * fixing merge issues

    * wip

    * a

    * b

    * C

    * Handle port betterer

    * c

    * Migrate node config

    * a

    * no crash on startup

    * wip

    * a

    * jdfhskjfsg

    * a

    * fix discovery

    * a bunch of fixes

    * getting Spacedrop working

    * I don't get why it no worky

    * debug example

    * a

    * wip

    * wip

    * removing logging from stream impl

    * wip: shit is fucked

    * Redo quic integration  + Spacedrop working

    * Fix shutdown - deadlocks + shutdown peers

    * Add Prisma migrations

    * Fix shutdown

    * a

    * fix

    * cleanup

    * The lord clippy hath spoken

    * disable P2P settings for now

    ---------

    Co-authored-by: Brendan Allan <brendonovich@outlook.com>
    Co-authored-by: nikec <43032218+niikeec@users.noreply.github.com>

commit 146838d19e48d73ff20d8fcb99249b1b01427bb4
Author: Julian Braha <julianbraha@gmail.com>
Date:   Tue Feb 20 20:06:05 2024 +0000

    Improve error handling by using decode::Error instead of io::Result (#2078)

    Use decode::Error instead of io::Result

commit 145cd20805abc34ee68f7d25048c9bb1705d9479
Author: ameer2468 <33054370+ameer2468@users.noreply.github.com>
Date:   Tue Feb 20 22:59:11 2024 +0300

    [MOB-59] Empty UI for locations and tags screen (#2110)

    Empty UI for locations and tags screen

commit 704d03a329b28500c1a0a372e86488beae9c3f44
Author: ameer2468 <33054370+ameer2468@users.noreply.github.com>
Date:   Tue Feb 20 22:47:14 2024 +0300

    [MOB-60] locations & tags query invalidation on updates (#2111)

    Trigger UI updates on location adding/delete and tags

    lint

    name

commit 45b9e357448a203919d1745d23b60fcd0314149e
Author: ameer2468 <33054370+ameer2468@users.noreply.github.com>
Date:   Tue Feb 20 13:05:53 2024 +0300

    mousedown fix (#2108)

    quick mistake fix

commit 25f9f03010f2531506020de1f672887c4b8f6a3c
Author: Brendan Allan <brendonovich@outlook.com>
Date:   Tue Feb 20 20:22:34 2024 +1100

    Basic sync operation backfill (#2101)

    * basic sync operation backfill

    * no changes

commit ce0203ff74a3ceb81211998d4d070dfa95307669
Author: Arnab Chakraborty <11457760+Rocky43007@users.noreply.github.com>
Date:   Tue Feb 20 01:33:52 2024 -0500

    New Android Build Script (#2096)

    * New Android Build Script

    * Clean up + Works for CI now

    * Simplify android build.sh
     - Fix /var/home/vitor fallback for Linux systems
     - Run a single cargo ndk for all targets (not parallel build, but a bit faster)
     - Fix android target s/x86/x86_64/
     - Format setup.sh
     - Minor improvements to rust mobile targets installation step in setup.sh

    * Add notice to CONTRIBUTING that only Java <= 17 is supported for building android
     - Make prettier ignore some mobile build artifacts

    * When in CI, Fix build android core for host architecture

    ---------

    Co-authored-by: Vítor Vasconcellos <vasconcellos.dev@gmail.com>

commit d280895d28666ec6068c31e530a3a787e226bf0f
Author: ameer2468 <33054370+ameer2468@users.noreply.github.com>
Date:   Mon Feb 19 23:45:29 2024 +0300

    [ENG-1615] bg intro video fixed (#2104)

    * video intro bg

    * test hsl

    * test video bg

    * run tests

    * comment

    * mob intro

    * git glitch

    * git

    * webm type

commit 9742dc7ab45a0c0f232fa338da13cbaac6217efa
Author: ameer2468 <33054370+ameer2468@users.noreply.github.com>
Date:   Mon Feb 19 19:12:11 2024 +0300

    [MOB-58] Settings routes new design & more (#2103)

    * wip: redesigning settings pages

    * Edit location redesign & more

    * right actions

    * cleanup

commit 94008de7f39d682a27839329c5d0e1ee24f39654
Author: ameer2468 <33054370+ameer2468@users.noreply.github.com>
Date:   Mon Feb 19 18:23:20 2024 +0300

    [ENG-1612] Fix mouse nav forwards and backwards (#2105)

    Fix mouse nav forwards and backwards

* Clean up commented code

* Clean up + Remove `LocationOnboarding.tsx`
2024-02-29 16:14:50 +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
Utku
0d5f92667c [ENG-1502] I18n (#1897)
* you know, you could just work on first try

* fix extension

* configure plugin and fix few translation issues

* more

* more keys

* and more

* more keys and sort

* commit msg

* we like keys here

* end my suffering

* jk i just love keys

* key fix

* add turkish

* add german

* Entendido

* Demnächst

* Mettre une étoile sur GitHub

* 成功

* pnpm-lock

* vite plugin

* remove i18next backends

---------

Co-authored-by: Brendan Allan <brendonovich@outlook.com>
2024-01-08 20:26:46 +00:00
Ericson "Fogo" Soares
8af3a5f286 [ENG-1479] AI Prototype (#1845)
* First draft on image labeling

* Fixing execution providers for other OSs

* Better error handling and shutdown

* Working with shallow media processor

* bruh

* Fix warnings

* Now hooked to media processor job

* Link desktop app with libonnxruntime to avoid TLS error during startup

* Be able to change models on runtime
Revert to use labels table instead of tags

* A bug on a model-less inference

* Show AI labels on Inspector
 - Change yolo inference to use half precision
 - Add labels api to core

* Remove LD_PRELOAD

* Fix race condition on model executor shutdown

* Don't load all images in memory moron

* Embeed yolo model in prod build
 - Change yolo model path to new one relative to executable

* Disable volume watcher on linux, it was crashing the app
 - Invalidate labels when they are updated

* Rust fmt

* Minor changes

* Gate onnxruntime linking to the ai-models feature

* Add build script to sd-server to handle onnxruntime linking workaround

* Move AI stuff to its own crate and normalize deps

* Rust fmt

* Don't regenerate labels unless asked to

* Now blazingly fast

* Bad merge

* Fix

* Fix

* Add backend logic to download extra yolo models

* Add models api route
 - Add api call to get available model version
 - Add api call to change the model version

* Improve new model download logic
 - Add frontend to change image labeler model

* Fix new model downloader

* Fix model select width

* invalidate labels count after media_processor generates a new output

* Rename AI crate and first draft on download notifications

* fix types

---------

Co-authored-by: Vítor Vasconcellos <vasconcellos.dev@gmail.com>
Co-authored-by: Brendan Allan <brendonovich@outlook.com>
2023-12-19 09:28:57 +00:00
Utku
a6d0de003f Mobile design changes (#1886)
* bump sdk version

* move drawer

* black & blur is the way

* bottom tab height

* fix tests and cache
2023-12-12 22:14:59 +00:00
Oscar Beaumont
c32e60927b [ENG-1400] Normalised caching (#1734)
* prototype

* `.normalise` helper + only `String` keys

* implement it for 'search.paths'

* redux devtools

* fix

* refactor backend

* wip: upgrade to rspc fork

* mega cursed

* Upgrade Specta-related stuff

* Upgrade Typescript

* Cache debug page

* bruh

* Fix optimistic library setting

* Cache clearing

* better timeout

* Fix tags page

* bit of cleanup

---------

Co-authored-by: Brendan Allan <brendonovich@outlook.com>
2023-12-05 13:16:03 +00:00
Vítor Vasconcellos
1181cd2709 Frontend misc fixes and deps update (#1650)
Dependencies overhaul
 - Update dependencies for all projects (except Mobile-only deps)
 - Remove unused dependencies from all projects (except Mobile-only deps)
 - Fix Storybook failing to import sd/ui style
 - Add Node 21 as not supported due to sass-loader not working on it yet
 - Add work-around for new rook version requiring webpack specific global property
 - Fix landing dev not working due to missing default env value on dev
 - Fix some incorrect uses of phosphor-icons non server side icons on server components on landing
 - Fix some incorrect uses of phosphor-icons server side icon on client components on landing
 - Fix landing fail to build on dev due to always required a Github Token to get the latest release
 - Fix new Next.js version not suporting Response.redirect due to immutable Headers
 - Add Gitlab as social link for teams page
 - Update Vítor's team photo
 - Add Vítor's twitter link
 - Fix some warning due to missing useEffect dependencies
 - Remove test-files dir
 - Fix QuickPreview unblurred buttons in Linux
 - Formatting
2023-10-24 07:51:58 +00:00
Ericson "Fogo" Soares
aa354f684e [ENG-1267] Move thumbnails generation away from media processor (#1585)
* New vscode task to start developing

* Updating db in case of library updates just in case

* Done

* Forgot to remove some debug logs

* Rust fmt

* Saving thumbnails processing state on app shutdown

* bruh
2023-10-17 02:09:36 +00:00
Ericson "Fogo" Soares
4d6b43a858 [ENG-1124 | ENG-1154] Ephemeral location bug: Opening files | Path should always be in present in Inspector (#1401)
* New functions to open ephemeral files

* Review items for ephemeral files

* Open and OpenWith context menu for ephemeral paths

* Some warnings

* Fixing inspector

* Fixing windows

* Format

* Messy rebase

* Fix macos

* Cargo fmt

* Removing devtools as it can be opened with keybind

* Fix macos

* Separating ext for ephemeral files on inspector

* Fixing bad rebase

* Removing rename button from quickpreview for ephemeral files

* Quick Preview for ephemeral files

* Requested changes
2023-10-05 07:21:37 +00:00
Ericson "Fogo" Soares
e081cfead8 Enabling frontend dev tools (#1420) 2023-10-03 03:54:46 +00:00
Utku
04816345b3 [ENG-1067] Update phosphor to new package & update sort imports (#1330)
* ianvs > trivago

* @phosphor-icons/react > phosphor-react
2023-09-11 15:26:44 +00:00
Tom Heaton
da903f254b Update recommended VS Code extensions (#1323)
* update recommended extensions

* Update extensions.json
2023-09-11 02:08:34 +00:00
Ericson "Fogo" Soares
94d395bca8 [ENG-862, ENG-921] Ephemeral locations (#1092)
* Some initial drafts

* Finising the first draft on non-indexed locations

* Minor tweaks

* Fix warnings

* Adding date_created and date_modified to non indexed path entries

* Add id and path properties to NonIndexedPathItem

* Working ephemeral location (hardcoded home for now)

* Fix UI for ephemeral locations

* Fix windows

* Passing ephemeral thumbnails to thumbnails remover

* Indexing rules for ephemeral paths walking

* Animate Location button when path text overflow it's size

* Fix Linux not showing all volumes

* Fix Linux
 - Add some missing no_os_protected rules for macOS
 - Improve ephemeral location names

* Remove unecessary import

* Fix Mobile

* Improve resizing behaviour for ephemeral location topbar path button
 - Improve Search View (Replace custom empty component with Explorer's emptyNotice )
 - Improve how TopBar children positioning

* Hide EphemeralSection if there is no volume or home
 - Disable Ephemeral topbar path button animation when text is not overflowing

* minor fixes

* Introducing ordering for ephemeral paths

* TS Format

* Ephemeral locations UI fixes
 - Fix indexed Locations having no metadata
 - Remove date indexed/accessed options for sorting Ephemeral locations
 - Remove empty three dots from SideBar element when no settings is linked

* Add tooltip to add location button in ephemeral locations

* Fix indexed Locations selecting other folder/files in Ephemeral location

* Minor fixes

* Fix app breaking due to wrong logic to get item full path in Explorer

* Revert some recent changes to Thumb.tsx

* Fix original not loading for overview items
 - Fix QuickPreview name broken for overview items

* Improve imports

* Revert replace useEffect with useLayoutEffect for locked logic in ListView
It was causing the component to full reload when clicking a header to sort per column

* Changes from feedback

* Hide some unused Inspector metadata fields on NonIndexedPaths
 - Merge formatDate functions while retaining original behaviour

* Use tauri api for getting user home

* Change ThumbType to a string enum to allow for string comparisons

* Improve ObjectKind typing

---------

Co-authored-by: Vítor Vasconcellos <vasconcellos.dev@gmail.com>
Co-authored-by: Oscar Beaumont <oscar@otbeaumont.me>
2023-08-23 17:26:07 +00:00
Vítor Vasconcellos
ae393d5405 [ENG-767, ENG-916] Improvements and fixes for Open/Open With (#1082)
* Normalize PATH and XDG envvars on Linux

* Fix normalize_xdg_environment

* Replace custom Desktop file parsers with Glib

* Fix AppImage env influencing external apps
 - Normalize GStream plugin path

* Fix macos pulling linux deps

* Attempt to fix gnome apps failing to launch
 - Fix incorrect logic in `normalize_pathlist`

* Ensure empty envvars are not set

* Revert AppImage ovewritten GTK specific variables
 - `normalize_pathlist` now prefers entries with less priority when dealing with repeated entries, this is not compatible with the default behavior, but it is a more sane approach IMHO

* Remove 32-bit libs from release CI build host

* Remove 32-bit from github runner 2 attempt
 - Remove deprecated vscode config

* Remove libc6-i386

* [ENG-916] Implement `Open With` logic compatible with macOS < 12

* Add some missing gstreamer deps in Linux

* Replace opener with Glib API

* Fix reveal opening file instead of dir
 - Improve Open With logic in Windows
 - Expose functions to test if app is in a flatpak, snap or appimage

---------

Co-authored-by: Brendan Allan <brendonovich@outlook.com>
2023-07-24 17:36:00 +00:00
nikec
cdf1767e85 [ENG-885] Move online locations to lib store (#1074)
* Enable trace logging for invalidate query

* Fixing quick rescan on explorer
And annotating wrong quick rescan usage on top bar reload button

* Move online locations to lib store

* Fix topbar reload path

* fix mobile

* Remove unused imports + format
 - Adjust `arraysEqual` arguments type

---------

Co-authored-by: Ericson Soares <ericson.ds999@gmail.com>
Co-authored-by: Utku Bakir <74243531+utkubakir@users.noreply.github.com>
Co-authored-by: Vítor Vasconcellos <vasconcellos.dev@gmail.com>
2023-07-05 22:27:38 +00:00
Utku
6dbd61adef [MOB-3] Small fixes and improvements (#813)
* add location button

* add tag button

* library manager arrow points right when open

* wip create lib modal

* handle .spacedrive file in location

* fix location screen title

* remove create lib dialog and use a modal instead

* clean tsconfig.tsbuildinfo too

* update some packages

* modal paddings

* fix onboarding animations
2023-06-08 16:06:17 +00:00
Utku
262c31d39a [ENG-362, ENG-476, ENG-503] Next.js (#817)
* update landing packages & tailwind

* move images

* refactor to nextjs

* doc stuff

* rename markdown to mdx

* working docs

* Add math

* fix pnpm-lock

* Code highlighting

* fix types

* fix more stuff

* Notice component and removed slot

* delete editorconfig eslint rule

* pnpm-lock

* some fixes

* fixed types (pls)

* bump ui's typescript too

* commit next-env.d.ts

* fix doc links

* Use next/head instead of react-helmet & rehype-external-links

* fixes

* fix unsub from list

* add trim() to docs.excerpt

* trim doc title too

* fix titles

* replace <a> to Link

* hide .contentlayer & .next from vscode search
2023-05-21 13:11:03 +00:00
Utku
1634f24808 [MOB-1] Theme support for Mobile (#755)
* revert rspc changes and some theme stuff

* Run onboarding test first

* test adding a tag

* handle keyboard on Create Tag Modal

* listen system theme changes

* fix delete tag button

* wait add tag mutation

* remove duplicate assert

* fix edit location setting screen

* select theme & fix add tag test

* add how to run web app to contributing

* add note about how to use stores correctly

* use theme colors

* system theme

* remove metro-minify-terser

* final tweaks

* cleanup

* cleanup

---------

Co-authored-by: Oscar Beaumont <oscar@otbeaumont.me>
2023-05-04 08:10:31 +00:00
Vítor Vasconcellos
164fcc34d3 Fix Windows CI + format (#767)
* Attempt to fix Windows CI:
- Ensure version 15 of LLVM is installed in Windows CI (due to` ffmpeg-sys-next`)
- Use `GITHUB_TOKEN` in setup-system.ps1 to avoid rate-limiting by github api in Windows CI
- Add `yaml` settings to `.editorconfig`
- Create a symbolic link from `.prettierignore` to `.eslintignore`
- Move `eslint` root to package root config
- Enable `fileNesting` to reduce dotfile clutter in vscode
- Pass `--strict` to apps/releases `lint` command to avoid making interactive queries and hanging `pnpm lint`
- Format with `prettier` and `eslint`
- Remove empty interface/hooks/useMediaQuery.ts

* Replace unmaintained `actions-rs/toolchain` with `dtolnay/rust-toolchain`
 - Change setup-system.ps1 to avoid installing pnpm in CI
 - Change `pnpm/action-setup` to lock only o major versions of the action
2023-04-27 07:32:15 +00:00
Vítor Vasconcellos
50442ede3e [ENG-469] Make Prettier and ESLint work together (#706)
* Make Prettier and ESLint work together
- Resolve conflicts between Prettier and ESLint regarding indentation and Tailwind rules order
- Add `.editorconfig` to standardize basic formatting options across tools and editors
- Add `.gitattributes` to hide `pnpm-lock.yaml` in `git diff` output
- Include EditorConfig in the recommended extensions for VSCode
- Replace some instances of `pnpm exec <command>` with `pnpm <command>`
- Remove superfluous Tauri config for Linux

* Revert Prettier changes (it was working correctly before)
 - Update ESLint to read Tailwind config from absolute path
 - Remove redundant Prettier dependency from subprojects
 - Specify the source folder for the lint script in subprojects

* use mobile's tailwind config with eslint

* pnpm format + pnpm lint:fix

---------

Co-authored-by: Utku Bakir <74243531+utkubakir@users.noreply.github.com>
2023-04-14 21:21:21 +00:00
Utku
b6c0b6a826 Prettier & Format (#668)
* format

* fix lint issues
2023-04-04 05:39:07 +00:00
Utku
abeebcfd88 Mobile CI with Tests (#631)
* stuff

* stuff (but for android)

* test mobile ci

* move pnpm up

* install ndk

* add ios & cleanup

* onboarding flow test

* test ci

* fixes, cleanup, caches

* why you do this cargo

* fix pnpm-lock

* add path to build rust script?

* ci is fun

* yolo

* fix broken flow..

* fix pnpm

* probably not gonna work

* test x2

* use real branch of pcr

* android emulator and try ios x2

* Use react native architectures, instead of all.

* override architecture to speed up android build

* protoc & build android on macos too

* fix java ndk

* android gradle

* disable ios for now

* use simulator sdk & debug configuration on ios build

* cleanup

* avd test

* fix avd settings.

* only build for x86_64 on ci

* Fix ios build

* Add IOS testing

* maestro script

* ios release build & wait for library creation

* clean up and disable android for now

* fix pnpm-lock

* Add concurrency to cancel previous runs

* fix pnpm-lock

---------

Co-authored-by: Brendan Allan <brendonovich@outlook.com>
2023-04-03 08:12:28 +00:00
Ericson "Fogo" Soares
2609f69282 Eng 372 location awareness improvements (#612)
* Complying with a pedantic Clippy

* Solving duplicated directories events
When creating a directory through MacOS's Finder, for some reason
FSEvents receives 2 Create Folder events that we have to handle

* Handling moving to trash bin and restoring on Mac
Still missing the feature to restore a directory and its children

* Now handling creation of empty files on MacOS

* Enabling restore of directories and its children

* Now working: moving a directory to another
inside the same location

* Now Indexer also remove file_paths not on fs

* Enabling multiple file moves on location watcher

* Fix Windows conditional compilation issues

* Fixing cas_id generation and bumping some deps

* Many Windows specific improvs and some refactors

* Rust fmt

* Using conditional compilation on extract inode function

* Linux fixes and some MaterializedPath improvements

* Rust fmt again

* Introducing tick behavior on location watchers

* Making LastFilePathIdManager more atomic

* Some vscode launch configs for lldb debugger

* Simplifying some lifetimes

* Making all watchers more consistent
2023-03-31 04:59:33 +00:00
Utku
ca6ec598d4 Onboarding, Spacedrop & Location Settings Screen & Styled API (#596)
* fix wrong current lib logic

* add delete lib dialog to LibraryGeneralSettings

* add delete lib to mobile LibraryGeneralSettings too

* onboarding screens

* move zxcvbn to @sd/client

* get started screen and bloom

* merge fix

* move generatePassword back to interface

* add useZodForm to mobile and match react-hook-form versions

* new lib screen

* Implement styled api

* create lib screen and some tweaks

* password input

* fix password meter comp

* new library style tweaks

* Fix remove password bug (interface)

* master password screen

* privacy screen

* creating lib screen

* hexagons are cool

* Expo 48

* keyboard handling

* fix P2P on IOS

* fix types

* asset script

* new icons

* Spacedrop screen

* Fix mobile asset imports

* fix import cycle warning

* Edit Location Settings screen and style changes on other setting screens

* fix library creating bug? hopefully lol

* move PasswordMeter to interface

---------

Co-authored-by: Oscar Beaumont <oscar@otbeaumont.me>
2023-03-17 02:00:02 +00:00
Ericson "Fogo" Soares
12a437ffb6 [ENG-371] Subpath shallow re indexing (#599)
* Introducing sub path indexing for IndexerJob

* Introducing shallow indexer job

* Some feature flags to avoid warnings at pnpm prep

* Many fixes at shallow indexer job

* Changing how we implement the bookkeeping for file_path ids
Now we're account for independent locations, and also integrating
better with the LibraryContext, instead of using a static global

* Making indexer job reentrant

* Introducing shallow file identifier job
And a bunch of minor refactors

* Rust fmt

* Removing light scan from getExplorerData query
Light scan is a mutation, so we can call it on useEffect function from
the Explorer component in the frontend, when a location_id or the explorer
path changes

* Handling job early finish on init for identifier

* Only invalidate query if we have orphan paths

* Introducing ShalowThumbnailerJob

* Clippy warnings about `into_iter()`

* Naming scheme for Prisma's selects and includes

* Invalidating getExplorerData at thumbnailer

* Small mistakes lol

* Some nitpicks with pnpm prep

* Rust fmt

* Changing indexer's walk log to `trace!`

* Not deleting all file_paths on location fullRescan

* TS typecheck

* Removing `file_path` selection just with id
2023-03-10 16:25:58 +00:00
Ericson "Fogo" Soares
ae41b1a0f4 Fix unique constraint on file path table (#585)
* Complying with a pedantic Clippy

* Some task runners for vscode

* Solving duplicated directories events
When creating a directory through MacOS's Finder, for some reason
FSEvents receives 2 Create Folder events that we have to handle

* Damn rustfmt
2023-03-02 02:36:49 +00:00
Utku
adb322b9f3 Tailwind Prettier Plugin (#557)
* add tailwind prettier plugin + run prettier

* add eslint tailwind plugin and eslint fix to turbo

* Ran eslint fix + fixed every other lint issues

* twStyle and lint stuff

* remove auto lint as it's buggy

* update eslint & add twStyle to tailwind regex

* Fix auto lint + config inconsistencies

* Add tailwind config to prettier config

* run lint:fix

---------

Co-authored-by: Brendan Allan <brendonovich@outlook.com>
2023-02-16 07:04:19 +00:00
Utku
17865a6c96 Mobile - Settings & Tags (#479)
* Sync tailwind configs

* Switch to new colors part 1

* new colors part 2

* switched to new colors

* settings screens template

* settings progress

* Setting header titles

* Refactor settings icon

* Fix tsconfig relative path issue

* Move mobile eslint config to @sd/config

* Add no-restricted-imports rule to eslint

* rename TextInput to Input & tailwind font sizing

* General Settings screen + Card component

* Library settings screen & delete lib dialog

* autoform hook

* Mini tweaks and new packages

* Exclude android & ios from search

* Add Switch (Input)

* Library General settings screen

* Refactor settings + Switch and Switch Container

* Locations screen & delete and rescan locations

* Rename folder + small tweaks

* Make things Swipeable

* Create Tag Dialog with color picker

* Upgrade to Expo 47

* More tag stuff

* fix pnpm lock

* regen pnpm-lock

* Change CI node version to 16

* Move `isVideo` into shared package

Co-authored-by: Oscar Beaumont <oscar@otbeaumont.me>
2022-12-13 15:18:03 +08:00
Jamie Pine
4b9b8f335f refactor switch component + update styles 2022-10-21 21:50:47 -07:00
Oscar Beaumont
fc1c6d0906 upgrade rspc 2022-10-02 01:16:11 +08:00
Jamie Pine
6796262619 Added crates folder (#389)
* restructure core for crates folder

- improve naming consistency
- added placeholder files for near future code
- added docs

* - removed all typescript from core
- moved rspc bindings to client

* remove useless git ignore & rustfmt
2022-09-29 21:02:29 -07:00
Jamie Pine
b63c48ad47 fix window resize with virtualizer 2022-09-04 15:58:51 -07:00
Jamie Pine
d16fdedd3d valtio 2022-09-04 15:58:16 -07:00
Jamie Pine
75f9e34a6c Explorer Grid View (#334)
added grid view, as well as:
- moved location context to client lib
- merged library settings with main settings
- added some missing settings
- removed demo locations due to FileItem props syntax change, they are currently being replaced anyway by Oscar in another PR
- added functioning favorite button to the inspector, that works now
2022-07-14 13:50:48 -07:00
Jamie Pine
efd322c6d7 Location Settings (#302)
* Delete locations

+ Show online status

* style tweaks

* tweaks

* location rescan button

* fix location delete db locking bug

* opting to remove self referencial relation on file_path

* correct query

* consolodate migration

* consolodate migrations
2022-06-24 06:26:45 -07:00
Jamie Pine
7f826b2a94 (fix) job queue
- adding a location performs all jobs
- better logging for thumbnailer
2022-06-22 04:40:45 -07:00