* feedback popover with new api
* allow unauthed feedback
* add login information
* allow no auth
* fix hooks
* remove emoji on reset
* show cancel on left of login button
* clippy -_-
* migrations
* alter the migration so it just renames the `dimensions` field (no db re-creation required)
* remove confusing semver addition for `libheif-sys`
* remove warning on the migration as it's just a rename
* add sort opts for resolution and date image was truly taken
* major serde ckeanup & add epoch_time and pixel_count
* rename, cleanup et optimise
* clippy
* ignore this mess
* bindings
* add explanation to schema
* comment out dt test
* better comment and WIP time
* cleanup rust
* failed timezone attempt
* remove image resolution as a sort by option
* update schema (and rename the dimensions table instead of dropping it)
* just show raw date
* add comments and update bindings
* fix migration hopefully
* fix broken migration
---------
Co-authored-by: Jamie Pine <32987599+jamiepine@users.noreply.github.com>
Co-authored-by: Jamie Pine <ijamespine@me.com>
Co-authored-by: Vítor Vasconcellos <vasconcellos.dev@gmail.com>
* Add onLoad and onError listeners to FileThumb
- Show toast when Original file fails loading in QuickPreview
- Formatting
* Fix close toast not working when QuickPreview was open
* Fix panic when serving unsupported files
* Formatting & lint
* folder
* wrote function
* Abstracting duplicate on file name
* Spliting between ephemeral and indexed
* Now with more type safety
* Forgot to prep
* location + path based
* bruh
* link frontend + error toast
* strip main separator
* dumb
* bruh
* create directory
Co-authored-by: Brendan Allan <Brendonovich@users.noreply.github.com>
* make some reactivity happen
---------
Co-authored-by: Ericson Fogo Soares <ericson.ds999@gmail.com>
Co-authored-by: Brendan Allan <brendonovich@outlook.com>
Co-authored-by: Brendan Allan <Brendonovich@users.noreply.github.com>
* derive `Type` on `*Extension`
* update `image`, `webp` and add `rspc::Error` support to the `sd-images` crate
* rename function for verbosity
* cleanup clippy allows and use scaling fn for svg conversions
* remove dead comment
* specify `generic` image extensions and add fn to enumerate all compatible extensions
* re-exports and inline hot provided method
* another inline on a provided method
* `formatter` -> `handler` and return an explicit error if the extension isn't supported, and add `convert_image()`
* `get_ext()` inlined helper fn
* add mutation for conversion and query for getting all supported extensions
* fix `svg` scaling and generation
* update bindings
* rm old const
* temporary test for all exts
* verbosity and no manual drop
* remove dbg test
* big enum and remove `cur` extension as `image` doesn't support it
* add huge extension enum
* hopefully get path from file path id and location id
* main merge fix
* chore: update toml and lockfile
* security: update webp
* comment entire crypto crate for build times
* add bincode, huge enum and custom ser/de
* Revert "comment entire crypto crate for build times"
This reverts commit 458addaad6.
* lockfile
* theoretically working ser/de
* add svg scaling
* fix pdf matching bug and use options
* move image scaling fn
* major consts overhaul with good ser/de
* disable heif checking for now due to new trait api
* make the generic handler truly generic
* fix pdf types
* fix pdf scaling so that it's 120dpi A4 paper size by default - height/aspect res are maintained
* heavy cleanup
* note to myself
* bindings & update core to use the scaling fn from the images crate (reducing code dupes)
* move vulnerable `aovec` to be a dev dep so it stays out of release builds (it's only used in tests)
* remoev exif crate from the core as it's handled in a sep. crate
* silence a clippy warning and update lockfile
* lower the maximum file size a slight amount
* bindings and minor dep bumps
* Some improvements
---------
Co-authored-by: Ericson Fogo Soares <ericson.ds999@gmail.com>
* - added local section to sidebar
- added spacedrop screen, showing local peers
- added placeholder network screen
-removed unused swift package
- created a watcher for system volumes to invalidate ui when drives are added/removed
* clouds
* fix more imports
* see more
* open location if volume is location
* gen assets
* remove log
* [ENG-939, ENG-1173] PDF Thumbnails (#1242)
* sd-pdf
* Process PDF blocking render inside a spawn_blocking
- Load a single global Pdfium instance
* Migrate pdf thumb logic to sd-images
- Replace block_in_place with spawn_blocking
- Only load LibHeif once
- Allow thumbnailer (both indexed and non-indexed locations) to process documents
- Disable loading pdf viewer in Inspection in favour of loading it's thumbnail
* Try to load pdfium lib from absolute path
* Revert removed import due to rebase
* Small nitpick and some warnings
---------
Co-authored-by: Ericson Fogo Soares <ericson.ds999@gmail.com>
* [ENG-888] Media view should show current folder downward (#1437)
* Done but ugly
* layout
* Now with a select
---------
Co-authored-by: ameer2468 <33054370+ameer2468@users.noreply.github.com>
* add cool folder thing to inspector + stuff
* fix text color
* fix lock
* fix typescript
* fix ts
---------
Co-authored-by: Utku Bakir <74243531+utkubakir@users.noreply.github.com>
Co-authored-by: Vítor Vasconcellos <vasconcellos.dev@gmail.com>
Co-authored-by: Ericson Fogo Soares <ericson.ds999@gmail.com>
Co-authored-by: ameer2468 <33054370+ameer2468@users.noreply.github.com>
Co-authored-by: Brendan Allan <brendonovich@outlook.com>
* append ` (x)` to files when duplicating, renaming or pasting instead of overwriting
* cleanup commented code
* fix renames
* rustfmt
* remove unused item
* Small tech debts and some nitpicks
* Bug with appending number on duplicates
* A bug on my new impl
---------
Co-authored-by: Ericson Fogo Soares <ericson.ds999@gmail.com>
* sd-pdf
* Process PDF blocking render inside a spawn_blocking
- Load a single global Pdfium instance
* Migrate pdf thumb logic to sd-images
- Replace block_in_place with spawn_blocking
- Only load LibHeif once
- Allow thumbnailer (both indexed and non-indexed locations) to process documents
- Disable loading pdf viewer in Inspection in favour of loading it's thumbnail
* Try to load pdfium lib from absolute path
* Revert removed import due to rebase
* Small nitpick and some warnings
---------
Co-authored-by: Ericson Fogo Soares <ericson.ds999@gmail.com>
* 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
* Move postinstall script to a preprep script
- Fix libheif crate failing to build with our libheif
- Rework CI due to postinstall to preprep changes
* Linux heif build script + Update webp
* Fix ctrl+c/ctrl+v bug
* Improve libheif linux script
- Add support for linux aarch64
- Add CI workflow to build libheif for linux
- Some other misc fixes
* Fix libheif CI requires sudo
* Fix wrong path for libheif build.rs override in Windows
* Fix wrong path manipulations in libheif build script
* 🤦
* Use ubuntu-latest in libheif action
- Specify glib version in target triple to support old distros
- Fix libheif artifact publishing
* Fix artifact upload path again
* Add musl support for libheif
- Remove unused files from libheif artifact
- Add setup logic for libheif in postinstall script
* Build libheif for linux as a shared lib
* Fix meson not building the correct arch
- Add logic to get git branch from githubs CI env vars
* libheif finnaly works on linux
- Make spacedrive binary rpath point to where appimage and deb expects our libs to be
- Add some logic to tauri.js to convince tauri to bundle our shared libs
- Work-around appimage bundling step breaking sometimes
- Add logic to handle sigint in tauri.js to ensure we clean up after ourselves
- Rename postinstall.mjs to setup.mjs
- Add logic to setup.mjs to point our dev build to our shared libs in linux
* Fix windows dekstop dev
- Rename setup.mjs to preprep.mjs
* test cache-factory
* Fix preprep script not parsing the cross compilation target triple and always using the host info to download dependencies
- Fix action env vars not being correctly passed
- Remove possibility to pass multiple targests to rust action
* Don't compile mobile crates on desktop targets
* Remove cache-factory pull_request trigger
* remove patched tauri cli
* Use git plumbing command to get remote branch name
- Fallback to reading .git/HEAD if remote name was not retrieved
* fix type
---------
Co-authored-by: Brendan Allan <brendonovich@outlook.com>
* Handle large text files
* wip
* nit
* Fix syntax highlighting
* Requiring an API call for my dev builds, no shot
* backend for line counting + wip frontend
* 600 lines is too much for this file, ngl
* wip: `LimitedByLinesBody` & some more restructuring
* Virtualised list for QuickPreview
* yeet bad ideas
* general cleanup + hack to fix broken toml
* fix
---------
Co-authored-by: Utku <74243531+utkubakir@users.noreply.github.com>
* Setup script revamp
* Move toml to dev dep + CI runs the postinstall in debug mode
* Fix windows CI
* chmod +x scripts/setup.sh
* Fix eslint and ts CI
* Remove binstall + Fix trying to read input in CI
* Doesn't need to check pnpm and rust in CI
* Run postinstall script for Clippy CI
* Attempt to fix windows CI not running postinstall
- Ignore cache when running postinstall on CI
* commited generated config.toml by mistake
* Pass GITHUB_TOKEN to `pnpm i`
* Update archive-wasm + Increase minimum node version to 18.17
* CI: Move rust setup after post-install script
* Revert: CI: Move rust setup after post-install script
* Fix CI, generate dummy cargo config.toml to fix prisma generation
* Fix windows CI
* CI: Fix wrong command
---------
Co-authored-by: Utku <74243531+utkubakir@users.noreply.github.com>
* Fix warnings
* Working when doing a full location indexing
* Directory size calculation for sub_path indexing
Also for shallow indexer
Now shallow indexer dispatches sub_path scans when it finds a new folder
* Directory size calculations in the watcher
* Pass directory sizes to sync system
* Life is a lie and nothing makes sense
* consistent version
* Web uses the relative alias resolver it would seem
---------
Co-authored-by: Utku <74243531+utkubakir@users.noreply.github.com>
* Handling temporary files events on MacOS
* Debouncing create and update events
* Take files being updated for a long period
of time into account
---------
Co-authored-by: Utku <74243531+utkubakir@users.noreply.github.com>
* sd-images crate which will support raw/dng, bmp, etc
* more work on the image formatter
* re-work `sd-images`, add svg support, r/g/b and r/g/b/a HEIF image support (will all be async again soon)
* remove `ImageFormatter`, add note about r/g/b/(a) heif impl
* implement the image formatter
* rename the conversion trait and minor cleanups
* isolate heif feature and major cleanup
* very untested raw support
* change fn name to `from_path` (a lot more idiomatic)
* clean up orientation fixing
* heif is no longer forbidden (linux has good heif)
also all extensions are correctly matched in lowercase
* fix builds, ext matching, feature gating
* attempt to fix svg handling?
* raw attempt, quite a few errors
* add comment
* new (untested) attempt
* remove `raw` stuff for now
* replace `sd-svg` with a `ToImage` `SvgHandler` impl
* add some simple math to appropriately scale thumbnails (and bmp/ico support)
* add comments regarding how the math works for image thumbs
* rename the trait to `ImageHandler`
* Add range to `SpaceblockRequest`
* Determine if file should be served from P2P
* Feature flag serveFromP2P + fix `ServeFrom` logic
* wip: yeet files over P2P
* Just work, argh
* restore backend feature flags after restart
* cleanup
* apply clippy lints to the entire ffmpeg crate in hopes of making it safer
* wording
* revert the prisma changes
* fix typo
Co-authored-by: Oscar Beaumont <oscar@otbeaumont.me>
* fix another typo
Co-authored-by: Oscar Beaumont <oscar@otbeaumont.me>
* remove so many `#[must_use]`s
* fix bad merge and hopefully clippy
* clippy please work i beg
* make HEIF_EXTENSIONS always available
---------
Co-authored-by: Oscar Beaumont <oscar@otbeaumont.me>
Co-authored-by: Brendan Allan <brendonovich@outlook.com>