Commit Graph

329 Commits

Author SHA1 Message Date
Jamie Pine
5ddaace099 Enable all platforms in CI and uncomment desktop builds 2025-12-01 12:51:15 -08:00
Jamie Pine
9acf86a9ea Add location export/import and schema changes 2025-11-30 17:27:31 -08:00
Jamie Pine
20a55a62db chore: migrate from pnpm to Bun, update Node.js version, and remove unused configuration files 2025-11-09 22:34:26 -08:00
Jamie Pine
73e0b82779 remove package publishing workflow 2025-11-06 05:11:21 -08:00
Jamie Pine
2b5b7b285c use jq for all package.json modifications to preserve structure 2025-11-06 04:50:44 -08:00
Jamie Pine
4ddf2f949f use jq to preserve package.json structure 2025-11-06 04:50:11 -08:00
Jamie Pine
3323ca9095 use node to replace workspace dep to preserve package.json structure 2025-11-06 04:38:49 -08:00
Jamie Pine
3506e3b3a6 resolve workspace dependencies before publishing 2025-11-06 03:53:05 -08:00
Jamie Pine
7733038e7d change package scope from @sd to @jamiepine 2025-11-06 02:59:21 -08:00
Jamie Pine
647318a926 allow lockfile updates in publish workflow 2025-11-06 02:52:43 -08:00
Jamie Pine
0f9181d7b1 setup package publishing workflow
Adds GitHub Actions workflow to auto-publish @sd/ui and @sd/assets to GitHub Packages when changes are detected. Updates package configs with repository info and build setup.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-06 02:51:33 -08:00
Jamie Pine
b26e2b5f54 (epic): new SdPath addressing - lots of LSYNC, FSYNC progress - improved
testing framework
2025-10-15 07:02:36 -07:00
Jamie Pine
5eafd66bda feat: add cloud volume setup and migration changes 2025-10-15 02:03:22 -07:00
Jamie Pine
3ee1cd1b33 (chore): CI fix final final 2025-10-15 00:46:24 -07:00
Jamie Pine
819a875827 (chore): CI fix final 2025-10-15 00:38:41 -07:00
Jamie Pine
a9f4961cae (chore): CI fix 2025-10-14 23:15:55 -07:00
Jamie Pine
f6548afcbe (chore): CI fix 2025-10-14 23:09:33 -07:00
Jamie Pine
f43d2456da (chore): CI fix 2025-10-14 23:02:13 -07:00
Jamie Pine
c24063e892 (chore): CI fix 2025-10-14 22:39:16 -07:00
Jamie Pine
d461951946 Update GitHub CI to trigger builds and run format 2025-10-14 22:07:49 -07:00
Jamie Pine
e07c28c484 (chore): update tasks 2025-10-14 20:39:56 -07:00
Jamie Pine
0f5b8ef649 feat: add reqwest dependency, config management, and CLI workflows 2025-10-14 19:13:17 -07:00
Jamie Pine
d90b486865 refactor: update project dependencies and remove unused components
- 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.
2025-09-08 17:26:31 -04:00
Arnab Chakraborty
39e7ec4e67 Downgrade Ubuntu Release Runner 2025-03-03 02:39:33 +03:00
Arnab Chakraborty
a4bc9a5665 Revert "Remove ffmpeg building in actions" 2025-03-01 06:21:42 +03:00
Arnab Chakraborty
e782726fe5 Remove ffmpeg building in actions
Was fixed in a native deps update
2025-03-01 02:15:59 +03:00
Arnab Chakraborty
737e8b51d8 Build latest FFmpeg on Linux
Because Github Runners don't have Ubuntu 24.10
2025-02-23 20:50:34 -05:00
Arnab Chakraborty
a05b28e260 Try getting ffmpeg 7 on Linux runner 2025-02-22 05:58:38 +00:00
Arnab Chakraborty
b3769231ea Fix shell error in build 2025-02-22 05:27:09 +00:00
Arnab Chakraborty
1541519f26 Try to fix linux release runner 2025-02-22 05:23:10 +00:00
Nickolay
28a390f167 Fix builds on windows (#2864)
* Fix builds on windows

* Fix rust compile issues

* Autoformat

* Fix windows volumes compile again

---------

Co-authored-by: Arnab Chakraborty <11457760+Rocky43007@users.noreply.github.com>
2025-02-10 22:57:43 +03:00
Arnab Chakraborty
2df9a98c48 Run prep before building release 2025-02-02 20:18:05 -05:00
Vítor Vasconcellos
cc7c9d5793 Improve file thumbnails and Quick Preview (+ some code clean-up and rust deps update) (#2758)
* 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
2024-10-21 15:47:40 +00:00
Lynx
8f8f352f59 Add typo issue template & update others for consistency (#2737)
* remove typo discussion link

* Add typo report issue template and update other titles
2024-09-27 12:35:16 +00:00
Vítor Vasconcellos
287a809de0 Fix release workflow (#2668)
* 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
2024-08-17 08:29:32 +00:00
Consoli
9e09d92f03 [ENG-1159] Report progress when copying files (#2538)
* Copy ephemeral files by chunks

* Improving buffered writer

* Report progress

* Copy and emit progress as two separated tasks

* Simplify for-if-return with `Iterator::any`

* Docs and use structured tracing

* Simplify code using paths

* wip

* wip

* wip

* wip

* Add report of messages while copying files

* Add info field to job report

* Group paths from OldFileCopierJobStep into a single struct

* Improve progress information

* Remove the need for synchronization

* Error handling for copy

* Clean up frontend

* Make watcher only consider new files

* Fix concurrent renaming of multiple files that have the same name

* Add documentation for file strategist

* Remove editions to ephemeral file copies

* Remove experimental/nightly features from Cargo.toml

* Fix no-case-declarations

* Remove dead comments

* Format code

* Use "Duplicate" instead of "Copy" in the frontend messages

* Remove inline always to make clippy happy

* icons for deleter and copier

* Fix JobManager for copy jobs
 - Fix some types definitions

* Fix Job icon choosing logic
 - Fix Copier job showing two progress bars

* Log which files are not formatted in the Type and style check CI

* fmt

* Forgot an import

* autoformat

---------

Co-authored-by: ameer2468 <33054370+ameer2468@users.noreply.github.com>
Co-authored-by: Vítor Vasconcellos <vasconcellos.dev@gmail.com>
2024-08-17 02:00:59 +00:00
Arnab Chakraborty
8d75697768 Update to Expo SDK 51 (#2665)
* Update to Expo SDK 51

* Fix `moti` version issue & update iOS runner

* Update pnpm-lock.yaml

* Update .gitignore

* Update mobile-ci.yml

* Hopefully this fixes Maestro?
2024-08-16 20:02:03 +00:00
Vítor Vasconcellos
3675675d31 Fix prisma generate & Windows compilation (#2663)
* 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>
2024-08-16 10:55:38 +00:00
Lynx
415aa55021 Fix style-check CI job and patch tailwindcss-animate (#2631)
* Remove explicit ref in checkout for type and style check CI job

This was breaking checkouts for PRs from forks

* add tailwindcss-animate patch to remove duplicate utility class

* use new `animate-duration` for animations

* Run fixed `pnpm autoformat`
2024-07-23 06:39:58 +00:00
Lynx
505792ee0b Update bug report template (#2622)
* Update bug report template

* increase spacing between lines on platform info description

* Remove bug report platform example because it looks bad

* Add space around "Development tool versions" in bug report template
2024-07-22 16:14:03 +00:00
Vítor Vasconcellos
8a9d690aab Fix autoformat CI & format codebase (#2581)
* Update pnpm version

* Fix autoformat

* Improve autoformat msg

* Attempt to fix autoformat 2

* Fix autoformat

* Ignore deleted files in auto-format

* Fix diff filter

* Autoformat whole codebase

* Improve error message for autoformat CI

* Test autoformat CI

* Revert "Test autoformat CI"

This reverts commit 0bf2f46d1a.
2024-07-04 08:57:43 +00:00
Vítor Vasconcellos
0e07e068fc Style auto format (#2557)
* Autoformat script

* Executable + package.json

* Fix pnpm format not exiting

* Fix exit handling

* Allow to only run fontend autoformat

* Rename script to autoformat.sh
 - Fix exit handling

* Add style check to CI
 - Replace deprecated actions-rs-plus/clippy-check@v2 with giraffate/clippy-action@v1

* Use HEAD as ancestor when running in CI

* Improve uncommmited erro message

* Increate timeout for Type and style check action

* Run Clippy when ci.yml file changes

* increase cypress timeout
2024-06-20 00:04:43 +00:00
Vítor Vasconcellos
ae06459eea Package & distribute frontend bundle when doing releases for Linux (#2500)
* Package & distribute frontend bundle when doing releases for Linux

* Only check for tar.xz frontend bundle

* debug

* Fix sd-desktop
2024-06-04 23:19:41 +00:00
Vítor Vasconcellos
277d53094c Fix server release (#2518)
* Adjust server Dockerfile
 - Simpify remix-run_router patch

* Update crun and podman required for new buildah version
 - Build arm64 version of server

* Disable arm64 build for now, build is too slow with qemu
2024-05-29 23:28:28 +00:00
Consoli
c93921dae5 Faster debug builds (#2483)
* 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>
2024-05-14 05:59:52 +00:00
Vítor Vasconcellos
92a5817eae Media metadata extraction & Thumbnailer rework (#2285)
* 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>
2024-05-09 02:20:28 +00:00
Vítor Vasconcellos
d4f74aecd0 Fix CI (#2461)
Use native-tls-vendored for reqwest
 - Update prisma-client-rust
 - Fix mock_instance test
 - Clippy + fmt
 - Improve error handling when uninstall i386 libs in setup-system action
2024-05-08 05:04:25 +00:00
Oscar Beaumont
60cdeafea2 [ENG-1690] Upgrade to Tauri 2.0 (#2433)
* Most of it

* Cleanup menu

* fixes

* Fixed linux compilation, still not working though, as the app panic on start

* Add dialog permissions

* fix search keybind

* Fix linux
∙  - Disable linux-ipc-protocol feature, as that is causing panics due to trying to access some WebKit internal structures outside the main thread

* Update to Ubuntu 22.04, new tauri doesn't support ubuntu 20.04
>  - Add note to download page about deb's distro support

* Remove gen/schemas

* Update linux dependencies in setup.sh

* Fix linux deps again
 - Enable rt-tokio-crypto-rust feature in secret-service so clippy stops complaining

* Clippy + auto fmt

* Fix cache-factory
 - Create a devtools feature for desktop app, which is enabled by default on dev builds

* Fix minor error in patchTauri.mjs

* Fix some envvars that have been renamed on tauri v2

* Dont change the secrets

* Add missing linux dependency

---------

Co-authored-by: Vítor Vasconcellos <vasconcellos.dev@gmail.com>
2024-05-07 08:36:50 +00:00
Vítor Vasconcellos
29054e0f79 Remove AppImage logic and build system (#2446) 2024-05-04 22:27:14 +00:00
Vítor Vasconcellos
67fb5922e1 Auto format/lint and revert some changes made to CI (#2429)
Revert some changes made to CI in #2412
 - Auto lint and format
2024-05-01 13:59:16 +00:00