Commit Graph

1146 Commits

Author SHA1 Message Date
Jamie Pine
5ec4a31abb Update CI workflow and enhance core features
- Changed the CI workflow to run tests on self-hosted runners for better performance and flexibility.
- Updated the test execution condition to trigger on push events and specific pull requests.
- Consolidated test execution to run all tests in the workspace instead of a single test.
- Modified the default features in Cargo.toml for the server and core applications to include "heif" and "ffmpeg" for enhanced media support.
- Added metrics collection capabilities to the SyncProtocolHandler for improved monitoring of sync operations.
- Refactored sync tests to streamline setup and improve clarity in test scenarios.
2025-12-18 03:02:54 -08:00
Jamie Pine
5b1fd31e3a Implement app reset functionality and context management
- Introduced AppResetContext to manage app reset operations across components.
- Updated App and RootLayout to utilize the reset context, allowing for a clean reset of the app state.
- Enhanced SettingsScreen with a reset data option, prompting users for confirmation before clearing all data and refreshing the app.
- Added core reset action in the backend to handle data deletion and cleanup operations.
- Improved user feedback during reset operations with alerts and status messages.
2025-12-17 20:26:26 -08:00
Jamie Pine
71992bb79c Enhance job event handling and device context management
- Updated event handling in job management to include device IDs for better tracking of job activities across devices.
- Introduced a new JobActivityClient for subscribing to job activity from remote devices.
- Added hardware specifications to device configuration and database schema, improving device information tracking.
- Refactored event structures to accommodate new fields related to job activities and device management.
- Updated the user interface to display job activity for devices, enhancing user experience in monitoring job statuses.
2025-12-17 02:13:42 -08:00
Jamie Pine
7d7849d9ac Update tasks and fix server context 2025-12-16 22:45:43 -08:00
Jamie Pine
d7a400d4d0 fix windows CI 2025-12-15 06:37:37 -08:00
Jamie Pine
97438f815d fix mobile core build 2025-12-15 06:34:31 -08:00
Jamie Pine
0b93a60895 Refactor: Improve event unsubscription handling in useClient and App components
This update modifies the unsubscription logic in both the useClient and App components to utilize promises for better handling of asynchronous cleanup. This change enhances the reliability of resource management during component unmounting.
2025-12-15 05:46:59 -08:00
Jamie Pine
51b169b63b Merge branch 'main' into cursor/automatic-library-sync-switch-ecf7 2025-12-15 03:27:02 -08:00
Cursor Agent
29d79ee9e7 feat: Add auto-switch for synced libraries
This commit introduces an auto-switch feature for libraries created via sync. Users can now configure whether to automatically switch to a newly synced library. This involves updates to the preferences store, event handling in mobile and tauri apps, and modifications to the core library event system to include a `LibraryCreationSource` enum.

Co-authored-by: ijamespine <ijamespine@me.com>
2025-12-15 08:45:40 +00:00
Jamie Pine
09e088b2b3 Refactor audio processing by replacing FFmpeg subprocess calls with direct library usage for audio sample extraction, as subtitle generation was not working in release builds. Add new audio decoding module and enhance error handling for unsupported formats. 2025-12-15 00:42:29 -08:00
Jamie Pine
828b296adb Update Tauri build script to ensure it continues on failure and add macOS check in entitlement fix script 2025-12-14 21:56:52 -08:00
Jamie Pine
6d680fa028 Update Tauri configuration and styles; refactor components for improved readability and consistency. Adjusted CSS styles and Tailwind configurations, and made minor code formatting changes across various files. 2025-12-14 21:47:16 -08:00
Jamie Pine
44fff099e4 Merge pull request #2914 from spacedriveapp/build-stuff
Build stuff
2025-12-14 01:00:46 -08:00
Jamie Pine
5a604f3a94 Merge pull request #2907 from spacedriveapp/cursor/resource-event-system-refactor-7da6
Resource event system refactor
2025-12-13 17:53:24 -08:00
Jamie Pine
59553e2718 Merge pull request #2905 from spacedriveapp/tembo/remove-auto-accept-pairing
Remove auto-accept from pairing
2025-12-13 17:53:07 -08:00
Jamie Pine
9f1558b108 Fix device capabilities display and use sd_path 2025-12-12 18:22:59 -08:00
Jamie Pine
0ab4f96fda Update macOS entitlements and post-build script 2025-12-12 18:08:33 -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
af43ed76bd Update Tauri config, GitHub action, and Cargo.lock 2025-12-10 22:12:18 -08:00
Jamie Pine
12ddcce940 Run Clippy only on Linux runners
Limit CI clippy to Linux runners Refactor daemon_target path
construction in build.rs to a multi-line format for readability
2025-12-10 20:48:03 -08:00
Jamie Pine
9981ee76d2 Update TS configs and add typecheck script 2025-12-10 20:44:52 -08:00
Jamie Pine
1b36735935 Merge branch 'main' of https://github.com/spacedriveapp/spacedrive 2025-12-10 19:19:23 -08:00
Jamie Pine
25e86e754d remove external bin for now, tauri wont bundle with daemon in release
mode until this is solved, but you can use the CLI. this unblocks
compile.
2025-12-10 19:18:52 -08:00
Lynx
0386633ff4 lazily improve apple platforms icon 2025-12-10 18:02:48 -08:00
Jamie Pine
522b213f64 Update iOS Podfile.lock deps and guard daemon copy 2025-12-10 17:51:42 -08:00
Jamie Pine
b5ec591322 Always copy daemon to target path 2025-12-10 17:46:47 -08:00
Jamie Pine
cdfae75f8a fix tauri 2025-12-10 17:42:02 -08:00
Jamie Pine
00c98bde24 cargo fmt 2025-12-10 15:27:26 -08:00
Jamie Pine
ccb5909ebd Update CI and release workflows, add TypeScript support, and refactor code for clarity
- Standardized quotes in CI and release workflow files for consistency.
- Introduced TypeScript job in CI workflow to check for file changes and run type checks.
- Refactored function signatures in the macOS Tauri library for improved readability.
- Updated Tauri configuration for release build commands and include external daemon binary.
- Enhanced artifact handling in release workflow for better organization and clarity.
2025-12-10 15:21:01 -08:00
Jamie Pine
651e9bae46 Refactor and improve code clarity across multiple files
- Simplified the timeout handling in `is_daemon_running` for better readability.
- Updated type definitions in the macOS Tauri library for clarity.
- Reformatted JSON configuration for better structure and readability.
- Changed function signatures in `files.rs` and `server.rs` to use `Path` instead of `PathBuf` for consistency.
- Enhanced error handling and argument passing in various functions for improved clarity.
- Added `#[allow(dead_code)]` annotations to unused functions in several modules to suppress warnings.
- Improved the display string methods in `volume.rs` and `pairing/types.rs` for better performance and clarity.
2025-12-10 15:08:46 -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
a91c76c147 Rust fmt + fix CI xtask command 2025-12-10 14:09:46 -08:00
Jamie Pine
4525eda7de Update CI and release workflows to include native dependency setup and adjust CLI binary build features
- Added a step to set up native dependencies using `cargo xtask setup` in both CI and release workflows.
- Updated the build commands for CLI binaries to include `heif` and `ffmpeg` features, ensuring the binaries are built with the necessary capabilities.
- Modified `Cargo.toml` files for `sd-cli`, `sd-server`, and `tauri` to define `heif` and `ffmpeg` features separately, improving modularity and clarity in dependency management.
2025-12-10 14:05:24 -08:00
tembo[bot]
5d980257a0 refactor(pairing): Remove auto-accept option and related code 2025-12-10 21:20:41 +00:00
Jamie Pine
6e2b45d10b Update symlink path for Spacedrive.framework in tauri configuration
- Changed the path for Spacedrive.framework to include the "Frameworks" directory, ensuring alignment with the expected structure for macOS native dependencies.
2025-12-10 09:07:01 -08:00
Jamie Pine
9438965ffd Update subproject commits and Podfile.lock for dependency versioning
- Marked subprojects as dirty to indicate local changes.
- Updated Podfile.lock to reflect new versions for several dependencies, including EXConstants (18.0.11), EXManifests (1.0.10), Expo (54.0.27), and others, ensuring compatibility and access to the latest features and fixes.
- Adjusted paths in external sources to match updated dependency versions.
2025-12-09 19:24:04 -08:00
Jamie Pine
2770a7a8a9 fix volume display name and disable react-scan 2025-12-09 19:16:13 -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
38136ab5a7 Enhance filesystem watching and integrate new sound effects
- Introduced a new filesystem watcher service, replacing the previous location watcher with a more robust and platform-agnostic implementation.
- Updated the core context to include the new filesystem watcher and refactored related services for better integration.
- Added support for ephemeral event handling, allowing real-time updates for non-persistent locations.
- Integrated new sound effects for pairing operations in the UI, enhancing user experience during device pairing.
- Updated the File Operation Modal to support both copy and move operations with improved conflict resolution options.
- Refactored related components to ensure consistency and improved performance across the application.
2025-12-09 15:19:27 -08:00
Jamie Pine
591c7461a4 Add misc UI and ephemeral watching (wip) 2025-12-09 06:05:51 -08:00
Jamie Pine
b029004a24 Comment out startup sound in App component and update sound files for copy operations 2025-12-09 00:05:35 -08:00
Jamie Pine
337a284e96 Enhance file operation handling and add sound effects
- Introduced a new File Operation Modal for interactive file copy/move operations with conflict resolution options.
- Integrated sound effects for file operations, including copy and startup sounds.
- Updated the Explorer component to utilize the new modal for drag-and-drop file operations.
- Refactored job management hooks to unify job data handling and improve performance.
- Enhanced documentation for the File Operation Modal and sound effects integration.
2025-12-08 21:15:00 -08:00
Jamie Pine
8e4d6d0bdd Merge branch 'main' into setup-android 2025-12-08 17:39:50 -08:00
Gedeon
dc4bc2929f Add an actual message this time 2025-12-08 09:56:13 -05:00
Gedeon
5263f49afc Check if SDMobileCoreModule actually exists 2025-12-08 09:54:48 -05:00
Jamie Pine
ed0fa209b4 Improve comments 2025-12-07 22:23:57 -08:00
Jamie Pine
191c7f7ef0 Refactor to a single unified ephemeral index cache 2025-12-07 21:31:15 -08:00
Jamie Pine
c3517a554e Preserve ephemeral UUIDs during indexing
- Remove TTL-based ephemeral cache and switch to a permanent in-memory
  cache.
- Reuse ephemeral UUIDs when creating persistent entries to preserve
  continuity of user data.
- Populate ephemeral UUIDs during the processing phase and expose
  get_ephemeral_uuid in the indexer state.
- Remove the location invalidation hook and related UI usage.
2025-12-07 21:03:51 -08:00
Jamie Pine
cf400865f4 Introduce ephemeral index cache and status API
- Add a complete ephemeral indexing subsystem
  - core/src/ops/core/ephemeral_status with input/output and query types
  - core/src/ops/indexing/ephemeral with arena, cache, registry,
    index_cache, types
  - expose EphemeralIndexCache and EphemeralIndex through core modules
  - EphemeralIndexCache supports
    get/insert/create_for_indexing/mark_indexing_complete eviction and
    stats
- Implement EphemeralIndex data structures for memory-efficient storage
  - NodeArena, NameCache, NameRegistry, and related types
- Add EphemeralIndex status API
  - EphemeralCacheStatusInput and EphemeralCacheStatusQuery
  - EphemeralCacheStatus with per-index details
- Wire ephemeral indexing into the indexing flow
  - Change default Ephemeral Indexer behavior to shallow mode
  - Align code to EphemeralIndex usage across the codebase
- Enhance content kind detection in UI
  - Add getContentKind(file) helper (prefers content_identity.kind, then
    content_kind)
  - Use getContentKind in Explorer utilities and UI components
- Invalidate directory listings when location index_mode changes
  - Add useLocationChangeInvalidation to trigger refetches for ephemeral
    vs persistent indexing transitions
- Misc refactors and formatting to accommodate the new modules and APIs
2025-12-07 19:55:34 -08:00