49 Commits

Author SHA1 Message Date
Jamie Pine
acde17c088 Fix CI: rustfmt, xtask empty TARGET_TRIPLE, and package linking
- Sort `pub mod adapters` alphabetically in ops/mod.rs
- Wrap long line in volume/fs/refs.rs
- Handle empty TARGET_TRIPLE env var in xtask setup
- Replace `link:@spacedrive/*` with published `^0.2.3` versions
2026-04-12 20:33:43 -07:00
James Pine
e4955bf59a ui magic 2026-03-24 22:19:31 -07:00
Jamie Pine
21c641dddf Merge branch 'main' into release-build-fixes 2026-02-06 19:20:52 -08:00
Jamie Pine
55a132c890 Enhance DLL copying process in setup function
- Updated the setup function to copy DLLs to additional target-triple directories for CI cross-compilation, improving build flexibility.
- Modified the logging to reflect the target directory label during the copy process.
2026-02-06 15:36:40 -08:00
Jamie Pine
54e478a73a Update xtask/src/contributors.rs
Co-authored-by: tembo[bot] <208362400+tembo[bot]@users.noreply.github.com>
2026-02-06 02:36:49 -08:00
Jamie Pine
b678e5e2fa Update xtask/src/contributors.rs
Co-authored-by: tembo[bot] <208362400+tembo[bot]@users.noreply.github.com>
2026-02-06 02:36:39 -08:00
Jamie Pine
98a55b83af feat: add contributors list and update settings page
- Introduced a new contributors.json file containing a list of contributors with their GitHub usernames.
- Updated AboutSettings component to display the list of contributors dynamically.
- Modified tsconfig.json to enable JSON module resolution for better imports.
- Enhanced Cargo.toml to include JSON feature for reqwest.
- Added a new Rust module to fetch and update the contributors list from GitHub.
2026-02-06 01:46:39 -08:00
StarbirdTech
5c4b000765 build: add mobile-dev profile, fix metro watcher and NDK config
Add a mobile-dev Cargo profile for faster mobile development builds
(parallel codegen, no LTO, opt-level 2) — available opt-in via
`cargo build --profile mobile-dev`. Production builds use --release.

Fix NDK host_tag to always use darwin-x86_64 on macOS since Google
ships universal binaries under that path. Make aws-lc-sys cache
cleaning opt-in via CLEAN_AWS_LC=1 to enable incremental iOS builds.

Scope Metro file watcher to src/ and packages/ instead of the entire
monorepo (avoids watching 4.5GB+ Rust target/ dirs) and fix React
resolution to use workspace root where bun hoists packages.

Apply tembo review feedback from #3011: fix SVG type declarations to
avoid DOM dependency, add sound asset type flexibility, and add public
subpath exports to ts-client.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-06 03:34:44 -05:00
Jamie Pine
e64e4213da Merge branch 'main' into release-build-fixes 2026-02-05 23:41:04 -08:00
Jamie Pine
91f2566f1c Remove support for lld-link in get_best_linker function 2026-02-05 22:59:09 -08:00
Jamie Pine
9de7ee88ed Update versioning across multiple packages and enhance GitHub Actions workflow
- Changed versioning from "2.0.0-pre.1" to "2.0.0-alpha.1" in various Cargo.toml files and package.json to reflect a new alpha release.
- Added support for ARM64 builds in the GitHub Actions workflow, including a new host configuration and installation of VA-API libraries for the ARM target.
- Introduced a new `bump` command in the xtask to facilitate version updates across all relevant files, improving version management.
2026-02-05 22:58:11 -08:00
Jamie Pine
9f7edb5086 Merge pull request #3010 from StarbirdTech/build/unify-workspace-cleanup
build: unify mobile core into root workspace
2026-02-05 22:25:24 -08:00
StarbirdTech
454267df18 build: check xcrun exit status before using sdk path
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-06 01:13:33 -05:00
StarbirdTech
7741f970e5 build: unify mobile core into root workspace
Merge sd-mobile-core into the root Cargo workspace so desktop and
mobile share a single dependency tree and target directory. Remove dead
[patch.crates-io] entries for iroh and netdev that stopped being applied
after the iroh v0.95.1 upgrade. Switch mobile core deps to workspace
versions, fix clippy/warnings surfaced by workspace-wide checks, and
add BINDGEN_EXTRA_CLANG_ARGS to fix errno.h not found on clean macOS
builds.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-06 01:01:27 -05:00
Jamie Pine
2ea55d86e1 Merge branch 'main' into release-build-fixes 2026-02-05 21:12:36 -08:00
Gedeon Sainrival
19ebcfae23 Reconfigure xtask to properly recognize Windows paths 2026-01-25 17:02:51 -05:00
Jamie Pine
13f7eeb9ae Enhance cross-compilation support in build process
- Added CARGO_BUILD_TARGET environment variable to the GitHub Actions workflow for better target management during builds.
- Updated package.json scripts to conditionally include the target option for the daemon build commands, improving flexibility for different architectures.
- Refactored the setup function in main.rs to utilize a dynamic target triple for building the release daemon, ensuring compatibility across various systems.
2026-01-24 20:41:39 -08:00
Jamie Pine
f1f0a0419a Implement cross-compilation support by detecting system architecture from TARGET_TRIPLE
- Enhanced the system detection logic to utilize the TARGET_TRIPLE environment variable for cross-compilation scenarios.
- Added a new method to parse the target triple and determine the operating system, architecture, and libc type, improving flexibility for different build environments.
2026-01-24 20:03:32 -08:00
Jamie Pine
388b4dde28 cargo fmt 2026-01-24 16:14:21 -08:00
Jamie Pine
df1ee8aec5 feat(overview): add ActionButtons component and integrate into OverviewScreen
This commit introduces a new ActionButtons component to the OverviewScreen, providing quick access to device pairing, sync setup, and storage addition functionalities. The component enhances user interaction by allowing users to perform these actions directly from the overview interface. Additionally, updates to the DevicePanel and HeroStats components improve overall functionality and UI consistency.
2026-01-18 06:21:02 -08:00
Jamie Pine
5b74e94953 refactor(location): enforce volume detection for location entries
This commit updates the LocationManager to ensure that all locations have a resolved volume before creation. It simplifies volume ID handling by removing lazy resolution and directly returning errors when volumes are not found. Additionally, it modifies related functions to reflect these changes, enhancing the robustness of volume management in the application.
2026-01-11 00:00:56 -08:00
Jamie Pine
b89b2ef51d Merge branch 'dev-build-improvements' into tembo/volume-id-nullability-refactor 2026-01-09 21:08:36 -08:00
Jamie Pine
90476fb812 feat(types): enhance CloudStorageConfig with detailed OAuth documentation and remove deprecated thumbstrip types
This commit updates the CloudStorageConfig type to include detailed documentation for OAuth 2.0 credentials for Google Drive, OneDrive, and Dropbox, clarifying the requirements for access and refresh tokens. Additionally, deprecated types related to thumbstrip generation have been removed to streamline the codebase.
2026-01-09 21:07:01 -08:00
Jamie Pine
e1c1b5b61f Fix build command in setup function to correctly include sd-daemon binary 2026-01-09 18:20:01 -08:00
Jamie Pine
c2cea6f97c Update cargo aliases and enhance thumbstrip generation error handling
This commit modifies the cargo aliases in the configuration file to include specific features for the `sd-daemon` and `sd-cli` packages. Additionally, it introduces a new function for generating thumbstrips that returns an error when the `ffmpeg` feature is not enabled, improving error handling and clarity for users attempting to generate thumbstrips without the necessary features.
2026-01-09 18:07:05 -08:00
Jamie Pine
61219569c4 Enhance CONTRIBUTING.md with media processing features guidance
This commit updates the CONTRIBUTING.md file to provide clearer instructions on building the project with media processing features. It introduces convenient cargo aliases for building with `ffmpeg` and `heif` features enabled, and emphasizes the importance of these features for development. Additionally, it includes notes on the implications of building without these features and how to resolve related issues. The changes aim to improve the onboarding experience for new contributors.
2026-01-09 17:59:22 -08:00
Jamie Pine
d1db406cda Update VSCode settings, modify Cargo.toml features, and enhance tag handling in the interface
This commit updates the VSCode settings to include new configurations for newline handling and formatting. In the Cargo.toml file for the server, the default features have been cleared to streamline dependencies. Additionally, the TagsGroup and TagSelector components have been modified to handle both TagSearchResult and raw Tag objects, improving tag extraction and selection logic. These changes enhance the overall development experience and ensure better tag management in the application.
2026-01-05 21:24:29 -08:00
Jamie Pine
70842c6743 Fix library test (database.db → library.db) 2026-01-04 21:36:14 -08:00
Jamie Pine
6b8f178788 refactor(tests): enhance debug output formatting in indexing tests
- Updated debug print statements in the indexing test to use consistent formatting with multi-line syntax for improved readability.
- Rearranged test suite definitions in `test_core.rs` for better organization and clarity, including renaming test cases for consistency.
- Added new test cases to cover additional functionalities, ensuring comprehensive test coverage.

These changes aim to improve the clarity of debug information and the overall structure of the test suite.
2025-12-31 16:46:50 -08:00
Jamie Pine
ff25fab772 refactor(tests): enhance fixture generation and update test suite structure
- Updated the fixture generation process to write to a temporary directory by default, improving test isolation and following best practices.
- Added instructions for regenerating source fixtures when needed, enhancing developer experience.
- Refactored the test suite structure to utilize a more flexible argument handling mechanism, allowing for easier addition of new tests.
- Removed deprecated test configurations and streamlined the test suite definitions for clarity and maintainability.
2025-12-30 22:06:53 -08:00
Jamie Pine
4ccfa7ea0e disable failing tests to see if CI passes 2025-12-30 14:12:48 -08:00
Jamie Pine
1fd571b06b feat(ci): enhance core testing workflow and introduce unified test command
- Refactored GitHub Actions workflow to support multiple OS environments (macOS, Linux, Windows) using a matrix strategy.
- Added a new `test-core` command in `xtask` for running all core integration tests with progress tracking and result summaries.
- Updated caching keys in the CI workflow to use OS-specific identifiers for better cache management.
- Consolidated test execution logic into a single source of truth in `xtask/src/test_core.rs`, ensuring consistency between CI and local runs.
- Improved documentation in `xtask/README.md` to reflect the new testing command and its features.
2025-12-30 12:41:23 -08:00
Jamie Pine
a45490acf2 fix(windows): improve Windows build setup and DLL handling
- Add .exe extension to target-suffixed daemon binary on Windows
- Auto-copy DLLs from apps/.deps/bin to target/debug and target/release
- Add PATH env var for Windows in dev-with-daemon.ts so daemon finds DLLs
- Run cargo xtask setup automatically at end of setup.ps1

These changes fix DLL_NOT_FOUND errors when running the Tauri app or
daemon on Windows by ensuring native dependency DLLs are discoverable.

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-29 07:48:45 -08:00
Jamie Pine
a5413d9538 Update cargo configuration to include CPATH for native dependencies and streamline setup process in Rust build workflow. 2025-12-14 23:06:02 -08:00
Jamie Pine
832428c8ac Wire up daemon for Tauri bundler validation 2025-12-12 16:23:39 -08:00
Jamie Pine
dc690ac217 Fix macOS build and update framework path
- Conditionally compile the macOS Command import
- Use Spacedrive.framework directly under native_deps instead of
  Frameworks/Spacedrive.framework
2025-12-10 23:14:54 -08:00
Jamie Pine
00c98bde24 cargo fmt 2025-12-10 15:27:26 -08:00
Jamie Pine
0717d8dd0a Refactor code for improved clarity and performance
- Updated argument passing in various commands to use a more concise syntax.
- Simplified iteration in the ConstantTimeEqNull implementation for better readability.
- Enhanced file path checks in EventFilters for temporary and system files.
- Added `#[must_use]` attribute to functions in FrameDecoder to indicate their importance.
- Replaced `or_insert_with` with `or_default` for cleaner code in phase summary generation.
2025-12-10 14:43:17 -08:00
Jamie Pine
3aa608fbfc Update symlink path for Spacedrive.framework on macOS
- Adjusted the symlink creation for Spacedrive.framework to include the "Frameworks" directory, aligning with the expected structure for native dependencies.
2025-12-10 08:42:47 -08:00
Jamie Pine
05554b2919 Update App component and Explorer views for improved performance and usability
- Refactored the App component to enhance readability and maintainability, including adjustments to route handling and client initialization.
- Introduced QuickPreviewSyncer and QuickPreviewController components in the Explorer to optimize rendering and selection handling.
- Enhanced Column and ListView components with memoization to prevent unnecessary re-renders, improving performance during file selection and navigation.
- Updated event handling in the useNormalizedQuery hook to streamline query management and improve type safety.
- Adjusted various components to ensure consistent styling and behavior across the application.
2025-12-09 19:03:51 -08:00
Jamie Pine
591c7461a4 Add misc UI and ephemeral watching (wip) 2025-12-09 06:05:51 -08:00
Gedeon Sainrival
22031d3b5d Start generating builds for Android
- Update Kotlin version to 2.2.20
- Update sd-mobile-core with modern expo-modules API to successfully
  compile on Android
- added android to build-mobile xtask
- updated CONTRIBUTING.md
- Added `openssl-sys` to sd-mobile-core as a workaround for native
  Android builds
- Switched from deprecated @react-native-community/clipboard
2025-12-07 20:53:12 -05:00
Jamie Pine
b4024c860e Mobile app in React Native
+ validation support for Actions
2025-12-05 15:16:41 -08:00
Gedeon Sainrival
f01a2994f1 Fix build issues on Linux
Managed to successfully build on Linux, updated xtask to resolve errors,
and fixed interface not loading properly when using Tauri GUI.
2025-12-02 13:17:28 -05:00
Jamie Pine
2ef179d4df chore: update Zustand dependency to version 5.0.8, modify Cargo.toml for sd-core features, and enhance sidecar manager initialization in library management 2025-11-11 15:44:00 -08:00
Jamie Pine
f43d2456da (chore): CI fix 2025-10-14 23:02:13 -07:00
Jamie Pine
94a52dd2df cleanup 2025-10-11 08:48:11 -07:00
Jamie Pine
c77121aff8 The Spacedrive Collection 2025-10-11 07:16:16 -07:00
Jamie Pine
520703a3a0 chore: Update Cargo.toml and remove obsolete files
- Added "xtask" to the Cargo.toml members for improved task management.
- Removed outdated documentation files: CLI_LIBRARY_SYNC_COMPLETE.md, DEVICE_DISCONNECTION_FIX.md, FINAL_SUMMARY.md, IMPLEMENTATION_COMPLETE.md, INFINITE_LOOP_FIX.md, LIBRARY_SYNC_SETUP_IMPLEMENTATION.md, PAIRING_CONNECTION_ISSUE_SUMMARY.md, PAIRING_IMPLEMENTATION.md, PERSISTENT_CONNECTION_FIX.md.
- Cleaned up the project structure to enhance maintainability and clarity.
2025-10-06 20:56:54 -07:00