* rebase: `crates/crypto` into current `main`
* refactor: remove `mnemonic` module
* feat: disable secure erase temporarily
* fix: tsc
* fix: tsc due to unused import
* fix: remove `cli` crypto info
* deps: update
* chore: remove dead comment
* refactor: remove `bincode` feature
* refactor: give `keyring` a dedicated feature so it's not reliant on `sys` as well
* fix: remove `aes-gcm` as it's no longer supported
* refactor: remove dead comment
* fix: update `keyring` imports
* refactor: change tests to `aes-256-gcm`
* feat: make `Key` a `Box<>` internally to ensure it's heap allocated (and fix tests)
* chore: clippy
* fix: hashing tests now that `const` keys aren't available
this will be cleaned up with test vectors and `include_bytes!()`
* chore: clippy
* refactor: remove dead code
* test: bring back `encrypt_with_invalid_nonce` test
* fix: secret service keyring
* fix: `zbus` build issues
* doc: update comment for clearer reasoning
* fix: cargo fmt
* fix: use bytes directly
* deps: update lockfile
* fix: secret service keyring
* fix: comment out windows keyring for now
* fix: use session keyring if no keyring backend
* fix: completely remove keyring module if no keyring is available for that OS
* fix: clippy
* fix: move iimport to correct conditional compilation
* fix: fmt
* Bunch of new warns due to a stronger clippy config
* Moving old processing stuff to a new namespace
Also fixing a bunch of typos through the entire codebase.
* Rustfmt
* Fix websockets over P2P + multi-node cache
* cleanup features
* Explorer over P2P demo
* wip
* wip
* working for ephemeral stuff
* Button to get out of remote viewer
* remove
* Cleanup
* more cleanup
* Fix cross-node library queries
* Files over P2P
* Drop `Header::File`
* Fix Clippy
* Don't let noobs get hacked
* 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>
* 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>
* Fix some problems with the AI system
- Fix downloading model using an internal rust string representation as path for the model file
- Fix Linux loading onnx shared lib from a hardcoded path
- Fix App should not crash when the AI system fails to start
- Fix sd-server failing to start due to onnxruntime incorrect linking
- Some extra clippy auto fixes
* Use latest ort
* Fix dangling sd_ai reference
- Use entrypoint.sh to initilize container
* Fix server Dockerfile
- Fix cargo warning
* Workaround intro video breaking onboarding for the web version
* Fix rebase
* 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
* 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
* response
* remove renames
---------
Co-authored-by: Brendan Allan <brendonovich@outlook.com>
Co-authored-by: nikec <43032218+niikeec@users.noreply.github.com>
* Initial port to appimage-builder
* Almost
* Fix appimage build on arm64
* Custom patch for external binaries run under appimage
- Disable bubblewrap sandbox when running under appimage
- Change cwd to APPDIR when running under appimage
* AppImage Works (for the first lunch, then it crashes with Stack Smash 😭)
* Fix stack smashing, now AppImage almos fully works \o/ (gstreamer is still broken)
- Temporarily disable the volume watcher when running under appimage (Workaround for the stack smash error)
- Wrap gnu lic version check for appimage under conditional compile for glibc targets
- Add error handling for the justUpdatedCheck
- Fix VITE_LANDING_ORIGIN being undefined
* On non glibc systems default to runtime/compat
* Use glibc version 2.8 instead of 0 for non-gnu systems
* Fix video playback not working due to broken GstRegistry
* Build and publish new AppImage release artifact
- Fix model location when building deb
- Improve model path resolution logic
- Remove patchelf dependency from setup script
- Fix incorrectly ignore gstreamer dependency in AppImage recipe
* Fix clippy complaining about `get_path_relative_to_exe`
- Read GLIBC_FAKE_VERSION or use 2.8 for musl in appimage (while the code is there, this is not really supported for now)
* Remove appimage tauri target from release CI
* Remove setup-buildx-action, not relly needed
* typo fix
* Fix git describe command running on cwd instead of the repo root dir
* Attempt fix weird git permissions errors in CI+docker
* Pass CI env to docker appimage
* Only use git after installing it
* Pass target to appimage build script
* Fix permission after creating appimage
* -_-
* Swap envvar with github ci var
* Format
* Add instruction on how to manually build an AppImage
* Fix typos
* docs: add note about running podman with `--privileged` if there's a permission denied error
* docs: fix typo and link directly to appimage-building `README.md`
* refactor: streamline code and make it a bit cleaner
---------
Co-authored-by: jake <77554505+brxken128@users.noreply.github.com>
* init
* changes
* Now updating statistics once a minute
* More robust statistics updater
* Concurrency is hard
* improvements to stats
* refactor
* adjust setting back/forward padding so it matches top bar
* refactor sidebar
* rename
* setting up screens
* some changes
* Co-authored-by: Brendan Allan <Brendonovich@users.noreply.github.com>
* yes
* yes2
* refactored explorerItem.ts
* important explorer code shouldn't be thrown away in a util moment
* support for multiple thumbnails in ExplorerItem
* clippy
* move debug
* yes
* label filters
* ts
* comment out unconnected stuff
* added .mid for midi files
---------
Co-authored-by: Ericson Fogo Soares <ericson.ds999@gmail.com>
Co-authored-by: Brendan Allan <brendonovich@outlook.com>
* Shit UI
* refactor a bit
* wip
* yeet
* farming the wry but it's stale
* Real-time hover event
* Hook with `Platform` + fix broken window-state plugin
* `DragAndDropDebug`
* Clippy
* revert Tauri v2 stuff
* minor
* probs not gonna work
* undo last commit
* a
* b
* c
* d
* e
* f
* g
* long shot
* 1
* no 7
* da hell
* large bruh moment
* lol
* zzzz
* SSH into CI
* yeet
* Tauri mouse position without new Wry
* go for gold
* Correctly lock `ort` version
* minor fixes
* debounce hover events
* WTF Tauri
* Replace DND hooks with goated versions
* wip frontend stuff
* fix ts
* disable library p2p stuff
* remove Spacedrop dialog + hook up backend
* `useOnDndLeave` working
* Close popover when drag outside
* Allow `openFilePickerDialog` for Spacedrop
* couple of fixes
* empty state
* smh
---------
Co-authored-by: Brendan Allan <brendonovich@outlook.com>
* 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>
* basic declared actor manager
* put actors in separate file
* clippy
* hopefully clean up some clippy warnings
---------
Co-authored-by: jake <77554505+brxken128@users.noreply.github.com>
* fix horizontal pdf rendering
* don't rotate certain formats (heif*)
* return `u32` from scaling function
* add `avifs` as a valid extension
* add avifs as a valid MIME type
* re-categorize `avifs` as a video (sequence)
* Fix mime-types
* Add Hif extension
- Cannon uses a special extension for heif in its cameras: https://github.com/digipres/digipres.github.io/blob/master/_sources/registries/fdd/fddXML/fdd000525.xml#L213-L221
* hif is actually a heic
---------
Co-authored-by: Vítor Vasconcellos <vasconcellos.dev@gmail.com>
* fda wip
* clippy
* add tauri invoke fns for FDA
* fda wip
* clippy
* add tauri invoke fns for FDA
* wip
* fda wip
* clippy
* add tauri invoke fns for FDA
* wip
* wip
* wip fda
* remove imports
* hopefully improve FDA
* execute only on macos
* ts
* ts
* Update Platform.tsx
* Update AddLocationButton.tsx
* remove console log
* fix: fda and add unit tests
* temp commit for Jake
* add fda state and keybind handling (so the frontend is kept up to date)
* update FDA
* update imports
* testing purposes
* Jakes work
* fix fda checks
* work in progress (but not working)
* remove dead files
* attempt #2
* !!!temporarily enable devtools in prod
* remove alert
* show FDA screen but don't require it
* add an FDA button to general client settings
* Update AddLocationButton.tsx
* remove dead code
* unused dep
* old errors
* remove import
* dead code
* dead code + typesafety
* eslint
* remove fda dialog references
* remove mp4 vid
* hopefully fix onboarding for non-macos OSes
* shorter nav
---------
Co-authored-by: jake <77554505+brxken128@users.noreply.github.com>
* Almost working
* Downgrade libplacebo
- FFMpeg 6.0 uses some now removed deprecated functions
* Use -Oz for zimg
* Fix CI script to run the new ffmpeg build script
* Fix heif step name + Ignore docker cache while building in CI
* Fix Opencl build on linux
* Fix adding incorrect -target argument to linker
- Update zig for windows target
* Disable opengl for ffmpeg, it only uses it as an outdev, not for processing
- Disable opengl and directx for libplacebo, ffmpeg only supports vulkan when using it
- Add WIN32_LEAN_AND_MEAN to global cflags to optimize windows api usage
- Fix 99-heif.sh incorrect bsdtar flag
* Remove WIN32_LEAN_AND_MEAN from global CFLAGS as that was breaking OpenCL build
- Fix Dockerfile step for cleaning up the out dir
- Improve licensing handling
* x86_64 windows and linux builds are working
* Fix aarch64 build for windows and linux
* Fix symbol visibility in linux builds
- Fix soxr failing to download due to sourcefourge
- Only patch zimg on windows targets
- Tell cmake to hide libheif symbols
* Fix Linux .so rpath
- Add lzo dependency
- Publish source for the built libs
- Add warning for missing nasm in tauri.mjs
- Remove ffmpeg install from setup.sh
- Add download logic for our linux ffmpeg bundle in preprep.mjs
* Remove jobs, docker doesn't support this
* Fix typing
* Change ffmpeg references to native deps
- Rename FFMpeg.framework to Spacedrive.framework
- Centralize the macOS native deps build with the windows and linux one
- Change the preprep script to only download our native deps
- Remove old macOS ffmpeg build scripts
* Compress native deps before creating github artifact
- The zip implementation for github artifact does not mantain symlinks and permissions
- Remove conditional protoc, it is now always included
* Don't strip dylibs, it was breaking them
- Only download macOS Framework for darwin targets
- Fix preprep script
- Improve README.md for native-deps
- Fix not finding native-deps src
* Attempt to fix macOS dylib
* Fix macOS dylibs
- Replace lld.ld64 with apple's own linker
- Add stages for building apple's compiler tools to use instead of LLVM ones
* Ensure sourced file exists
* All targets should build now
- Fix environment sourcing in build.sh
- Some minor improvements to cc.sh
- Fix incorrect flag in zlib.sh
- Improve how -f[...] flags are passed to compiler and linker
- Add more stack hardening flags
* We now can support macOS 11.0 on arm64
* Improve macOS Framework generation
- Remove installed unused deps
- Improve cleanup and organization logic in Dockerfile last step
- Move libav* .dll.a to .lib to fix missing files in windows target
- Remove apple tools from /srv folder after installation to prevent their files from being copied by other stage steps
- Create all the necessary symlinks for the macOS targets while building
- Remove symlink logic for macOS target from preprep.mjs
* Remove native-deps from spacedrive repo
- It now resides in https://github.com/spacedriveapp/native-deps
- Modify preprep script to dowload native-deps from new location
- Remove Github API code from scripts (not needed anymore)
- Add flock.mjs to allow running tauri.mjs cleanup as soon as cargo finishes building in linux
* Handle flock not present in system
- Allow macOS to try using flock
* Fix preprep on macOS
* Add script that patch deb to fix errors and warnings raised by lintian
* Fix ctrl+c/ctrl+v typo
* Remove gstreamer1.0-gtk3 from deb dependencies
* eval is evil
* Handle tauri build release with an explicit target in fix-deb.sh
* Preserve environment variables when re-executing fix-deb with sudo
* Only execute fix-deb.sh when building a deb bundle
* Improvements fix-deb.sh
* Improve setup.sh (Add experiemental alpine support)
* basic FDA start
* FDA checks and prompt
* lockfile
* misc clippy
* Some small warnings
---------
Co-authored-by: Ericson Fogo Soares <ericson.ds999@gmail.com>