* Sync tailwind configs
* Switch to new colors part 1
* new colors part 2
* switched to new colors
* settings screens template
* settings progress
* Setting header titles
* Refactor settings icon
* Fix tsconfig relative path issue
* Move mobile eslint config to @sd/config
* Add no-restricted-imports rule to eslint
* rename TextInput to Input & tailwind font sizing
* General Settings screen + Card component
* Library settings screen & delete lib dialog
* autoform hook
* Mini tweaks and new packages
* Exclude android & ios from search
* Add Switch (Input)
* Library General settings screen
* Refactor settings + Switch and Switch Container
* Locations screen & delete and rescan locations
* Rename folder + small tweaks
* Make things Swipeable
* Create Tag Dialog with color picker
* Upgrade to Expo 47
* More tag stuff
* fix pnpm lock
* regen pnpm-lock
* Change CI node version to 16
* Move `isVideo` into shared package
Co-authored-by: Oscar Beaumont <oscar@otbeaumont.me>
* add encryption+hashing algorithm to key viewer dialog
* abstract `save()` and `open()` with `Platform`
* add automount to `StoredKey` and offer option to enable/disable it for keys
* fix missing statement exec
* general tidy up
* add sync to library button and cleanup default setting code
* use alert dialogs for unsupported `open`/`save` operations (web)
* tweak alert message
* 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
* use master key to encrypt the root key (breaking)
* introduce breaking changes to the keymanager (this breaks master password changing, backup restoration, etc)
* change MP -> RK
* minor tweaks + comment out broken features temporarily
* experimental new master password changing
* add a `write_storedkey_to_db` helper function
* general cleanup and fixes
* potentially patch backup restoration
* uncomment+clean up restoration in api
* strip whitespaces from user inputted secret key, and fix MPC bug
* clippy
* add memory only flag to `StoredKey`
* fix annoying typo that was breaking master password changing under certain conditions
* move `Select` boxes out of `react-hook-form` so they work
* add `DummyKey` and rework the UI a little
* fix bug where user could select a hashing algorithm (it did nothing)
* fix bug where encryption algorithm would be inherited from the key, not the user's choice
* add benchmarks for encryption/hashing
* add more benchmarking sizes
* general performance improvements
* massive performance gain with minimal security impact
* update `sd-crypto` author info
* 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>
This messes up the spacing in non-fullscreen view.
We need to properly attach event listeners to the window and update this when full-screen mode changes.
* use @sd/client for tsconfig extends
* move all svgs to @sd/assets
* only use vite-tsconfig-paths
* remove ui from web
* use relative extends for ui tsconfig
* remove aliases from landing?
* use wacky landing vite config
* try using tsconfig paths and root on landing
* Revert "try using tsconfig paths and root on landing"
This reverts commit 43bd2a0f84.
* remove tsconfig-paths from landing
* add keys router
* make progress on keymanager integration
* make name non-negotiable
* hyphenate encryption algorithm names
* Revert "make name non-negotiable"
This reverts commit 9c0f51329e.
* add some more keymanager queries
* add master password and default key routes
* add newly registered key to db + fmt
* clippy, formatting and `updateKeyName` route
* add automount to schema+automount keys where `true`
* update bindings
* working key add/mount
* working keylist
* mounted keys show first
* cleanup code
* add comments, code cleanup, more functions
* unmount all keys button
* comment and keymanager `clear_master_password()`
* add no keys available message
* fix unmount button
* use dashmap for concurrency
* fix missing keylist issue and add invalidate query macro
* set correct RSPC types
* statically set master password (TEMPORARILY)
* add remove key function within the keymanager
* key dropdown menu and impl
* formatting
* allow `option_if_let_else`
* add comment about key stats
* add additional comment
* rpsc error handling for the keys route
* fix rspc errors with an impl
* crypto crate errors to `sd-crypto::Error`
* remove `map_err`
* use custom result type
* cargo fmt
* clippy
* fix builds
* remove `Error::MutexLock`
* fix unnecessary unwrap
* mutex error handling (buggy for some reason)
* clean default key logic
* fix default key clearing
* allow a key to be removed without bugs
* implement requested changes
* use a single `useMemo`
* update schema with defaults
* re-generate migrations
* use rust enums in TS
* remove dead code
* remove mutate expansion
* read key list from keymanager, not prisma
* add "Default" key marker and cleanup TS
* rustfmt
* remove dead code
* Fix File modal and Stats
* Add disabled and loading state for dialog
* Close library drowdown with drawer
* catch Rust panics on mobile to prevent UB
* Update packages
* Move create lib dialog to container
* Create library on onboarding
* Cleanup metro config & update packages
* onClose for Dialog & update library cache
* Fix pods, downgrade react-native-svg
* Fix lib switching, organization, start import modal
* Add device size info
* Revert merge + version upgrade/fix
* Create Location & Remove placeholder data
* Create default modal component
* Check if the location already exists
* Add media-library + prettier
* fix build
* Fix Xcode shellScript too
* More small fixes
* don't export bindings on mobile devices
* Explorer store + cleanup
* Explorer comp. & add flashlist
* [WIP] Files in Locations & new file thumb
* clean merge
* Fix imports
* Fix core on mobile
* Add platform context to mobile
* Refactor libraryStore
* Add thumb url path to platform context
* Try fixing app startup
* Add zip and video to filethumb
* Delete bindings.ts from mobile
* Remove heroicons from mobile too
* useForwardedRef hook
* Media Library permission stuff
* Clean import modal
* remove valtio-persist from @sd/client
* prevent Sentry capturing all events
* refactor `@sd/client` to make it better for mobile
* fix mobile splashscreen
Just trust me bro
* fix mobile draw active style
* use custom valtioPersist for current library state
* remove mobile lockfile
It's now in the pnpm workspace so it shared the main one.
* finally remove valtio-persist
* remove 'mobile' from Platform as it's in interface
Co-authored-by: Oscar Beaumont <oscar@otbeaumont.me>
* Sentry support
* remove broken import
Co-authored-by: Jamie Pine <32987599+jamiepine@users.noreply.github.com>
Co-authored-by: Jamie Pine <ijamespine@me.com>