Commit Graph

163 Commits

Author SHA1 Message Date
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
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
Oscar Beaumont
0a3833f34d fix prod build not working & thumbnails on web 2022-11-04 17:19:46 +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
847394046a React Query devtools 2022-10-25 11:41:46 +10: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
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
Oscar Beaumont
55b2f0a783 Merge remote-tracking branch 'origin/main' into fix-reactivity 2022-10-18 22:09:33 +08:00
Oscar Beaumont
5f4003e8b1 purge unused dependencies 2022-10-18 21:52:00 +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
30c02c1e52 upgrade rspc + fix reactivity + add in disabled Normi code 2022-10-18 04:45:37 +08:00
Jamie Pine
40657b62b4 Merge branch 'main' of https://github.com/spacedriveapp/spacedrive 2022-10-17 01:36:05 -07: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
6d7285b2ea upgrade workspace dependencies 2022-10-06 14:03:58 +08:00
Brendan Allan
a37deaa159 merge main into update-rspc-and-more 2022-10-05 12:01:50 +08:00
Jamie Pine
1739ba8ffa Object Kind (#397)
* add temp custom icons and tweak styles

* tweaks

* - added Object type structs
- added extension enums with variant macros
- improved explorer rendering
- added database migration hotfix

* - added dev only data folder
- improved explorer image loading

* macros do rule !

* remove baselining

Co-authored-by: Brendan Allan <brendonovich@outlook.com>
2022-10-04 20:34:41 -07:00
Brendan Allan
414b8eb47d Use turborepo for desktop & web apps (#399)
* add turborepo

* give docs a package.json

* tabs not spaces

* tabs not spaces
2022-10-04 18:59:28 -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
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
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
c218fbabe1 fix explorer in production builds + move libraryId back to Valtio
Production build issue was because we `useSnapshot` in a different package to where the store was created.
Putting the libraryId in context makes the app noticeably slower because of React rules so I undid that change.
2022-09-13 14:32:32 +08:00
Oscar Beaumont
e293290862 send report button working on error boundary 2022-09-13 00:14:47 +08: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
8208cddb07 assorted minor changes 2022-09-09 07:57:35 +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
Utku Bakir
a21fb007f7 Update rspc to 0.0.6 2022-09-07 11:55:37 +03: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
Jamie Pine
f0b14a5a7a upgrade valtio back to latest 2022-09-04 18:22:56 -07:00
Jamie Pine
f3b8e6b14a replaced interface store with Valtio 2022-09-04 18:20:22 -07:00
Jamie Pine
d16fdedd3d valtio 2022-09-04 15:58:16 -07:00
Jamie Pine
11dba3414d add tanstack virtual 2022-09-04 14:13:02 -07: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
Oscar Beaumont
b01887c5ab Rustify mobile (#361)
* Refactor navigation flow & types

* Remove drawer screen wrapper

* Remove DrawerItem + cleanup

* Switch to JS Stack Nav & header animations

* [WIP] Spacedrive core on Android & IOS

* Update Podfile and cleanup Contributing guide.

* Remove @sd/core from mobile

* File Modal

* Prettify File Modal & Add date-fns

* IOS subscriptions

* Update package versions

* Custom header for stack screens

* android subscriptions

* Animate Drawer button & template for Search screen

* Search header

* Fix Search icon being weird

* Merge branch 'main' into rustify-mobile

* fix rspc dep + setup script for mobile

* Less margin on header

* Move shared assets & drawer logo for mobile

* support for IOS simulator

* add type safe rspc hooks to mobile

* Cleanup PR & Update packages

* Updated bindings from main

* Update lefthook.yml

* Remove `tag` folder from core
The `tag` folder came back from the dead. Maybe it got confused in merge conflict?

* update pnpm lockfile + fix tsc errors

* fix asset import

Co-authored-by: Utku Bakir <74243531+utkubakir@users.noreply.github.com>
2022-08-29 04:59:09 -07:00
Oscar Beaumont
07aeb31712 fix Windows support 2022-08-12 14:48:49 +08:00
Oscar Beaumont
3804f034f1 Move Rust backend to rspc (#345)
* move Rust backend to rspc

* move server to Axum + remove parts of old bridge

* move frontend over to @rspc/client

* move core to rspc + update deps

* fix Typescript errors + upgrade deps

* document invalidate_query! macro

* general cleanup + upgrade to PCR 0.6.0

* prisma error handling

* upgrade to rspc 0.0.4

* update vite-plugin-ssr

* fix typescript

* fix builds

* put landing page app name back

* hardcode ffmpeg version on Windows

* rename 'command' to 'mutation' to line up with react-query terminology

* upgrade rspc to v0.0.5 + fix types

* use shared ffmpeg binaries

* general Typescript cleanup

* fix clippy workflow failing due to tauri proc-macro

Co-authored-by: Brendan Allan <brendonovich@outlook.com>
2022-08-03 08:36:03 -07:00
Jamie Pine
47ae02b743 Bunch 'O Features (#336)
* CRUD for tags.

* Implement tags query in open.rs and make some changes to CRUD.

* Tag update.

* Hopefully working get tags.

* added node config + spaces schema

* add missing routes

* begin tag ui

* renaming query names to better fit convention

* tags progress

* tag edit

* fix delete tag description

Co-authored-by: xPolar <polar@polar.blue>
2022-07-17 20:45:04 -07:00
Jamie Pine
75f9e34a6c Explorer Grid View (#334)
added grid view, as well as:
- moved location context to client lib
- merged library settings with main settings
- added some missing settings
- removed demo locations due to FileItem props syntax change, they are currently being replaced anyway by Oscar in another PR
- added functioning favorite button to the inspector, that works now
2022-07-14 13:50:48 -07:00
Oscar Beaumont
017ef8b005 Library manager (#258) 2022-07-10 19:05:24 -07:00
Jamie Pine
5309391531 (fix) notes: they work predictably
- added lodash for debounce outside react tree
- added command function to bridge
- updated FAQ
2022-06-22 04:13:11 -07:00
Oscar Beaumont
bd17602ae6 build(deps): update dependencies across workspace 2022-05-30 20:45:37 +08:00
maxichrome
0d6384fa00 fix some types (why?! idk) 2022-05-27 02:58:36 -05:00
maxichrome
85c1404542 Format existing code with new conventions 2022-05-22 23:24:43 -05:00