Commit Graph
365 Commits
Author SHA1 Message Date
Ericson "Fogo" SoaresandBrendan Allan de85f00efc [ENG-768 / ENG-769] Regen thumbnails / Generate checksums (#983)
* Making sub_path api for jobs harder to misuse

* re-enable context menu options

---------

Co-authored-by: Brendan Allan <brendonovich@outlook.com>
2023-06-21 12:55:19 +00:00
Brendan Allan c6786f0c3f Better tag unassign (#989)
better tag unassign
2023-06-21 12:22:20 +00:00
jake aa57b153a7 Remove useless clone from mutation (#988)
* remove useless clone from mutation

* fix clippy too
2023-06-21 10:53:49 +00:00
jake ccaf8ad1c6 Fix tag removal (#985)
fix tag removal
2023-06-21 08:47:59 +00:00
Oscar BeaumontandBrendan Allan 37bf788ca5 [ENG-685] Sqlite Multithreaded (#917)
* pragma moment

* Try socket_timeout?

* bye

---------

Co-authored-by: Brendan Allan <brendonovich@outlook.com>
2023-06-20 20:09:52 +00:00
Ericson "Fogo" SoaresandBrendan Allan 437f18081a [ENG-743 / ENG-744] Duplicate item / Delete explorer item (#977)
* Fixing a bunch of small bugs related to FS

* cleanup

---------

Co-authored-by: Brendan Allan <brendonovich@outlook.com>
2023-06-20 09:44:13 +00:00
Brendan Allan 5df37d3a2d Do all category logic on server (#972)
* do all category logic on server

* cleanup
2023-06-19 12:21:32 +00:00
Brendan Allan fdda0dd280 Fix categories queries (#971)
* more stringent hidden filter check

* add missing migration case

* don't do sync stuff when sync disabled

* remove old stuff
2023-06-19 11:28:07 +00:00
Oscar Beaumont 43647479a9 ordering for create library is wrong (#970) 2023-06-19 09:01:56 +00:00
Oscar Beaumont 0f7a669e5a [ENG-732] Pairing by library (#943)
* library keypair

* allow opening stream to non-connected node + more

* library identity

* fix types

* fix maybe undefined

* don't forgor migrations file

* library manager inside p2p manager

* rename

* `NodeInformation` struct

* node info exchange

* fill in info

* streamify tunnel

* use tunnel for p2p events

* libp2p is annoying + stop leaking private key's

* Clippy cleanup
2023-06-19 05:13:30 +00:00
Brendan Allan 6975ebb664 Replace some default fields (#968)
replace some default fields
2023-06-19 00:48:38 +00:00
Brendan Allan d683d22c82 Remove owned sync (#967)
* remove owned sync + cleanup

* no more atomic records

* byebye owned

* remove owned ops from schema
2023-06-18 23:45:06 +00:00
Brendan Allan 2d703f2648 Make indexer rules optional (#965)
* optional indexer rules

* lockfile
2023-06-18 22:13:55 +00:00
Oscar Beaumont fd1afd8500 [ENG-568] Spacedrop Progress (#956)
* `Transfer` struct

* progress moment

* fixes
2023-06-18 08:40:51 +00:00
Jamie Pine 3198a9bdb6 [ENG-747] Indexer rule for Apple Photos .photoslibrary (#963)
photo library indexer rule + memorized video playback volume
2023-06-17 10:33:04 +00:00
Brendan Allan 019459194d Make Job table all optional (#958)
optional time
2023-06-16 09:20:53 +00:00
af23ef69d3 [ENG-745] App Startup Issue (#957)
* theoretically

* just please don't fail man

* bruh

* go away serde

* fix migrations

* squash migrations

* plz for the love of all that is good work

* disable some node fields

* fix core types

* remove unused stuff

* regenerate migrations

* Fix error boundry

* undo stuff

* migration

---------

Co-authored-by: Brendan Allan <brendonovich@outlook.com>
Co-authored-by: James Pine <ijamespine@me.com>
2023-06-16 07:53:21 +00:00
dd464a2953 [ENG-686, ENG-670, ENG-669] Improved Job Manager (#907)
* refactor job manager ui

* huge improvements to job ui api

* improve indexer errors

* minor improvements

* make icon bigger + improve styling

* Update useJobInfo.tsx

better

* improve job status reporting

* fix job indexer backend for ui responsiveness

* attempt at debugging job.getRunning slow invalidation during indexer's walk phase

* remove progress debounce, invalidate has its own throttle layer

* hotfix ghost jobs

* basic pause/resume

* pause functionality immaculate

* pause resume working for first job in group, testable on indexer phase two

* WIP
- refactored job manager
- added better job api

* fix merge issues

* add throttle to job update events and correct index

* improve front end job data handling

* move subscription to job

* wip active job indicator

* minor tweak

* Isolated subscriptions for job events + cleanup

Co-authored-by: Brendan Allan <Brendonovich@users.noreply.github.com>
Co-authored-by: Oscar Beaumont <oscar@otbeaumont.me>

* mutable ctx

* plz let me build rspc typesafe errors Jamie

* fix merge

* working job reporting

* fix thumbnail text

* faster tick speed

* fix error

---------

Co-authored-by: Brendan Allan <Brendonovich@users.noreply.github.com>
Co-authored-by: Oscar Beaumont <oscar@otbeaumont.me>
2023-06-16 03:49:02 +00:00
Brendan Allan 01565b0130 remove duplicate new function (#955)
stupid
2023-06-16 01:49:11 +00:00
Brendan Allan 9a25373a94 Optional filepath + object fields (#947)
* rust changes

* fix ts

* formatting

* linter's a little baby

* mere

* address review comments
2023-06-16 00:22:11 +00:00
Ericson "Fogo" Soares 6ab6670102 [ENG-645] Location watcher doesn't always work (#954)
Watcher bugs:
When a file was in the location root directory, it failed to fetch its
parent directory from DB, as we don't store the location root directory
2023-06-15 23:21:09 +00:00
Oscar Beaumont 3d224e02ad [ENG-675] Spacedrop is 0kb (#942)
* fix sd-web

* pain

* unit tests are pog

* Ignore `sdserver_data2`

* Update mod.rs
2023-06-15 00:32:54 +00:00
Ericson "Fogo" SoaresandUtku e693c7a542 [ENG-381] Update context menufs actions to support multiple source (#927)
* Generalizing filesystem jobs to accept multiple files at once

* Some small changes and fixing front

* Enable rename route to replicate Finder's behavior

* Assign tag to multiple objects at once

* Remove from recents accepting multiple files

* Fixing some warnings

* Adding multiple files feature to Open and Open With

* Conditional stuff for macos

* Generating commands.ts and other minor warnings

* Rust fmt

* TS typecheck

* Rust format and TS typecheck

* Requested changes

* Requested changes

---------

Co-authored-by: Utku <74243531+utkubakir@users.noreply.github.com>
2023-06-14 23:00:28 +00:00
Oscar Beaumont 1889a767e8 [ENG-723] Feature flags on frontend (#941)
* fixes

* refactor client

* feature flag store

* move `locations.online` subscription into context

* `useDiscoveredPeers` hook

* remove it

* bruh

* Valtio is cringe

* mount p2p events provider
2023-06-14 00:48:54 +00:00
Oscar BeaumontandBrendan Allan 923a0ceee1 [ENG-698] Stop leaking pk (#934)
stop leaking pk

Co-authored-by: Brendan Allan <brendonovich@outlook.com>
2023-06-12 18:03:12 +00:00
Brendan Allan 7148209343 [ENG 709] Make all location fields optional (#930)
* in progress

* make all location fields optional

* generate migration

* fix formatting

* formatting
2023-06-12 17:52:51 +00:00
Oscar Beaumont 4dc9ab53be [ENG-703] Fix up errors (#919)
* wip

* temp

* rspc logging be like

* pass through inner errors
2023-06-12 06:10:00 +00:00
Vítor Vasconcellos 1c7855ded6 [ENG-630] Windows ffmpeg + libheif custom build (#871)
* Initial Windows ffmpeg + libheif custom build

* Add build steps for most of ffmpeg deps

* FFmpeg deps and libheif

* Fix libheif build

* Fix libvpx and dlfcn + attempt to fix rav1e

* Rework the whole ffmpeg-windows build system
 - New system based on https://github.com/BtbN/FFmpeg-Builds
 - Add new ffmpeg-windows workflow
 - Rename macos ffmpeg workflow
 - Adapt macos setupt script due to above name change

* Forgot to update update the workflow name

* Strip all libs from debug symbols

* Add docs

* Add libde265 deps, required by libheif
 - Make x265, svtav1 and dav1d as shared deps (used by both ffmpeg and libheif)

* Add missing libheif to Linux setup script

* Fix libx265 build script

* Forgot to point x265 ninja install to the correct directory

* Remove libaom and libsvt-av1
 - dav1d and rav1d are our default AV1 decoders/encoders
 - Quote subshell executions
 - Make libweb shared

* Forgot to remove libaom and libsvt-av1 build steps

* Fix typo

* Try force webp to link against static libs

* Revert libwebp to a static build

* Dumb typo

* Modify windows script to download our ffmpeg build (WIP)

* Fix dlls output folder structure

* Fix dumb mistake

* Remove unused ffbuild_enabled

* Enable core's heif feature on Windows
 - Fix windows ffmpeg build not including the headers
 - Fix windows setupt script incorrect download loagic
 - Implement build_arg to pass which repo ref to use when cloning

* Fix windows setup script

* Fix workflow artifact path
 - Make ffmpeg-windows dockerfile respect the FFMPEG_VERSION env

* Fix Windows setup script incorrect logic for downloading ffmpeg builds

* Error out when workflow_runs is empty

* Fix dumb mistake

* Manually define ffmpeg version for windows script

* Fix ffmpeg windows build extract logic

* Fix prop access in windows setup script

* Revert back to a web request because nightly.link does a redirect before serving the artifact content

* Fix windows setup script

* Do not use nightly.link in Github CI

* Fix windows setup script

* Should finally fix window setup script
 - Update ffmpeg-windows deps
 - Should fix ffmpeg-windows failing to build due to mingw changes in new base image

* Fix libxz failing to build due to doxygen

* Fix windows setup-script not executing till the end

* Fix LASTEXITCODE not defined

* Remove libjxl, deps are not being compiled

* Fix dll and lib copy logic

* Move final copy dll logic to external script

* Use main for libjxl

* Change brotli from stable to main
 - Attempt to fix libjxl

* Attempt fix lib copy again

* Split copy_dll logic to avoid cache burst in docker

* Missing file

* Change how to export build files from shared deps

* Replace rsync with cp

* Fix copy

* Fix dir not existing

* Fix pkgconfig

* Remove superflous files from exported ffmpeg for windows
 - Adjust dav1d to not build tools and examples
 - Adjust windows setup-script to point linker to the libs directory

* Fix dav1d meson config args

* Fix dumb mistake

* WORK PLZ

* Fix .lib file location
 - Strip all dlls

* Formatter
2023-06-10 15:23:37 +00:00
jake 277f9ce6cb [ENG-691] Comment/remove crypto code from main (#932)
* comment out a bunch

* re-comment encrypt and decryot

* no more crypto in main

* remove keys settings icon

* add `disabled` to sidebar link

* bingo
2023-06-10 12:14:50 +00:00
Brendan Allan 0b9aa35b18 Fix default system rules (#929)
* setup default rules properly

* run rules seeder on library load
2023-06-10 08:17:00 +00:00
Oscar Beaumont e2dec80a51 fix main (#928) 2023-06-08 11:26:13 +00:00
Jamie PineandUtku Bakir 8938ae6802 [ENG-708] Thumbnail sharding (#925)
* first phase, basic sharding

* improved API for sharding using a "thumbnailKey"

* clean up param handling for custom_uri

* added version manager with migrations for the thumbnail directory

* remove redundant hash of a hash, silly

* fix mobile

* fix clippy

---------

Co-authored-by: Utku Bakir <74243531+utkubakir@users.noreply.github.com>
2023-06-08 07:13:45 +00:00
Brendan Allan fd236a1b57 [ENG-679] Reserve ids for built in indexer rules (#909)
* indexer rules pub ids

* should work?

* better migrator

* errors

* debugging

* maybe?

* double migrate

* please

* maybe fix?

* update lockfile

* SD_ACCEPT_DATA_LOSS message

* put tracing back

* dumb

* fix system indexer rule ui
2023-06-06 14:42:52 +00:00
Oscar Beaumont 007e089fcf [ENG-697] Fix rename library (#916)
* random stuff

* How have we had a deadlock for 2 months lol
2023-06-06 11:41:39 +00:00
Oscar Beaumont 41933c8b80 [ENG-694] Remove Spacedrop (#914)
* goodbye Spacedrop

* fix startup error escaping

* fix error fallback being cringe with long error

* backwards compatibility for early adopters
2023-06-06 10:56:31 +00:00
Brendan Allan 73144faa30 Fix prod builds (#912)
move AbortOnDrop
2023-06-05 21:06:56 +00:00
Vítor Vasconcellos 350b7e39db [ENG-683] Fix tauri allow list (#897)
* Fix Tauri drag not working
 - Fix Mpeg videos compleatly breaking QuickPreview
 - Fix Dev build open data folder button not working
 - Fix MP4 videos freezing in QuickPreview on MacOS

* Fix React inter-component state error
2023-06-02 00:09:19 +00:00
Brendan Allan 9584dbd924 [ENG-684] Gracefully fail if location not available on startup (#899)
gracefully fail if location not available on startup
2023-06-01 11:29:09 +00:00
Brendan Allan 6daed1df1a [ENG-688] Invalidate search.paths in shallow operations (#901)
invalidate search.paths in shallow stuff
2023-06-01 11:28:50 +00:00
Brendan Allan 52ab4ced3b [ENG-689] Delete jobs during resume that don't exist in code (#902)
delete jobs during resume that don't exist in code
2023-06-01 11:28:07 +00:00
Brendan Allan d173cbcfaf [ENG-678] Hidden object filtering (#895)
object hidden filter
2023-05-31 10:56:36 +00:00
Oscar BeaumontandBrendan Allan 049966d848 [ENG-674] fix invalidation (#891)
* reenable the invalidate requests system

* a tester for the invalidate system

* watch locations in Library::load

---------

Co-authored-by: Brendan Allan <brendonovich@outlook.com>
2023-05-31 08:55:46 +00:00
Brendan Allan a2400b38d0 skip thumbnailing *ts video extensions (#890) 2023-05-31 07:11:44 +00:00
Brendan Allan e70fd4eba5 [ENG-662] Don't use job system for shallow operations (#886)
* make it work

* use functions instead of jobs for shallow stuff

* use generalised AbortOnDrop

* simplify naming

* error stuff + alphabetical rspc types

* log errors

* don't run CI on push

* remove ephemeral

* private Worker::new

* remove comments
2023-05-30 17:07:41 +00:00
5f71e0c1f6 [ENG-546] Improve error handling (#802)
* log to disk

* remove some unwraps

* panicless

* some p2p error handling

* clippy moment

* Fix `<ErrorBoundary />`

* open logs button

* 39 to 0

* fix types

* update deps and comment out broken tests

* clippy

* more clippy

* upgrade rimraf - https://github.com/isaacs/rimraf/issues/259

* regen broken lockfile

* update `notify` and update `commands.ts`

* more clippy (pls work)

* allow deprecated for p2p (hopefully temporary)

* a

* upgrade deps for p2p

* do betterer

* do it correctly

* remove unused import

* improve core startup error + bc keypair

---------

Co-authored-by: Utku Bakir <74243531+utkubakir@users.noreply.github.com>
Co-authored-by: brxken128 <77554505+brxken128@users.noreply.github.com>
2023-05-30 09:24:05 +00:00
Brendan Allan 8226d5e9f0 [ENG-588] Fix total capacity on macOS (#882)
* correct macos root volume handling

* DiskType enum
2023-05-30 06:25:35 +00:00
Brendan Allan 6710f05251 move prisma codegen into sd-prisma (#876) 2023-05-29 08:37:58 +00:00
Ericson "Fogo" SoaresandVítor Vasconcellos b86a30ae8a [ENG-613] Indexer rule whitelist/blacklist per rule (#847)
* Introducing many rules on a single indexer rule

* Rust fmt

* Some doc fixes and small stuff

* Small warnings

* Making front typecheks

* Migration fix

---------

Co-authored-by: Vítor Vasconcellos <vasconcellos.dev@gmail.com>
2023-05-25 19:27:31 +00:00
Vítor Vasconcellos 0676c40331 [ENG-651] Fix PDF rendering breaking app on macOS (#854)
* Fix macOS PDF rendering
 - Fix app crashing due to PDF rendering receiving empty URLs
 - Attempt fix PDF rendering empty PDFs due to it not supporting range requests

* Fix dumb change from `data` to `src` in `<object>`
 - Fix QuickPreview not closing with space bar
 - Fix double-click simultaneously renaming and opening file
 - Minor improvements to QuickPreview header
 - Fix Button inside Button react error in QuickPreview
 - Don't render thumb without a valid source

* ExternalObject events must not influence the link state
 - More macOS PDF range changes

* Use `<iframe>` instead of `<embed>` or `<object>` to load pdf in macOS
 - Revert removing range support for macOS pdf type
 - Rename `ExternalObject` to `PDFViewer`
 - Fix `AddLocationDialog` sometimes requiring multiple confimations on first load

* `Accept-Ranges: none` Header response as it breaks linux video playback
 - Extract location id from from `ExplorerItemData`, to allow rendering original versions on `Overview`

* Format

* cargo fmt
2023-05-25 06:34:18 +00:00
ea46e7736a [ENG-635] Job time estimation (#842)
* fix extension case sensitivity

* job time estimation wip

* update schema

* use `DateTime` to handle estimated completion time

* use a date with `dayjs`

* remove old migrations

* update migrations

* remove dead code

* Quick tweaks

* unused import

---------

Co-authored-by: brxken128 <77554505+brxken128@users.noreply.github.com>
Co-authored-by: ameer2468 <33054370+ameer2468@users.noreply.github.com>
2023-05-23 22:21:52 +00:00