Commit Graph

91 Commits

Author SHA1 Message Date
Brendan Allan
23fbb1e408 Move location online status out of database (#560)
* move location online status out of database

* remove useLibrarySubscription

* remove old code
2023-02-07 05:58:47 -08:00
jake
e5b45d8f49 [ENG-355] Keychain integration (and some typesafety) (#558)
* 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
2023-02-07 12:03:12 +00:00
Brendan Allan
d91bb9aa1d Merge branch 'main' into non-unique-objects 2023-01-30 12:11:35 +08:00
Brendan Allan
224ed772ac store cas ids on file paths 2023-01-28 11:42:24 +08:00
brxken128
f6845d7927 tell everything to use workspace tokio + add tokio git patch 2023-01-25 14:36:29 +00:00
Brendan Allan
3884224b1a Merge pull request #537 from spacedriveapp/separate-mobile-rust
Separate mobile rust
2023-01-23 02:11:18 -08:00
Brendan Allan
3e4ca13766 simplify eslint configs + add CI job 2023-01-22 16:01:15 +08:00
Brendan Allan
0354e6af9d update android configs 2023-01-22 12:47:54 +08:00
Brendan Allan
ebb2ab6809 os-gate ios stuff 2023-01-22 10:26:46 +08:00
Brendan Allan
c8cd199dd3 build sd-mobile-ios in separate script 2023-01-21 19:05:56 +08:00
Brendan Allan
2912d43fe1 rename to sd-core-ios in xcode project 2023-01-21 14:31:34 +08:00
Brendan Allan
89f4f7ebca sparate android + ios build targets 2023-01-21 14:31:17 +08:00
maxichrome
1b42826056 cleanup(don't hate me): prettier format everything 2023-01-19 19:32:35 -08:00
Utku
9de6f00c1d Mobile Explorer (#512)
* 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
2023-01-11 14:39:19 +03:00
Brendan Allan
3cc7a44435 relative imports in @sd/interface (#504) 2023-01-06 19:07:24 -08:00
jake
a454000612 [ENG-323] Key manager onboarding fixes (#506)
* 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>
2023-01-06 17:03:22 +00:00
Oscar Beaumont
1ad0f339c4 Integrate KeyManager with library creation flow (#491)
* integrate keymanager with library creation flow

* final fixes

* fix clippy recommendations

* minor fixes on library create dialog

* reenable `panic!` for no key + fix secret handling code

* prevent user setting secret , instead hardcode it

* clean library manager default key selection

* bring back wrongly removed `keys.onboarding` resolver

* fix types in `CreateLibraryDialog`
2023-01-04 00:13:12 +08:00
Utku
17865a6c96 Mobile - Settings & Tags (#479)
* 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>
2022-12-13 15:18:03 +08:00
Brendan Allan
4e024a6861 tabs > spaces 2022-11-02 15:57:43 +08:00
Brendan Allan
56bcaf9bc3 rename mobile package to @sd/mobile (#453) 2022-11-02 00:31:56 -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
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
Oscar Beaumont
41752bff43 debug mode + minor fixes 2022-10-24 17:48:52 +10:00
Jamie Pine
af1cedccc8 Merge branch 'main'
Conflicts:
	packages/interface/src/screens/settings/library/LibraryGeneralSettings.tsx
2022-10-23 18:43:27 -07:00
Brendan Allan
79f05f1de0 remove openssl from core 2022-10-22 05:43:39 +08: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
584a5f1321 update pnpm-lock 2022-10-19 18:47:55 +08: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
Oscar Beaumont
17c7201cd7 🎉 Fix core on Android 2022-10-18 20:57:17 +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
Oscar Beaumont
6e0285e7f7 Merge remote-tracking branch 'origin/main' into fix-reactivity 2022-10-18 11:29:02 +08:00
Oscar Beaumont
30c02c1e52 upgrade rspc + fix reactivity + add in disabled Normi code 2022-10-18 04:45:37 +08:00
Brendan Allan
60df0aaa53 add postinstall script for react-native-codegen 2022-10-17 23:42:32 +08:00
Brendan Allan
f32dd89111 minor refactors 2022-10-17 22:23:01 +08:00
Brendan Allan
76ae07a754 put mobile in pnpm workspace 2022-10-17 21:27:14 +08:00
Jamie Pine
b1cedc75a4 (hotfix) p2p preventing compile 2022-10-08 11:30:17 -07:00
Oscar Beaumont
450ad0daa2 merge duplicate prettier config and format repo with it 2022-10-07 07:45:15 +08:00
Oscar Beaumont
90644be566 Expo committed cringe 2022-10-07 04:56:59 +08:00
Oscar Beaumont
6462a18768 Fix mobile + upgrade Expo + even newer rspc 2022-10-06 21:07:46 +08:00
Brendan Allan
f9b55039a7 merge meain into update-rspc-and-more 2022-10-05 10:11:52 +08:00
Brendan Allan
49d4dbb0dd Improve CI Speed (#398)
* 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
2022-10-04 18:45:54 -07:00
Brendan Allan
817e4443c0 merge main into update-rspc-and-more 2022-10-05 08:58:03 +08:00
Jamie Pine
b9ce8e9f57 Rename Files to Objects (#396)
* backend rename complete

* finalize Object refactor frontend
+ remove some exhaustive dep suppression
+ FIX INVALIDATE QUERY BUG
2022-10-04 09:16:49 -07: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
93907f7c0b please rustfmt 2022-10-04 20:07:05 +08:00
Oscar Beaumont
b250ab6861 bundle splitting and performance optimisations 2022-10-02 01:37:35 +08:00
Oscar Beaumont
fc1c6d0906 upgrade rspc 2022-10-02 01:16:11 +08:00