* 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>
* portals all the way
* CI for mobile JS
* whoops
* do install plz
* Solid JSX on mobile
* Cleanup portals + file structure
* wip
* reset explorer changes
* fail
* make it work betterer
* cleanup
* It's not a `useEffect` bug, no way
* Fix `useSubscribeToThemeStore`
* `createSolid` + `createPersistedMutable`
* Move all Valtio stores to SolidJS
* Remove Valtio from `@sd/client`
* Missed auth store
* wip
* `useSolidStore` allow mutable setting
* Restructure `@sd/client` a bit
* Add `WithSolid` + custom `useObserver`
* Parse props both ways
* Universal Context
* Solid to React context working
* Working universal context
* context inheritance
* whoops
* Make it clearer how the demo works
* wip: `useUniversalQuery`
* 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>
* new mobile browse screen design
* ts
* ts + minor dropdown close on click fix
* Nitpick: make sure to use tw defined font sizing
* use Flatlist instead of scrollview
* fix test
* 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>
* Fix web spacedrive
- Replace useOperatingSystem from App.tsx to directly using the 'browser' value, as we can't access usePlatform yet and the frontend crashes due to it.
- Remove libav* deps from server docker, they are not needed anymore
- Replace debian with distroless for the runtime base image in server docker
* Fix wrong distroless base image
* Copy missing shared lib
* Add comment explaining why use the debug tag for distroless
* Add missing SpacedriveInterfaceRoot in web/App.tsx
* 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>
* Removing migrator
* Adding serde_repr dep
* Generalizing version manager
* Updating library config to use version manager
* Updating node config to use version manager
* Updating stuff to use new configs
* More async
* Library manager errors
* Node and thumbnailer preferences
* Small warning on prep
* Upgrading batch construction for thumbnailer
* Updating thumb version file to new version manager
* Configurable parallelism for thumbnailer
* Integration with frontend and refresh batch
Co-authored-by: Vítor Vasconcellos <HeavenVolkoff@users.noreply.github.com>
---------
Co-authored-by: Vítor Vasconcellos <HeavenVolkoff@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)
* search options start
* small progress
* more
* bunch of stuff
* semi functioning filters
* cleanup setup api
* progress
* remove filters
* hooked up to query epic moment
* fix
* move db stuff to specific modules
* in/notIn for some fields
* generate ts
* big gains
* working filter options for locations, tags and kind
* working search query
* perfect fixed filters
* saved searches lol
* merge error
* saved searches via api
* better routing
* [ENG-1338] Fix fresh Spacedrive install failing to start due to attempting to query a nonexistent Library (#1649)
Fix Spacedrive failing to start due to attempting to query a nonexistent Library
- Rename useShoudRedirect to useRedirectToNewLocations
- Improve behaviour for the immedite redirection after adding a new location
* Show hidden files false by default (#1652)
bool
* fix remove filter in list
* tweaks
* fix nav buttons
* unify MediaData search handling
* cleanup saved search writing
* Add left top bar portals for tags and search + fixed media view on tags
* added search to filter dropdown
* render cycle improvements
* hotfix
* wip
* Refactor with Brendan, but this is a WIP and the search query no longer works
Co-authored-by: Brendan Allan <Brendonovich@users.noreply.github.com>
* progress
* fix location/$id page
* fix tags too
Co-authored-by: Brendan Allan <Brendonovich@users.noreply.github.com>
* 3rd refactor lol
epic style
* half-done with enum-ification of SearchFilterArgs
* broken fixed filters but working inNotIn filters
* search name + extension kinda working
* hidden filter
* fixed filters working??
* deferred search value
* extensions works
* filtered search items mostly working
* tweaks
* stacked approach working for non-search filters
* move to Explorer/Search
* actually use filterArgs in queries
things actually work properly now
* added new icons from Mint
* goof
* cleanup types, filters and mutation logic
* actually use search value
* remove overview from sidebar
* don't shrink LibrariesDropdown ga
* remove overview from sidebar and default to /network
---------
Co-authored-by: Brendan Allan <brendonovich@outlook.com>
Co-authored-by: Vítor Vasconcellos <vasconcellos.dev@gmail.com>
Co-authored-by: Brendan Allan <Brendonovich@users.noreply.github.com>
* tabs w/ multiple router instances
* fix router switching
* keybinds
* manual history tracking
* eslint
* remove scroll restoration
* fix tab removal
* route title + tab create delay
* typescript
* put tab list up top
* Remove import + show close button only if tabs length more than 1
* lint
* unify blur across whole top bar
* add to keybindings page, tauri drag region, and tooltip
* fix blur
* more drag regions
* merge moment
---------
Co-authored-by: ameer2468 <33054370+ameer2468@users.noreply.github.com>
* basic FDA start
* FDA checks and prompt
* lockfile
* misc clippy
* Some small warnings
---------
Co-authored-by: Ericson Fogo Soares <ericson.ds999@gmail.com>
* Check if we can instantiate WebGLRenderer in `hasWebGLContext`
- Work-around broken webgl support
* Instantiate WebGLRenderer manually, in Space background, so we can check if it fails
- Try WebGL1Renderer if WebGLRenderer fails
- Fallback to Bubbles background if no WebGL Renderer works
- Update threejs, @react-three/drei, @react-three/fiber
* Remove superfluous WebGLRenderer intantiation check
* Small warnings
* Introducing file and line number into tracing logs
* Update walker to account for existing object_ids
* Only unlinking at indexer for file_path with
object referencing more than one file_path
* Better filtering orphans file_paths
* Foreground thumbs generation for shallow media
processor
* Watcher tweaks to preserve existing object
Also fixing a media_data extraction/update bug