- Introduced GlassSearchBar component for enhanced search functionality in the mobile app.
- Added JobManagerPanel component to manage and display job statuses.
- Updated Xcode scheme to use Debug configuration and LLDB debugger for improved development experience.
- Enhanced OverviewScreen to integrate the new components, improving user interaction and job visibility.
- Implemented `getAppVersion` method in the platform abstraction to fetch the application version.
- Updated `DaemonStartupOverlay` to display the app version during startup, improving user feedback.
- Introduced a new `Orb` component for enhanced visual effects in the overlay.
- Made minor layout adjustments in various components for better UI consistency.
- Added a new DragSelect component to facilitate multi-file selection using mouse drag.
- Integrated DragSelect into GridView, ListView, and ColumnView for consistent user experience.
- Enhanced file selection logic to support both single and multi-file selections, including modifier key handling.
- Updated FileCard and TableRow components to include selectable data attributes for drag selection.
- Improved performance with scroll handling during drag operations and optimized event management.
- Introduced context for managing drag selection state and behavior across different views.
- Modified `isVirtualFile` and `getVirtualMetadata` functions to improve type safety and null checks for virtual files.
- Enhanced `useFileContextMenu` and `useDraggableFile` hooks to prevent operations on virtual files, ensuring better user experience.
- Updated `ColumnView` and `GridView` components to support virtual file navigation and display, including new logic for handling selected directories.
- Introduced `TextViewer` and `WithPrismTheme` components for improved text file previews in the QuickPreview section.
- Added new dependencies in `package.json` for syntax highlighting support in text previews.
- Added a new `file_count` column to the `content_kinds` table to track the number of content identities for each kind, improving statistics calculation efficiency.
- Implemented a migration script to add the `file_count` column and ensure backward compatibility.
- Updated the `Library` struct to include a method for updating content kind counts based on existing content identities.
- Introduced a new query for retrieving content kind statistics, including file counts, to facilitate better data analysis and reporting.
- Refactored related components to support the new statistics functionality, enhancing overall data integrity and performance.
- Introduced a new file type definition for PLY 3D models in `misc.toml`.
- Updated `package.json` to include dependencies for Gaussian splats and React Three Fiber.
- Implemented a `MeshViewer` component for rendering 3D models, supporting both standard mesh and Gaussian splat formats.
- Enhanced `ContentRenderer` to handle mesh file types with lazy loading for improved performance.
- Updated TypeScript configuration to include types for React Three Fiber.
- Add show_paired flag to device listing (CLI arg and input) - Extend
LibraryDeviceInfo with is_paired and is_connected; include Paired
devices in library listing when requested - Add Devices group to UI
(DevicesGroup) and hook into SpaceGroup - Extend device queries/types to
support show_paired and paired devices - Refactor Dockerfile to
multi-stage Bun + Rust builds; reuse web assets - Remove obsolete
core/ops/entries/mod.rs
- Updated the subproject commit reference to indicate a dirty state.
- Added blank lines to various files for improved readability and consistency across the codebase.
* beginnings of app directory
* settings mostly good
* colocate way more components
* flatten components folder
* reexport QueryClientProvider from client
* move CodeBlock back to interface
* colocate Explorer, KeyManager + more
* goddamn captialisation
* get toasts out of components
* please eslint
* no more src directory
* $ instead of :
* added back RowHeader component
* fix settings modal padding
* more spacing, less margin
* fix sidebar locations button
* fix tags sidebar link
* clean up back button
* added margin to explorer context menu to prevent contact with edge of viewport
* don't export QueryClientProvider from @sd/client
* basic guidelines
* import interface correctly
* remove old demo data
* fix onboarding layout
* fix onboarding navigation
* fix key manager settings button
---------
Co-authored-by: Jamie Pine <ijamespine@me.com>
* update crypto MSRV
* rename `keychain` to `keyring`
* make a start on the keymanager unlock refactor/keychain integration
* update routes
* update bindings
* add const identifiers
* add UI/front-end support for unlocking KM with OS keychains
* remove SK from lib creation dialog
* update query name
* add keyring functions
* attempt to update `change_master_password()` to use the keychain
* cleanup, fix master password change ui, better secret key in keyring detection
* cleanup TS a little
* add route for getting secret key from keyring
* update bindings
* update var names + show secret key in keys settings
* add `react-qr-code` and option to view the secret key (if it's in the OS keyring)
* allow copying SK to clipboard
* add `key_type` so we're not reliant on specific UUIDs for root/verification key handling
* clippy
* fix mobile typecheck
* fix typecheck, fix typo and tweak balloon hash parameters
* minor cleanup + typo fix
* use newtype structs
* WIP type refactoring (major readability boost!)
* update `use`
* add tokio `sync` feature
* too many structs? idk
* more cleanup
* add `generate` and `Nonce`
* `Nonce` and `Key` typesafety (beautiful)
* clippy + cleanup
* update code & examples
* fix bug & remove `ProtectedVec` as it looked out of place
* use `Key`
* add a query invalidation to make the UI extremely responsive
* ci pls work
* remove `keyringHasSk` route
* refactor routes
* use default export for screens
* use "route" relative routing
* don't use absolute import for root screens
* no absolute importing folders!!!
* fine we can absolute import folders
* add generic dialog for keys settings
* revert artifact failed key viewing attempt
* move `Select` key list component
* rename dialog
* remove unused imports and add new select option for *all* keys
* add WIP but broken key viewer dialog
* cleanup code and fix key viewer dialog
* add clipboard icon and copy functionality
* generalise the `AlertDialog` and refactor `BackupRestoreDialog` to use it
* use new alert dialog in place of JS/tauri alerts
* use generic alerts everywhere and bring generic alert props/default state
* make `SelectOptionKeyList` generic for mounted/unmounted keys (with the use of `map` for the latter)
* add clipboard to generic alert dialog + clean up
* fix accent colour button for backup restoration
* remove unneeded props from components
* add slider+automount button
* tweak password gen function
* add password autogeneration
* clippy
* tweak password generation
* use `crypto-random-string` and drop rust password generation
* add default TEMPORARY keymanager pass/secret key to library creation screen
* make key automounting functional
* clean up key viewer
* change dialog name
* remove slider as that wasn't even being used?
* make requested changes and hide key viewer if no keys are in the key manager
* prevent automount and library sync from being enabled simultaneously
* include `memoryOnly` in key
* mark keys as memoryOnly
* add base crypto job
* leave hashing to the KM and not keyslots
* add latest header object versions and update examples
* add a very experimental (local file!) encrypt job
* working file encryption with default key
* working file decryption
* non-working encrypt file dialog
* general code cleanup
* comments and correct feature locking
* fix the `Dialog`
Co-authored-by: maxichrome <maxichrome@users.noreply.github.com>
* WIP encrypt dialog
* massive encrypt dialog overhaul
* add generic explorer alert dialog
* better key naming/numbering, alerts for unsupported scenarios
* cleanup + decrypt file dialog
* remove debugging stuff
* remove dead code & fix a bug with key select being empty
* clean up dialog UI massively
* add support for setting output path
* add correct button type to prevent early dialog submits
* add "nice" job data for encrypt/decrypt
* tweak functionality of key setting in encrypt dialog
* include full file metadata if selected, and lay out groundwork for preview media inclusion
* add comment about not restoring metadata/pvm just yet
* general cleanup
Co-authored-by: maxichrome <maxichrome@users.noreply.github.com>
Production build issue was because we `useSnapshot` in a different package to where the store was created.
Putting the libraryId in context makes the app noticeably slower because of React rules so I undid that change.