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 9c0f51329e5d7cceea2d6ade0b8124a79806b747.
* 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
jake
e1da54d75b
Fix metadata/preview media sizes for 32-bit targets ( #446 )
...
replace `usize` with `u64` for md/pvm lengths
Co-authored-by: Utku Bakir <74243531+utkubakir@users.noreply.github.com>
2022-10-29 02:07:10 -07:00
Brendan Allan
ebddb873f0
More Sync Stuff ( #438 )
...
* broken sync example
* move to react
* filter owned ops more
* update deps
* working sync
* relation operations
* fix pnpm lock
* please rustfmt
* fix api
* compare strings properly
* please clippy
* feature gate logging
* use bleeding rspc in example
* use bleeding rspc
* use generated rspc client
2022-10-27 23:12:28 -07:00
maxichrome
aa5d43efff
Improve setup script ( #436 )
...
* Improve bash setup script (less silent!)
* use proper FFmpeg capitalization in relevant docs
* Fix typo in Homebrew error message
Co-authored-by: maxichrome <maxichrome@users.noreply.github.com>
2022-10-25 18:08:50 -07:00
Jamie Pine
af1cedccc8
Merge branch 'main'
...
Conflicts:
packages/interface/src/screens/settings/library/LibraryGeneralSettings.tsx
2022-10-23 18:43:27 -07:00
jake
702e3a7613
[ENG-258] Key Manager and Crypto Crate Improvements ( #423 )
...
* add base keymanager structs/functions
* change md/pvm `new()` to prevent useless re-hashing
* update lockfile
* update keymanager
* cleanup code, make things easier to understand
* move md and pvm construction to the header
* update pvm ser/de
* update metadata ser/de
* additional API changes, update example
* formatting and clippy
* update examples
* move `impl` to associated files
* formatting+clippy
* add more keymanager functionality
* add docs
* wrap `master_password` as an option
* add `sd-crypto` crate as a dependency to `core`
* add key manager to `LibraryContext`
* rename `id` -> `uuid`
* add more keymanager functions
* add `set_master_password()` function
* function to see if keymanager has master password
* update schema
* add default bool to schema
* populate keystore on SD startup
* clippy+formatting
* implement requested changes
* remove unwrap
* fmt, clippy, remove ser/de derives
Co-authored-by: Brendan Allan <brendonovich@outlook.com>
2022-10-23 03:47:41 -07:00
Jamie Pine
7495192662
finish theming
2022-10-23 03:24:46 -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
Brendan Allan
8b5a16ffb7
sync docs
2022-10-19 14:44:09 +08:00
Jamie Pine
40657b62b4
Merge branch 'main' of https://github.com/spacedriveapp/spacedrive
2022-10-17 01:36:05 -07:00
jake
911feec014
[ENG-256] Crypto Crate Refinements ( #410 )
...
* add experimental preview media support
* clippy+formatting
* add support for mk/pvm nonces
* fix cursor positioning+size deserialization bug
* clippy+formatting
* cleanup code and add `decrypt_preview_media()`
* update comment
* remove `Mode` from `Keyslot`
* use little-endian `usize` for media length
* remove memory objects
* remove mode enum
* add `.zeroize()` to `Protected<>`
* remove `Mode` ser/de
* refactor, remove `Mode`, add helper functions
* formatting
* remove unused error
* update comments/docs
* comments, fix large files, insane performance
* doc updates and fix decrypt zeroize
* revert to 1048576 byte `BLOCK_SIZE`
* `Keyslot` and `PreviewMedia` constructors now handle encryption
* add metadata item with associated functions
* update comments, clean up useless items
* add metadata support within the header
* remove stray 128 in length calcs
* include metadata in header ser/de
* fmt+clippy
* rework keyslot decryption
* formatting
* api changes, code cleanup
* docs for `stream.rs`
* massive documentation re-write
* mark expensive doc test as ignore
* minor api tweaks
* add examples
* formatting+linting
* finalise documentation and add more examples
* formatting
2022-10-13 15:25:42 -07:00
Jamie Pine
b1cedc75a4
(hotfix) p2p preventing compile
2022-10-08 11:30:17 -07:00
jake
0db9603823
[ENG-250] Crypto Library ( #400 )
...
* add crypto crate with some functionality
* formatting
* add `argon2id` parameter levels
* add descriptive comments
* add stream decryption objects
* add `StreamEncryptor` struct
* add `StreamDecryptor`
* general cleanup
* add `thiserror` and error handling
* add header structs
* add basic serialization functionality
* advance serialization
* finish serialization
* clean up serialization and use `impl`
* finalise deserialization
* add stream helper functions and remove old code
* add AAD creation and retrieval
* add important comment
* add `ChaCha20Rng` as a CSPRNG
* cleanup and crate-wide clippy lints
* apply nursery lints
* add in-memory encryption objects
* rename `utils` to `objects`
* move (de)serialization rules to separate file
* add header-write helper function
* add password hash helper function
* add `decrypt_master_key` function
* cleanup, formatting, linting
* move keyslots to separate file, and rename them
* add basic comments
* remove `secrecy` dependency and import `protected`
* add `to_array` helper function
* `sd_crypto` -> `sd-crypto`
* remove manual drops
* add clippy allows
* add `new()` for `Keyslot` and `FileHeader`
* remove license
* zeroize read buffer on error
* magic bytes are now `ballapp`
Co-authored-by: Brendan Allan <brendonovich@outlook.com>
Co-authored-by: Jamie Pine <32987599+jamiepine@users.noreply.github.com>
2022-10-07 07:31:40 -07:00
Jamie Pine
5ff3d5fecb
Merge branch 'main' of https://github.com/spacedriveapp/spacedrive
2022-10-06 18:10:08 -07:00
Jamie Pine
2b85431e1b
sd extensions crate
...
Co-authored-by: Brendan Allan <brendonovich@outlook.com>
2022-10-06 18:10:03 -07:00
Oscar Beaumont
450ad0daa2
merge duplicate prettier config and format repo with it
2022-10-07 07:45:15 +08:00
Oscar Beaumont
19017d1001
cargo fmt + fix clippy lints
2022-10-07 07:39:59 +08:00
Oscar Beaumont
893dffedbd
Merge remote-tracking branch 'origin/main' into merge-p2p-code
2022-10-07 05:56:05 +08:00
Oscar Beaumont
dba39047ae
fix major bugs in p2p PR
2022-10-07 05:51:40 +08:00
Oscar Beaumont
2d2d7223d2
merge in P2P code
2022-10-07 05:32:45 +08:00
Oscar Beaumont
6d7285b2ea
upgrade workspace dependencies
2022-10-06 14:03:58 +08:00
Brendan Allan
817e4443c0
merge main into update-rspc-and-more
2022-10-05 08:58:03 +08:00
Brendan Allan
74b42bf45c
[ENG-84] Sync library ( #394 )
...
* new sql lib stuff
* add sync stuff + rename all crates
* build sd-core
* add sync/example/dist to source
* fix sync example in monorepop
* appease clippy
* update lockfile
* update commit hooks
* fix typescript
* fix typescript build
* please rustfmt
2022-10-04 05:25:12 -07:00
Brendan Allan
72069411bf
move prisma schema and migrations to /core ( #392 )
...
* move prisma schema and migrations to /core
* fix prisma updates
2022-10-04 02:32:46 -07:00
Oscar Beaumont
fc1c6d0906
upgrade rspc
2022-10-02 01:16:11 +08:00
Jamie Pine
6796262619
Added crates folder ( #389 )
...
* restructure core for crates folder
- improve naming consistency
- added placeholder files for near future code
- added docs
* - removed all typescript from core
- moved rspc bindings to client
* remove useless git ignore & rustfmt
2022-09-29 21:02:29 -07:00