* fix(core): thumbnail removal
* chore(core): add todo
* New actor on steroids
* Improving thumbnail remover actor
* Ignoring errors from files that doesn't exist
---------
Co-authored-by: Ericson Soares <ericson.ds999@gmail.com>
* ffs
* typo
* yeet library data over p2p
* fix a bunch of edge cases
* report complete status on responder
* better log
* fix types
* mobile debug screen
* mobile + P2P is a mess
* feature flag mobile p2p pairing
* wrong one
---------
Co-authored-by: Brendan Allan <brendonovich@outlook.com>
* Trying to make watcher more resilient between creates and updates
* More checks on create vs update
* Rust fmt
* PCR rev
* Windows CI fix
* Some indexer improvements
* Builder pattern for jobs and reports
* fix list view invalid date
* fix progress bar
* Normalizing job metadata output
* fixed job metadata
* Removing inner report struct from identifier job
---------
Co-authored-by: Jamie Pine <32987599+jamiepine@users.noreply.github.com>
Co-authored-by: Utku <74243531+utkubakir@users.noreply.github.com>
Co-authored-by: Jamie Pine <ijamespine@me.com>
* yeet
* destructure `JobState` when passed to `finalize`.
Let him cook.
* `impl Job for JobInitData` instead of it being `Job::Init`
The pan is on high heat and the 3 sh-meats are coming out.
* Remove `JobInitData` & `IntoJob` & `Job::new`
* clean up a little
* Remove `Job.stateful_job` in favor of `Job.state.init`
Yeah this isn't great but lets get these changes working and then think again about it.
* Properly call `StatefulJob.finalize`
* she'll be right
* fix `initialize_resumable_job`
* builder syntax for creating jobs
* Have Rust gone too far?
* Minor fixes
* fixes
---------
Co-authored-by: Ericson Soares <ericson.ds999@gmail.com>
* set date_created to tag
* update tag date modified when edited
* use `FIxedOffset` for tag `date_created`
* remove dead code and use fixedoffset
* discard duplicate code
* remove dead code & add current time to field
* remove unused code
* no longer needed in data
* set creation time for tags
* fix tag creation time
* fix & finalize timestamps
* `update_many` was not needed here
---------
Co-authored-by: brxken128 <77554505+brxken128@users.noreply.github.com>
* Fixing some warnings
* Optimizing job workers
* Removing the delay from getting job reports
* remove some commented out stuff
* Trying to optimize job report route
* fix thread 'tokio-runtime-worker' panicked at 'attempt to subtract with overflow'
* fix progress bar
* Now pause works from the UI
* Fix
* Now the worker set job report to paused
* show errors for job pause/resume
* bunch 'o ui fixes
* order location in the sidebar
* fix some text
* fix clear all jobs
* fix clear jobs & job group ui
* show queued jobs
* object validator job text
* make cancel button work
* better executable logo
* Now cancel button works instantly
* disable resume button
* remove disabled props from pause/resume buttons
* remove large comments
* show paused progress
---------
Co-authored-by: James Pine <ijamespine@me.com>
Co-authored-by: Jamie Pine <32987599+jamiepine@users.noreply.github.com>
* Fixing copy, cut and paste
* Bug on duplicating files without extensions
* Fix paste only ignoring the location origin when validating relative paths
- Add Error handling to all context menu actions
- Hide FS actions in Overview and MediaView
- Remove redundant useExplorerSearchParams
- Add default schema to the Zod param hooks
* Hide FS actions in all Explorers but location ones
- Fix react warnings in RenameTextBox
- Fix ReactTextBox not selecting the whole file name, instead of just up to file extension
- Fix react warning due to inputing missing onChange
* basic show jobs for cut, copy and delete in job manager
* tweaks
* Fixing some warnings and minor tweaks
* Rust fmt
* Fix cut between locations on Linux
* Change how routes retrieve route params
- Replace useZodRouteParams with useLoader
- Define all schemas in the router file instead of in the route Component
- Parse schema in loader to avoid requiring the route Components having to import the schema from the router file
* Remove default argument from useZodRouteParams
---------
Co-authored-by: Vítor Vasconcellos <vasconcellos.dev@gmail.com>
Co-authored-by: Jamie Pine <32987599+jamiepine@users.noreply.github.com>
Co-authored-by: James Pine <ijamespine@me.com>
* 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>
* 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>
* 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
* 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>
* 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
* working HEIC thumbnails
* better error handling
* better error handling and some cleanup
* fix type of maximum size, and clippy
* better extension support, WIP quick preview, better image resolution
* remove unnecessary x86_64 macos rustflags
* add correct rustflags to setup script
* add fedora libheif deps
* debian libheif deps
* arch libheif too
* add sd-heif as a dep and feature gate it
* enable aforementioned feature in tauri only
* add URI support for heif/heic (quick preview still won't work)
* correct feature gating on everything
* dedicated sd-heif crate
---------
Co-authored-by: brxken128 <77554505+brxken128@users.noreply.github.com>
* WIP materialized_path abstraction revamp
* Optimizing indexer rules loading
* Using a better serialize impl for indexer rules
* New interruptable and faster Walker
* WIP new indexer
* WIP first success compiling after breaking the world
* Fixing some warnings
* Handling some lifetime issues in the walker
* New job completed with errors feature
* Introducing completed with errors to indexer
Removing IOError variant from JobError and using FileIOError instead
* Rust fmt
* Adding missing job status
* Better ergonomics to IsolatedFilePathData
Conversions from db's file_path kinds
Keeping original's relative path data to better conversion to OS's path
First unit tests
* Testing and fixing parent method
* Some error handling
* Rust fmt
* Some small fixes
* Fixing indexer rules decoding
* Bunch of small fixes
* Rust fmt
* Fixing indexer rules
* Updating frontend to new materialized_path format
* Trying to fix windows CI
---------
Co-authored-by: Brendan Allan <brendonovich@outlook.com>
* d
* wip
* Nit: margin and padding tweak
* UI design tweaks
* Update Job.tsx
* Improve UI
* [WIP] - Refactor job manager
* remove invalidate explorer event on thumb generation. the event above performs atomic updates on the front end when new thumbnails are generated, now just need to make that work
* prettier formatting + removed unused imports
* UI tweaks
* progress bar width adjustment
* tweaks
* fix em
* fix thumbnail generation
* fix progress bar
* fix time
---------
Co-authored-by: Jamie Pine <ijamespine@me.com>
Co-authored-by: Brendan Allan <brendonovich@outlook.com>
Co-authored-by: Oscar Beaumont <oscar@otbeaumont.me>
* source `has_thumbnail` correctly
* correctly check if thumbnail exists in watcher
* regen bindings
* add helper fn for getting thumbnail directory and cleanup old thumbnails if the watcher creates a new one
* give file paths pub_id and use it primarily
* fix object indexing
* file path location + sync
* remove future plan
* use id instead of pub_id for more indexer queries
* use chain_optional_iter
---------
Co-authored-by: Oscar Beaumont <oscar@otbeaumont.me>
* add basic UI protection to stop cut/copies to the same path
* add rust src/dest protections
* fix pasting logic
* fix path canonicalization
* skip paths instead of overwriting them
* Using non-blocking ops and fixing some warnings
---------
Co-authored-by: Ericson Soares <ericson.ds999@gmail.com>