* 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
* Fix spacing
* Primitive popup menu
* Sort by & layout menu
* Add sort direction
* Style sort by menu
* new file icons
* thumb wrapper
* update packages & fix folder color
* explorer list & grid views
* Fix grid view spacing
* Grid image sizing
* Explorer store + calculation of grid item size
* Explorer list view
* Explorer store on filerow too
* add hash with secret functions
* refactor KM to make the secret key both optional, and user-settable
* update library create function and create library dialog
* fix annoying MPC typo
* fix ordering of key manager creation and seeding
* overhaul master password changing UI to support the potentially empty secret key
* patch keymanager unlocking for potentially empty SK
* make create library dialog text more fitting
* remove dead code
* add autogeneration, view/hide, copy to clipboard icons
* cleanup older code
* make onboarding screen look a tad better
* minor UI tweaks
* patch backup restoration UI
* add pw generation to MP change dialog
* make sure passwords are same before submitting lib creation
* UI fixes and allow setting algorithm/hashing algorithm for master password
* make sure KM is re-seeded on SD load and prevent loading duplicate keys into the keystore
* remove old comment
* small organization
* update encryptfiledialog
* remove dead KM code
* cleanup some TS
* move `PasswordMeter` to separate file
* refactor master password change dialog
* cleanup the TS and improve string -> hashingalgorithm conversions
* add `key` values to selectoption
* capitalise `BLAKE3`
* fix sorting for `getHashingAlgorithmString`
* remove onboarding route
* Revert "add `key` values to selectoption"
This reverts commit 10e6456f22.
* add `key` to `SelectOptionKeyList`
* fix using rspc errors directly
* Update packages/interface/src/components/onboarding/Onboarding.tsx
Co-authored-by: Brendan Allan <brendonovich@outlook.com>
* use `navigator.clipboard.writeText`
* move `OnboardingConfig` to crypto crate
* move `zxcvbn` options outside of component
* further cleanup
* fix mobile typecheck
* fix keylist typo
* improve `SelectOptionKeyList` further
Co-authored-by: Utku Bakir <74243531+utkubakir@users.noreply.github.com>
Co-authored-by: Brendan Allan <brendonovich@outlook.com>
* 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>
* 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>
* use different cache
* cache prisma client in rustfmt
* cleanup prettier config
* build server image in sub-action
* server image + prisma client custom actions
* remove lefthoook checks that are in ci
* fix build-server-image
* rename Clippy job
* rename build core job
* use custom rust caching action
* fix rust cache shared key
* cleanup custom action job names
* remove platform check in clippy ci
* setup pnpm in clippy ci
* update mobile package name
* make ios compiling conditional
* use pnpm cache
* run clippy in release
* force use release for all jobs