Commit Graph

202 Commits

Author SHA1 Message Date
jake
55e9d02136 [ENG-307] Key manager features (#467)
* working key management in settings page

* sync with library button

* fix `rspc` feature and add passphrase generation

* untested key manager rework

* trying to return values from mutations

* update library manager and remove settiong master PW

* update bindings

* set static secret key/master password

* prompt user for master password if correct one hasn't been provided yet

* add `hasMasterPassword` route

* add `clearMasterPassword` route + remove dead code

* tweak `set_master_password()` and add dedicated error

* tweak UI, fix `few hooks than expected`, add unmount+lock button

* remove old comment

* fmt

* clippy

* move static key/password setting so it doesn't fail sometimes

* add dedicated `get_key()` and remove keys from memory

* add `getKey` route

* update bindings

* use `const` instead of `let`

* comment updates

* update schema to remove salt

* add string parse error

* generate passphrase within key manager

* generate new migrations

* feature gate serde support in `crypto` crate

* fmt

* more specific error types

* foramatting

* add locking mechanism to keysettings page (not working?)

* fix react hook issues

Co-authored-by: maxichrome <maxichrome@users.noreply.github.com>

* remove empty onclick

* add keymanager dropdown menu

* working key backup functionality

* add experimental master password changing support

* update bindings

* semi-working change master password dialog

* use gear/lock icons to clean up key manager UI

* make settings button functional

* make buttons uniform and format code

* fix double base64 encode

* add change master password dialog and secret key dialog

* code cleanup

* restore backup dialog

* change UI wording

* make a start on restoring from a backup

* potentially working keystore restore

* don't overwrite verification key if one is set

* working backup restore + fix master password changing

* fix typo in static password/verification key check logic

* change wording to make UI clearer

* disable mount button if key is empty

* handle errors+remove type annotations

* show total imported keys on backup restoration

* add zxcvbn package

* change input border colour based on zxcvbn score

* clippy and formatting

* password strength meter

* remove nbsp

* add button type to stop early form submission

* use `react-hook-form` for backup restoration dialog

* more `react-hook-form` stuff

* attempt to fix password meter

* small cleanup

* Fix password meter

* update colours

Co-authored-by: maxichrome <maxichrome@users.noreply.github.com>
Co-authored-by: Utku Bakir <74243531+utkubakir@users.noreply.github.com>
2022-12-02 10:18:21 +00:00
Brendan Allan
cc84db49c8 Utilise tsconfig paths for workspace module resolution (#454)
* 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
2022-11-06 20:18:41 -08:00
erikpodusel
1d0b76159a fixed traffic lights bar showing all the time (#464)
desconstructed props inside TrafficLights

Co-authored-by: Erik Podušel <podusel@gomerch.company>
2022-11-05 14:15:35 -07:00
jake
84d0954294 [ENG-262] Key Manager Integration (#450)
* 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
2022-11-05 04:18:01 -07:00
Utku
5b47a1062a Mobile - File Import (#443)
* 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>
2022-11-01 21:32:56 +08:00
Jamie Pine
63a846c56d Polish Icon Usage (#437) 2022-10-25 18:47:09 -07:00
Oscar Beaumont
22212a5177 fix ENG-226 - App crashing with no libraries 2022-10-25 19:16:00 +10:00
Oscar Beaumont
847394046a React Query devtools 2022-10-25 11:41:46 +10:00
Oscar Beaumont
d536824ca1 Fix enter key not submitting dialog 2022-10-25 10:11:07 +10:00
Jamie Pine
0fb1d944b8 keybinds 2022-10-24 04:14:07 -07:00
Jamie Pine
dc52360593 more styles 2022-10-24 03:04:52 -07:00
Jamie Pine
9094d64d1e Merge branch 'spacedrive-but-themable' of github.com:spacedriveapp/spacedrive into spacedrive-but-themable 2022-10-24 01:18:05 -07:00
Jamie Pine
ecc24a43d8 job indicator + styling 2022-10-24 01:17:10 -07:00
Oscar Beaumont
41752bff43 debug mode + minor fixes 2022-10-24 17:48:52 +10:00
Jamie Pine
b2a0cd1b5c more style tweaks 2022-10-23 18:20:36 -07:00
Jamie Pine
b696f2a510 various style fixes 2022-10-23 18:09:15 -07:00
Jamie Pine
5b39400070 style tweaks, fix TS CI 2022-10-23 16:17:53 -07:00
Jamie Pine
7495192662 finish theming 2022-10-23 03:24:46 -07:00
Jamie Pine
7a58887048 more theming 2022-10-22 22:46:46 -07:00
Jamie Pine
5948593bd7 further tweaking 2022-10-22 07:01:59 -07:00
Jamie Pine
54e27dba47 more theming 2022-10-22 04:24:00 -07:00
Jamie Pine
71f987a4dc morpe stuf 2022-10-22 00:02:35 -07:00
Jamie Pine
83f86eeaba styled explorer top bar 2022-10-21 23:21:22 -07:00
Jamie Pine
4b9b8f335f refactor switch component + update styles 2022-10-21 21:50:47 -07:00
Jamie Pine
23a45563df refactor progress 2022-10-21 04:45:53 -07:00
Jamie Pine
237c5a12af Merge branch 'eng-259-identify-objectkind'
Conflicts:
	apps/landing/package.json
	apps/landing/vite.config.ts
	packages/interface/src/AppLayout.tsx
	packages/interface/src/components/explorer/Explorer.tsx
	packages/interface/src/components/explorer/ExplorerTopBar.tsx
	packages/ui/src/ContextMenu.tsx
	pnpm-lock.yaml
2022-10-20 22:49:15 -07:00
Jamie Pine
db91ba80f9 progress 2022-10-20 22:36:25 -07:00
Jamie Pine
ed20c0ca1d merge 2022-10-20 21:55:39 -07:00
Brendan Allan
3bf95b2993 add CreateLibraryDialog to sidebar dropdown 2022-10-21 11:26:15 +08:00
Brendan Allan
d4ad33e9c1 refactor dropdown 2022-10-21 10:29:50 +08:00
Brendan Allan
4ed63cc85d use custom tailwind styled function (#426)
* use custom tailwind styled function

* update pnpm lock

* fix landing vite config
2022-10-20 17:34:40 -07:00
Brendan Allan
d4d019680c use padding="thin" 2022-10-21 04:14:54 +08:00
Brendan Allan
8fa7b1e5e1 UI refactor (#418)
button refactor

Co-authored-by: Jamie Pine <32987599+jamiepine@users.noreply.github.com>
2022-10-18 21:24:47 -07:00
Oscar Beaumont
55b2f0a783 Merge remote-tracking branch 'origin/main' into fix-reactivity 2022-10-18 22:09:33 +08:00
Oscar Beaumont
c4a12bd1a7 use React.PropsWithChildren 2022-10-18 22:04:19 +08:00
Oscar Beaumont
5f4003e8b1 purge unused dependencies 2022-10-18 21:52:00 +08:00
Oscar Beaumont
7ab2795b18 Removing import React from mobile 2022-10-18 20:58:05 +08:00
jake
a65c59726d [ENG-245] Object Validator Job (#414)
* use `.to_hex()` for blake3 hashes

* move file hashing function+fix large stack alloc

* init validator job

* change branch name

* add object validator job

* formatting

Co-authored-by: Jamie Pine <ijamespine@me.com>
2022-10-18 05:39:33 -07:00
Jamie Pine
da67bde72d fix video thumb and inspector scroll 2022-10-18 00:00:33 -07:00
Jamie Pine
8c2175d156 ui cleanup 2022-10-17 23:38:41 -07:00
Jamie Pine
b8bc9abbb6 improvements to key manager ui 2022-10-17 21:01:40 -07:00
Jamie Pine
40657b62b4 Merge branch 'main' of https://github.com/spacedriveapp/spacedrive 2022-10-17 01:36:05 -07:00
Jamie Pine
bf99e8200c - added explorer options panel
- added Select ui component
- added tailwind-radix
2022-10-17 01:32:36 -07:00
Jamie Pine
1e5d70571e fix settings suspense 2022-10-16 02:48:58 -07:00
Jamie Pine
708e8ae92d improve dialog animation + move to ui lib 2022-10-15 22:11:25 -07:00
Jamie Pine
0aee464ee9 mockup: key manager ui
- thanks AndrewTech for help with react spring +  radix combo
2022-10-15 21:40:10 -07:00
Oscar Beaumont
450ad0daa2 merge duplicate prettier config and format repo with it 2022-10-07 07:45:15 +08:00
Brendan Allan
1c704d95e6 merge main into update-rspc-and-more 2022-10-06 18:34:18 +08:00
Jamie Pine
1d9590c1cf Magic bytes 🪄
Co-authored-by: Brendan Allan <brendonovich@outlook.com>
2022-10-05 13:16:22 -07:00
Brendan Allan
a37deaa159 merge main into update-rspc-and-more 2022-10-05 12:01:50 +08:00