- Removed the `prisma-client-rust` and `prisma-client-rust-sdk` dependencies from `Cargo.toml` to streamline the project.
- Deleted the `spacedrive-jobs-derive` crate, consolidating job registration functionality into the main job system.
- Updated the `.gitattributes` file to reflect changes in generated code tracking.
- Adjusted the `package.json` scripts for improved build processes and removed unnecessary commands.
- Enhanced the `combine.sh` script to correctly reference documentation paths.
These changes aim to simplify the project structure and improve maintainability.
* Update rspc, prisma-client-rust, axum and tanstack-query
- Deleted some unused examples and fully commented out frontend code
- Implement many changes required due to the updates
- Update most rust dependencies
* Re-enable p2p
* Fix server
* Auto format
* Fix injected script format
- Update some github actions
- Update pnpm lock file
* Fix devtools showing up when app opens
- Fix million complaining about Sparkles component
* Fix sd-server
* Fix and improve thumbnails rendering
- Fix core always saying a new thumbnail was generated even for files that it skiped thumbnail generation
- Rewrite FileThumb and improve related components
* Ignore tmp files when running prettier
* Improve FileThumb component performance
- Rework useExplorerDraggable and useExplorerItemData hooks due to reduce unecessary re-renders
* More fixes for thumb component
- A couple of minor performance improvements to frontend code
* auto format
* Fix Thumbnail and QuickPreview
* Fix logic for when to show 'fail to load original' error message in QuickPreview
- Updated prisma-client-rust, libp2p, tauri, tauri-specta, rspc and hyper
* Fix type checking
- Format scripts
* Add script prettier config
* Fix serde missing feature
- Use rust-libp2p spacedrive fork again
- Update rspc
* Autoformat + fix pnpm lock
* Fix thumbnail first load again
* Autoformat
* autoformat
* Fix rust-libp2p fork url again?
* Remove usePathsInfiniteQuery hook
* Update tauri 2.0.6
* Fix frontend bundle upload
- Update pnpm
* Revert incorrect removal of fontenf packaging job
* Fix tauri not building updater bundles
* Ensure release action is executed when PRs modify the publish-artifacts action
* Fix unused argument for patchTauri function
* Couple for format fixes
* tauri requires building the app bundle to build the updater
* Ensure prisma generation works before continuing CI
- Add script that list all dependencies with multiple version in Cargo.lock
* Ensure CI runs when custom actions are modified
* Rever windows change in hopes that it fixes prisma generation
* Fix prisma generation check in CI
* Update deps
* Replace prisma-client-rust-cli with oficial prisma cli to fix windows model generation
- Revert back to windows-rs implementation of get_inode in file-path-helper
- Adjust Github CI to use oficial prisma cli
- Update scripts dependencies
- Fix some new rust warnings due to it trying to compile OS specific code on all plataforms
* Fix windows-rs impl for get_inode_windows in file-path-helper
* More fixes to windows-rs impl for get_inode_windows in file-path-helper
* More fixes to windows-rs impl for get_inode_windows in file-path-helper
* More fixes to windows-rs impl for get_inode_windows in file-path-helper
* More fixes to windows-rs impl for get_inode_windows in file-path-helper
* More fixes to windows-rs impl for get_inode_windows in file-path-helper
* Import windows constant intead of hardcoding its value
* Fix check for prisma files in setup-rust
* Autoformat
* Fix iOS and Android targets in watcher
---------
Co-authored-by: Arnab Chakraborty <11457760+Rocky43007@users.noreply.github.com>
* Config dev profile for faster debug builds
* Remove redundant changes to Cargo.toml in CI
* Forgot Windows
---------
Co-authored-by: Vítor Vasconcellos <vasconcellos.dev@gmail.com>
* initial ffprobe commit
* Working slim down version ffprobe
* Auto format ffprobe and deps source
* Remove show_pixel_formats logic
- Fix do_bitexact incorrect check in main after last changes
- Fix some clangd warning
* Remove show_* and print_format options and their respective logic
* Rework ffprobe into simple_ffprobe
- Simplify ffprobe logic into a simple program that gather and print a media file metadata
* Reduce the amount of ffmpeg log messages while generating thumbnails
* Fix completly wrong comments
* mend
* Start modeling ffmpeg extracted metadata on schema
- Start porting ffprobe code to rust
- Rename some references to media_data to exif_data
* Finish modeling media info data
- Add MediaProgram, MediaStream, MediaCodec, MediaVideoProps, MediaAudioProps, MediaSubtitleProps to Schema
- Fix simple_ffproble to use its custom print_codec, instead of ffmpeg's impl
* Add relation between MediaInfo and FilePath
- Remove shared properties from MediaInfo and related structs
- Implement Iterator for FFmpegDict
* Fix and update schema
* Data models and start populating MediaInfo in rust
* Finish populating media info, chapters and program
* Improve FFmpegFormatContext data raw pointer access
- Implement stream data gathering
* Impl FFmpegCodecContext, retrieve codec information
- Improve some unsafe pointer uses
- Impl from FFmpegFormatContext to MediaInfo conversion
* Fix FFmpegDict Drop
* Fix some crago warnings
* Impl retrieval of video props
- Fix C char* to Rust String convertion
* Impl retrieval of audio and subtitle props
- Fill props for MediaCodec
* Remove simple_ffprobe now that the Rust impl is done
* Fix schema to match actually retrieved media info
- Fix import some FFmpeg constants instead of directly using values
* Rework movie_decoder
- Re-implement create_scale_string and add support anamorphic video
- Improve C pointer access for FFmpegFormatContext and FFmpegCodecContext
- Use newer FFmpeg abstractions in movie_decoder
* Fix incorrect props when initializing MovieDecoder
* Remove unecessary lifetimes
* Added more native wrappers for some FFmpeg native objects used in movie_decoder
* Remove FFmpegPacket
- Some more improvements to movie_decoder
* WIP
* Some small fixes
* More fixes
Rename movie_decoder to frame_decoder
Remove more references to film_strips
* fmt
* Fix duplicate migration for job error changes
* fix rebase
* Solving segfaults, fuck C lang
Co-authored-by: Vítor Vasconcellos <HeavenVolkoff@users.noreply.github.com>
* Update rust to version 1.77
- Pin rust version with rust-toolchain.toml
- Change from dtolnay/rust-toolchain to IronCoreLabs/rust-toolchain for rust-toolchain support
- Remove unused function and imports
- Replace most CString uses with new c literal string
* More segfault solving and other minor fixes
Co-authored-by: Vítor Vasconcellos <HeavenVolkoff@users.noreply.github.com>
* Fix ffmpeg rotation filter breaking portrait video thumbnails #2150
- Plus some other misc fixes
* Auto format
* Retrieve video/audio metadata on frontend
* Auto format
* First draft on ffmpeg data save on db
Co-authored-by: Vítor Vasconcellos <HeavenVolkoff@users.noreply.github.com>
* Fix some incorrect changes to prisma schema
* Some fixes for the FFmpegData schema
- Expand logic to save FFmpegData to db
* A ton of things
Co-authored-by: Vítor Vasconcellos <HeavenVolkoff@users.noreply.github.com>
* Integrating ffmpeg media data in jobs and API
* Rspc can't BigInt
* 🙄
* Add initial ffmpeg metadata entries to Inspector
- Fix ephemeral metadata api to match the files metadata api call
* Fix Inspector not showing ffmpeg metadata
* Add bitrate, start time and chapters video metadata to Inspector
- Fix backend BigInt conversion incorrectly using i32 instead of u32
- Change FFmpegFormatContext/FFmpegMetaData bit_rate to i64
- Rename byteSize to humanizeSize
- Expand humanizeSize logic to allow handling bits and Binary units
- Move capitalize to @sd/client utils
* Solving some issues
* Fix ffmpeg probe getting incorrect stream id and breaking database unique constraint
- Fix humanizeSize breaking when receiving floating numbers
- Fix incorrect equality in StatCard
- Fix unhandled error in Dialog when trying to remove an unknown dialog
* fmt
* small improvements
- Remove some unecessary recursion_limit directive
- Remove unused app_image releated functions
- Fix metadata query enabled flag
* Add migration for ffmpeg media data
* Fix cypress test
* Requested changes
* Implement feedback
- Update locale keys for all languages
- Add pnpm command to update all language keys
* Fix thumb reactivity in non indexed locations
---------
Co-authored-by: Ericson Soares <ericson.ds999@gmail.com>
Co-authored-by: Vítor Vasconcellos <HeavenVolkoff@users.noreply.github.com>
* Fix migration check not always failing when it should on main
- Fix check due to Github using `refs/heads/gh-readonly-queue/main/` as ref when merging a PR from merge-queue to main
- Add migration due to changes made in #2161
* Fix missing migration error message being showed when it shouldn't
- Filter out empty migrations files from check testing if a migration is missing
* Prevent inner grep from failling the whole command
- Fix last grep outputting gibberish when not receiving any file
* Fix xargs and grep command on macOS
* auto format
* Configure python 3.11 version on Github CI
- Python 3.12 is the default on CI now, which breaks node-gyp and most of the native dependencies installations
- Fix _new_migrations having lead and trailing spaces
* Remove migration, already included in #2302
* CI now checks if a migration is missing
- Fail CI on main and tag releases if a new migration should be created due to changes in the db schema
- Add error msg to schema.prisma file if a migration is not created to reflect changes made to db schema, but do NOT fail action
* Change schema to test CI changes
* Add debug to prisma generate CI script
* Removem prisma cache to test
* Fix grep for migrations
* Revert changes made for testing
* Only cache prisma data on main or cache-factory
* Replace macos-14 with ubuntu runner in cypress
- Replace macos-14 with macos-13 runner in clippy
- macos14 runner has weaker hardware than other runners: https://docs.github.com/en/actions/using-github-hosted-runners/about-github-hosted-runners/about-github-hosted-runners#standard-github-hosted-runners-for-public-repositories
* Remove pre-installed incompatible packages from ubuntu runner
https://github.com/actions/runner-images/issues/9546#issuecomment-2014940361
* Use ubuntu-20.04 for Cypress CI
* Adjust Cypress CI to follow common steps for linux env
* Debug preprep script
* Fix copy/paste typo
* Install playwright native dependencies
* Update release.yml
* Add Remove 32-bit libs to setup-system
* Change Cypress CI to macos-13
- Some small test fixes
- Fix onboarding test must skip testing default location screen if no default locations os available
* Back to ubuntu for Cypress and back to macos-14 to clippy
- Attempt to fix empty default locations on ubuntu CI runner
* Oops
* Install playwright native deps
* Replace path regexs with consts
- Click on share minimum when doing a fastOnboarding
* Try macos-14 again
* Attempt at making mobile tests more resilient
* Forgot shell property
* Remove debug flag from run-maestro-tests.sh
* Fix kill command
* Improve device emulator launch code
- Remove maestro version lock (expo is not using it anymore on their repo)
- Use some of the same command expo uses to ensure device emulator launched
* ...
* ...
* Make grep timeout less strict
* Increase timeouts
* Downgrade macOS and Xcode
Following Expo changes:
cb7c90dac4
* Fix onboarding sometimes not redirecting to Explorer on prod builds
- Fix failure trying to compile landing prod builds outside Vercel
- Fix Server docker failing to restart due to some incorrecting logic for creating the unprivileged users erroring out
- Fix Storybook failing to build due to updates to Vite
- Update Storybook dependencies
- Remove unused Inter font dependency
- Fix some incorrect references to NodeJS types inside web code
- Fix $libraryId index using the incorrect redirect function
- Improve error handling for the $libraryId index route
- Fix Prism not being correctly loaded, and failing to register its plugins
- Improve Prism loading error handling
- Small improvement to the text highlight logic
- Fix SCSS deprecation for untyped hsl values
- Fix library query cache incorrectly saving empty values, which lead to the onboarding redirect bug
- Patch contentLayer to fix an error during the final part of it's build process
- Update most dev dependencies
- Update publish-artifact to be compatible with new @actions/artifact
- Fix issue with new vite-plugin-solid failing to build our .ts files due to the removal of the typescript plugin
- Fix pnpm overrides not applying due to incorrect placement in package.json
- Replace deprecated react-tsparticles and updated three used by the Bubbles background in the landing page
- Rework Bubbles background to be compatible with new @tsparticles/react
- Update @sd/config dependencies
- Update @sd/scripts dependencies
* Implement suggestions
- Replace mobile JS node setup with custom setup-pnpm action
- Handle GITHUB_SECRET default value in code and throw a warning when it is not set
- Fix pnpm now resolving the correct node version when building Spacedrive server docker
- Add missing getent command to spacedrive server docker
- Fix typo in entrypoint.sh
- Implement a more robust check if the user is already in a group
- Fix adduser failing due to missing default group
- Disconnect IntersectionObserver on component unmount
- Improve prism import comment
* Implement more suggestions
- Pin genent version to latest stable release of UClibc
- Add checksum checks for all ADD clauses in Spacedrive server Dockerfile
* Increase Maestro timeout to reduce CI failures due to slow simulator startup
* Dowgrade maestro to workaround CI timeout
* Improvements to the script that run maestro mobile tests
- Increase the amount of retries for a maestro test run to 6
- Increase Maestro driver startup timeout to 2 minutes
* Let run-maestro-tests.sh decide how to run itself
* ¯\_(ツ)_/¯
* Update github actions due to nodejs 16 deprecation
- Replace archived actions-rs/clippy-check with maintained fork actions-rs-plus/clippy-check
- Replace redhat-actions/push-to-registry with updated fork Eusebiotrigo/push-to-registry
- Point redhat-actions/buildah-build and softprops/action-gh-release to current master to fix nodejs deprecation
* Build the correct ios core rust arch for CI runs
* Build ios app for the same arch as the host in Mobile CI
* Some changes to try and make cache-factory faster and avoid failing so much
* Add trigger to run cache-factory on pull requests when there are changes to itself
* Attempt to fix sed usage on macOS
* Don't treat warning as errors
* Fix windows
* Fix windows 2
* Use target ad cache key for rust to differentiate between macOS x86_64 and arm64
* Use faster/better linkers to compile for macOS, Linux and Windows
* Fix missing shell in action
* Fix typo
* Fix missing shell in action 2
* Fix mold download
- Replace bsdtar with plain tar
* Fix permission denied when extracting mold
* Remove zld
* Don't restore cache for rustfmt
- Remove target symlink to C:/ in an attempt to speed-up windows CI
* Fix typo
* Restore target symlink on windows
- Removing it didn't make CI faster
* Run Mobile on macos-14
* Add Nasm to setup.ps1
- Nasm is now required to compile the `openssl-sys` crate
* Run Clippy CI when setup or prep scripts change
* Ensure nasm is also installed in Windows CI
- Add nasm to setup.sh
- Remove openssl-dev from setup.sh
* Ensure nasm is installed in macOS too
* Dumb ctrl+c/ctrl+v mistake
* 's/==/=/'
Dependencies overhaul
- Update dependencies for all projects (except Mobile-only deps)
- Remove unused dependencies from all projects (except Mobile-only deps)
- Fix Storybook failing to import sd/ui style
- Add Node 21 as not supported due to sass-loader not working on it yet
- Add work-around for new rook version requiring webpack specific global property
- Fix landing dev not working due to missing default env value on dev
- Fix some incorrect uses of phosphor-icons non server side icons on server components on landing
- Fix some incorrect uses of phosphor-icons server side icon on client components on landing
- Fix landing fail to build on dev due to always required a Github Token to get the latest release
- Fix new Next.js version not suporting Response.redirect due to immutable Headers
- Add Gitlab as social link for teams page
- Update Vítor's team photo
- Add Vítor's twitter link
- Fix some warning due to missing useEffect dependencies
- Remove test-files dir
- Fix QuickPreview unblurred buttons in Linux
- Formatting
* custom updater with toasts
* new state management + updated router route
* tauri-specific update route
* ref
* update in prod only
* change 'Install' to 'Update'
* fix tsconfig
* desktop tauri
* remove tauri patch
* tauri 1.5
* tauri 1.5
* use tauri script
* native-deps
* Rework preprep and tauri script to better support tauri 1.5
* Update to tauri 1.5.1
- Update workspace and apps/desktop dependencies
- Fix mustache import, @types/mustache is not compatible with ES imports
- Replace arm64 with aarch64 in machineID, they should be treated the same and this simplyfies the code
* Fix tauri updater not building due to missing key
- Fix dmg background not being found
- Generate an adhoc key for tauri updater with it is enabled and the user is doing a prod build
* Fix ctrl+c/ctrl+v typo
* Normalie @tanstack/react-query version through workspace
- Use undici in scripts instead of global fetch
- Fix typecheck
* Fix linux prod and dev builds
- Improve error handling in tauri.mjs
* Normalize dev deps in workspace
- Improve linux shared libs setup
* Fix CI and server docker
* Fix windows
- Remove superfluous envvar
* Attempt to fix server, mobile, deb and release updater
* Attempt to fix deb and mobile again
- Fix type on deb dependency
- Enable release deb for aarch64-unknown-linux-gnu
* Github doesn't have arm runners
- Fix typo in server Dockerfile
* Publish deb and updater artifacts
* remove version from asset name
* update commands
* log release
* Some logs on updater errors
* show updater errors on frontend
* fix desktop ui caching
---------
Co-authored-by: Vítor Vasconcellos <vasconcellos.dev@gmail.com>
Co-authored-by: Ericson Fogo Soares <ericson.ds999@gmail.com>
* 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>
* Change docs and CI scripts to use `pnpm tauri` command
- Fix documentation and some scripts to use the new tauri subcommand following https://github.com/spacedriveapp/spacedrive/pull/1411 changes
- Format/Lint some files
* Document new envvar to lauch devtools alongside the desktop app
* 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>
* Attmept to workaround Linux and Windows CI runners out-of-space problems
* Don't mix cmd and powershell
* bruh
* Attempt to fix prisma cache
* No need to cd, as the step is already in the correct cwd
* Leave enough room in root to install the necessary system packages
* Attempt to fix macOS cache being ovewritten
* Fix dumb mistake
* Up linux root free size to 6GB because
- The cache action compress the data to root and it need more free space
* Remove pull_request trigger from cache_factory
---------
Co-authored-by: Oscar Beaumont <oscar@otbeaumont.me>
Co-authored-by: Utku <74243531+utkubakir@users.noreply.github.com>
* Fix server docker build failing due to apt locking error
- Replace ffmpeg dep with only the libav* and related required lib (reduce size)
- Add warning to tauri build command when DMG background is missing
- Minor rust fmt
* Enable assets feature for server Dockerfile
- Fix web app not using the correct address in prod
- Add build step for web assets in server Dockerfile
* Enable repository to be defined in server's Dockerfile
- Enable server's release workflow to specify which repository to build to allow external PRs to work
* Fix pnpm docker cache not working
* Fix setup-system breaking in macOS due to unavailable envvar
- Remove unused docker build-arg from ffmpeg workflow
- Fix Overview Explorer extending below inspector
- Fix some left behind formatting problems
* Some more formatting