Commit Graph

1044 Commits

Author SHA1 Message Date
Jamie Pine
d93d1efaaa chore: update submodule and add statistics listener for library management
- Updated the submodule reference in the landing app.
- Added a statistics recalculation listener in the LibraryManager to monitor resource changes.
- Included clipboard permissions in the capabilities configuration for enhanced functionality.
- Improved the LibraryInfoOutput struct to implement the Identifiable trait for better resource management.
2025-11-16 03:38:54 -08:00
Jamie Pine
b4e5212b60 feat: enhance clipboard capabilities and improve sync event tracking
- Added clipboard permissions for reading and writing text in the default capabilities configuration.
- Enhanced the sync test harness to capture job lifecycle events, improving tracking of indexing completion and orphaned file management.
- Implemented checks for orphaned files during synchronization, ensuring robust handling of incomplete sync scenarios.
2025-11-16 02:49:45 -08:00
Jamie Pine
c647ee8452 feat: add unique content count to library statistics
- Introduced a new field `unique_content_count` in `LibraryStatistics` to track the number of unique content identities.
- Updated various components to calculate and display unique content count, enhancing library statistics output.
- Modified the CLI and interface to reflect the new unique content metric, improving user insights into library data.
- Adjusted serialization and API responses to include the unique content count for better data consistency across the system.
2025-11-15 04:55:20 -08:00
James Pine
998d85a511 fix text language stats and add tauri icons 2025-11-14 21:24:54 -08:00
James Pine
62fd347e64 feat: implement cross-window library ID and selected files synchronization
Backend (Tauri):
- Add AppState with current_library_id and selected_file_ids
- Persist library ID to disk for app restarts
- Add Tauri commands: get/set_current_library_id, get/set_selected_file_ids
- Emit library-changed and selected-files-changed events to all windows
- Inject window globals to all windows (not just main)

Platform abstraction:
- Add library ID methods: getCurrentLibraryId, setCurrentLibraryId, onLibraryIdChanged
- Add window management: showWindow, closeWindow, onWindowEvent, getCurrentWindowLabel
- Add selected files methods: getSelectedFileIds, setSelectedFileIds, onSelectedFilesChanged
- Implement all methods in Tauri platform layer

App layer:
- Query library ID on window mount from platform state
- Listen for library-changed events and update client
- Fix event emission to trigger hooks (emitEvent: true)
- Remove direct Tauri imports from App.tsx

This enables:
 Library ID persists across app restarts
 All windows (main, inspector, quick preview) sync library ID
 Inspector receives selected files from main window in real-time
 Popout windows get current state on mount
 Clean platform abstraction - zero Tauri code in interface

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-14 21:20:39 -08:00
Jamie Pine
24aa4d9798 fix: specify response type for layout query in spaces module to ensure proper JSON handling 2025-11-14 07:28:19 -08:00
Jamie Pine
267d52d769 feat: enhance volume management with new filtering options and improved event handling; add stability tests for volume fingerprints 2025-11-14 05:20:05 -08:00
Jamie Pine
f0ab50c377 feat: add job policies to location management; enhance resource routing and event emissions for virtual resources; update TypeScript types for job configurations 2025-11-13 21:28:48 -08:00
Jamie Pine
54f978d210 feat: introduce Identifiable trait genericization and Spaces resource event system; enhance resource management with direct event emissions and improved routing logic 2025-11-13 10:20:45 -08:00
Jamie Pine
92291a68ff chore: update dependencies in bun.lock and Tauri app configuration; mark subproject commits as dirty for docs, landing, and interface modules 2025-11-13 04:26:58 -08:00
Jamie Pine
e7b7ce7f25 chore: mark subproject commits as dirty for docs, landing, and interface modules; update build script in Tauri app configuration 2025-11-13 04:22:51 -08:00
Jamie Pine
334cf12746 chore: update subproject commits for docs, landing, and interface modules; fix path in Tauri app configuration 2025-11-13 04:12:08 -08:00
James Pine
7983bdbd73 fix 2025-11-13 02:25:04 -08:00
Jamie Pine
da5d53942c feat: enhance media data management by adding support for audio, video, and image metadata extraction, update database schema, and improve file query operations 2025-11-12 22:20:43 -08:00
Jamie Pine
9f82071de4 feat: update Tauri app configuration with new asset protocol and permissions, enhance file path resolution, and improve volume management caching 2025-11-12 05:38:54 -08:00
Jamie Pine
b8efa432cb feat: add Spacedrop window functionality and update related routing in the Tauri app 2025-11-12 04:00:58 -08:00
Jamie Pine
b1dcb59076 feat: implement Identifiable trait for File resource, enhancing cache management and resolving frontend hacks 2025-11-12 04:00:51 -08:00
Jamie Pine
1559ab17b9 feat: add comprehensive AI processing system documentation, including job analysis, model management, and OCR/speech-to-text integration 2025-11-11 22:01:28 -08: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
4dde6524af chore: update subproject commits and enhance logging configuration with multi-stream support 2025-11-11 06:55:17 -08:00
Jamie Pine
b71072f065 feat: add context menu support and enhance drag demo with context menu functionality 2025-11-11 03:03:37 -08:00
Jamie Pine
d53371af92 chore: update subproject commits and enhance resource event handling with batch support 2025-11-10 19:23:47 -08:00
Jamie Pine
ee0349c97b tauri 2025-11-10 05:59:52 -08:00
Jamie Pine
ac4c5361dd chore: update dependencies in bun.lock, enhance event handling in RPC server, and add event listing functionality 2025-11-10 05:51:59 -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
9e37d84065 revert landing to initial commit 2025-11-06 05:19:54 -08:00
Jamie Pine
d479dbb468 rename Dockerfile to avoid Railway conflict 2025-11-06 02:21:33 -08:00
Jamie Pine
eabd8ef365 chore: update .dockerignore to streamline build artifacts, add new submodules for apps, and enhance ESLint configuration in UI package 2025-11-05 23:47:13 -08:00
Jamie Pine
7b42681f35 refactor: refactor display and formatting functions in sync/mod.rs 2025-10-30 16:25:36 -07:00
Cursor Agent
b3d94096b7 feat: Implement sync metrics CLI and watch mode
Co-authored-by: ijamespine <ijamespine@me.com>
2025-10-24 08:11:37 +00:00
Cursor Agent
facf10b299 feat: Add sync metrics collection and reporting
This commit introduces comprehensive metrics collection for the sync service. It includes tracking state transitions, operation counts, data volumes, performance indicators, and error events. The changes also add a new CLI command to view sync metrics and integrate metrics into the sync service's core functionality.

Co-authored-by: ijamespine <ijamespine@me.com>
2025-10-24 03:56:08 +00:00
Jamie Pine
559324ceb1 refactor: remove RegisterOnly and redesign sync setup UX
Replace confusing RegisterOnly action with clearer ShareLocalLibrary and JoinRemoteLibrary actions. Add placeholder for future MergeLibraries.

- Remove RegisterOnly from LibrarySyncAction enum
- Add ShareLocalLibrary (share your library to remote device)
- Add JoinRemoteLibrary (join existing remote library)
- Add MergeLibraries stub for future implementation
- Update CLI with three-option menu instead of two
- Simplify CLI arg parsing for new actions

The new UX is clearer: users choose to either share their library or join a remote one, instead of the ambiguous "register only" concept.
2025-10-23 18:36:17 -07:00
Jamie Pine
7187d82fd8 refactor: update pairing logic for interactive and non-interactive mode 2025-10-22 17:48:02 -07:00
Jamie Pine
3e50d20a8e feat: modify Join enum to include relay_url, node_id, and session_id 2025-10-22 17:48:02 -07:00
Jamie Pine
3092367fd1 refactor: update LibrarySyncSetupInput for optional arguments and interactive mode 2025-10-20 18:16:36 -07:00
Jamie Pine
2563a6dee9 feat: add create-shared action to SetupArgs 2025-10-19 14:41:46 -07:00
Jamie Pine
53a722a93c feat: implement CURRENT_DEVICE_SLUG and update device_id to device_slug 2025-10-16 03:52:01 -07:00
Jamie Pine
c9501d3773 refactor: update file references and imports for search facets 2025-10-15 23:48:18 -07:00
Jamie Pine
5eafd66bda feat: add cloud volume setup and migration changes 2025-10-15 02:03:22 -07:00
Jamie Pine
7477c9d440 (chore): CI fix 2025-10-15 00:08:40 -07:00
Jamie Pine
7d5869fa1c (chore): CI fix 2025-10-14 23:14:28 -07:00
Jamie Pine
f43d2456da (chore): CI fix 2025-10-14 23:02:13 -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
4d0c92fa04 chore: integrate DaemonCmd and rename daemon to sd-daemon 2025-10-14 05:55:05 -07:00
Jamie Pine
f2199574ae feat: implement OffloadPolicy and OffloadConfig 2025-10-14 05:55:05 -07:00
Jamie Pine
566d9c6a6a feat: add VolumeEvent enum and implement ApfsContainer 2025-10-14 03:00:50 -07:00
Jamie Pine
56fcf9be22 feat: add cloud volume handling 2025-10-14 01:23:11 -07:00
Jamie Pine
91310317ef feat: implement interactive cloud storage setup 2025-10-13 23:13:01 -07:00
Jamie Pine
dc20ff0e69 feat: add cloud module in CLI domain 2025-10-13 23:13:00 -07:00