Commit Graph

62 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
224ed772ac store cas ids on file paths 2023-01-28 11:42:24 +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
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
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
Oscar Beaumont
41752bff43 debug mode + minor fixes 2022-10-24 17:48:52 +10: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
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
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
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
Ericson "Fogo" Soares
07d9b121f5 Video thumbnails (#376)
* Preparing some scaffolding for video thumbnails

* Implemented thumbnail generation for videos
* Propagating errors of `Node` creation
* Using ffmpeg feature gate

* Introducing ffmpegthumbnailer-rs as a subcrate on core

* - rename to thumbnailer
- fix explorer thumbnail bug
- add more supported video types
- re-fix explorer performance

* remove nested licence

Co-authored-by: Jamie Pine <ijamespine@me.com>
2022-09-24 01:21:13 -07:00
Oscar Beaumont
1fca6fb60a onboarding UI flow 2022-09-12 23:43:12 +08:00
Oscar Beaumont
bd778a4f6b Merge remote-tracking branch 'origin/main' into eng-237-explorer-performance-2 2022-09-09 15:30:17 +08:00
Oscar Beaumont
4a059b4c3f goodbye import React. I won't miss you 2022-09-09 07:32:13 +08:00
Oscar Beaumont
4509998eb2 fix the production build issue + cleanup frontend 2022-09-09 06:29:47 +08:00
Jamie Pine
39b80eb018 job manager wip 2022-09-07 20:04:13 -07:00
Utku Bakir
a21fb007f7 Update rspc to 0.0.6 2022-09-07 11:55:37 +03:00
Utku Bakir
fa44b40fca Fix everything after rspc update 2022-09-07 10:49:27 +03:00
Utku Bakir
8e8a57da2f Merge branch 'main' into mobile-library 2022-09-07 10:18:47 +03:00
Jamie Pine
a45735ad57 fix indexer lag (reimplement debounced progress event for jobs) 2022-09-06 17:44:48 -07:00
Brendan Allan
e9336a1417 utilise include instead of with for type safety 2022-09-07 04:09:57 +08:00
Brendan Allan
d3665b8ccd rename getAll to list 2022-09-07 00:21:41 +08:00
Brendan Allan
1fd7f40ab0 fix everything after rebase 2022-09-06 22:34:39 +08:00
Utku Bakir
76052995f9 Bindings 2022-09-06 15:33:35 +03:00
Utku Bakir
fa7208a2ef Merge branch 'main' into mobile-library 2022-09-06 15:30:09 +03:00
Utku Bakir
00edc37633 Switch to Valtio 2022-09-06 15:26:08 +03:00
Jamie Pine
f3b8e6b14a replaced interface store with Valtio 2022-09-04 18:20:22 -07:00
Utku Bakir
f5eb24e411 Change relative path to ~ 2022-09-05 00:30:34 +03:00
Jamie Pine
d621145f49 Assignable Tags (#370)
* Tag queries + Identifier bug fix

- added empty pages for docs
- added non-functional "New Library" button to sidebar
- to accomplish above, moved dialog logic to component folder
- fixed Identifier bug where location id was not considered in the orphan files query, meaning it would attempt to identify many non-existent paths and fail to create the legitimate ones

* (fix) maintain file item aspect ratio in grid view
(fix) get tag query + get all tags

* codegen

* resurrected context menu

* fix window flash

* remove location based thumb sorting + update react on landing

* add is_archived to location

* improved context menu

* assign tag + refactor explorer store

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

* assign/unassign tags from context menu

* fix lint

* keep context menu open on tag change

* fix brendan feedback + merge main

* fix type

* codegen

* style changes

* revert windows size and xcode proj

* remove outdated doc

* coming sooooooon

* updated release notes

* release notes

* dashes > dots

* clean up docs

* more docs!

* restore entitlements

* remove unused util

* regenerated migrations post merge
- some additional error handling added to migration runner, needs more work!

* refactor explorer to support tags

* fix error and revert explorer bg color

* put it in a box they said

* revert location id store removal

* upgrade hero icons + style tweaks

Co-authored-by: maxichrome <maxichrome@users.noreply.github.com>
2022-09-04 13:00:24 -07:00
Utku Bakir
6fb6fdb904 Fix Reanimated bug & Finalize Create Lib 2022-09-04 16:26:20 +03:00
Utku Bakir
28a0e1fdc9 Update bindings =_= 2022-09-04 15:28:20 +03:00
Utku Bakir
e185ea0b8f Merge branch 'main' into mobile-library 2022-09-04 15:26:17 +03:00