Commit graph

74 commits

Author SHA1 Message Date
Jamie Pine b94d2ed736
(hotfix) p2p preventing compile 2022-10-08 11:30:17 -07:00
jake d236b28f84
[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 900ee618ce
Merge branch 'main' of https://github.com/spacedriveapp/spacedrive 2022-10-06 18:10:08 -07:00
Jamie Pine e402fc52b7
sd extensions crate
Co-authored-by: Brendan Allan <brendonovich@outlook.com>
2022-10-06 18:10:03 -07:00
Oscar Beaumont 75c4680b43 Merge remote-tracking branch 'origin/main' into merge-p2p-code 2022-10-07 05:56:05 +08:00
Oscar Beaumont d7fddc83f7 fix major bugs in p2p PR 2022-10-07 05:51:40 +08:00
Oscar Beaumont 598ba38a9d merge in P2P code 2022-10-07 05:32:45 +08:00
Oscar Beaumont dec2697740 Fix mobile + upgrade Expo + even newer rspc 2022-10-06 21:07:46 +08:00
Oscar Beaumont 20523a94c9 upgrade workspace dependencies 2022-10-06 14:03:58 +08:00
Brendan Allan e5359f042d please formatter 2022-10-05 12:14:04 +08:00
Brendan Allan 45ff212e97 merge main into update-rspc-and-more 2022-10-05 12:01:50 +08:00
Brendan Allan b827e024ba update lockfile 2022-10-05 10:20:04 +08:00
Brendan Allan a634727e1b merge meain into update-rspc-and-more 2022-10-05 10:11:52 +08:00
Brendan Allan 162f3d7782
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 723058e060 merge main into update-rspc-and-more 2022-10-05 08:58:03 +08:00
Brendan Allan 0821ef575a update pcr version 2022-10-05 04:20:59 +08:00
Brendan Allan ed06e3051e
[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 66dd9aa28b
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 60e228ec94 upgrade rspc 2022-10-02 01:16:11 +08:00
Jamie Pine 317ed2d7b0
removed stray dependency causing build issue 2022-09-29 21:24:42 -07:00
Jamie Pine 3e8c33d1c0
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
Oscar Beaumont bb40110e6e
Eng 243 documentation on landing (#386)
* Updated roadmap

* Color timeline to show where we are up to

* roadmap improvements

* roadmap changes

* docs init

* progress on docs

* support metadata (name & ordering)

* fix prod build

* fix lock

* fix perender

* docs progress

* added "slots" to markdown parser

* refactor to support sections

* more docs progress

* fixes

* added empty docs

* killer opening paragraph

* fix Heroicon imports & page rendering

* tweaks

* next doc

* fix build

* fix ssg failure

* fix prod build for REAL

it was the bubbles

* fix next doc api

* it's the bubbles

* wip: docs mobile

* doc nav tweak

* doc menu ui

* fix next doc in pre-render

* react-borger-menu

* fix build

* fix height and padding

* mobile docs nav styles

* oooh super cool transition

* fix button state glitch + big headings

* refactor layout

* docs mobile nav bar style

* fix min width & height

* Merge remote-tracking branch 'refs/remotes/origin/main'

Conflicts:
	docs/architecture/spaces.md
	docs/developers/architecture/spaces.md

* placeholder docs

* correct pre styles + env setup guide

* search coming soon

* docs cleanup

* resolved cargo

* reorder docs + add image

Co-authored-by: Lu Hill <email@lewie.me>
Co-authored-by: Jamie Pine <ijamespine@me.com>
2022-09-27 19:48:42 -07:00
Brendan Allan fe497ce104 make rust 1.64 requirement more concrete 2022-09-27 12:28:32 +08:00
Ericson "Fogo" Soares 6fd620087b
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
Brendan Allan 1bf315c4db
Use feature gated database branch of PCR (#387)
use feature gating branch of pcr
2022-09-22 23:40:15 -07:00
Brendan Allan 6e07435a15
Use PCR for migrations (#385)
* use pcr migrations branch

* use 0.6.2 branch with migrations

* use latest prisma stuff

* allow force reset of db in dev

* remove .spacedrive file

* update rspc in apps/server

* use rspc 0.0.5 in all crates

* add os to prisma client cache key

* add runner os to clippy prisma cache
2022-09-22 00:50:21 -07:00
maxichrome 119b8176f2 Merge remote-tracking branch 'origin/main' into use-rust-shortcuts 2022-09-14 15:59:59 -05:00
Oscar Beaumont dd04625a4f properly shutdown the core when using server 2022-09-14 19:02:11 +08:00
maxichrome 5dbc4325b1 update cargo crates 2022-09-13 19:04:58 -05:00
Oscar Beaumont 2fda5b9ca6
Better db migrations (#381)
* use prisma migration engine for migrations

* squash migrations + remove excessive logging
2022-09-08 15:57:07 -07:00
Brendan Allan 459a44b7ac utilise include instead of with for type safety 2022-09-07 04:09:57 +08:00
Oscar Beaumont 4427065658 Upgraded rspc with libraries + upgrade PCR 0.6.0 2022-09-06 22:08:19 +08:00
Ericson "Fogo" Soares 25c111a8bf
Introducing Indexer rules (#363)
* Introducing indexer rules for the indexer job
* Solving a minor race condition at `Worker::spawn`
* Many refactors at database accesses with prisma
* Documenting some features of indexer rules

* Updating to new prisma rev

* Updating photo

* Some documentation tweaks

* fix note editing

* Implementing some requested changes
* Fixing unit tests on walk function
* Using rsps::Error::with_cause instead of new

* Introducing a compoung unique key between `node_id` and `local_path` at `locations` table

Co-authored-by: Oscar Beaumont <oscar@otbeaumont.me>
2022-09-01 16:38:26 -07:00
Oscar Beaumont 1e1bd81c94 settings keyboard shortcut + fix Tauri menu items 2022-08-30 13:49:29 +08:00
Oscar Beaumont c7441d1d64
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
Brendan Allan 2c375ce27a use latest prisma-client-rust 2022-08-19 07:41:08 +08:00
Oscar Beaumont ea92af57f8
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
Ericson "Fogo" Soares 85e5eec993
Resumable Jobs + Lefthook Integration (#344)
* Introducing Lefthook for git hooks automation
* TypeScript typechecking and linting
* Rust formatting and linting
* Spellchecking (also corrected spell errors in some files)
* Check links in md files

* Introducing resumable jobs
* Abstractions to pause and resume jobs automatically when application exits and is started
* Changing database to use Bytes for UUID fields
* Changing uuid fields on core to use uuid::Uuid instead of String
* Updating some dependencies and introducing msg_pack serialization to save job state on database

* Fixing some clippy warnings

* Fixing a regression introduced on identifier job, doing too much db accesses concurrently
2022-07-27 00:06:34 -07:00
Ericson Fogo Soares 75a8b49661 Merging with main 2022-07-11 18:21:50 -03:00
Oscar Beaumont c685ce5fe9
Library manager (#258) 2022-07-10 19:05:24 -07:00
Ericson Fogo Soares ef2f60ff33 Fixing Clippy warnings
* Using tokio on all filesystem operations
* Some minor tweaks to be more consistent on paths between &str, AsRef<Path> and PathBuf
* Using logging instead of println
2022-06-28 22:56:49 -03:00
Jamie Pine d11b9d0f15 (chore): added better loggin 2022-06-21 22:53:07 -07:00
Jamie Pine dd77aabc47 (fix) dropdown ui tweak + identifier code comments + add log 2022-06-21 21:31:39 -07:00
Oscar Beaumont f8de1a81bf
fix @rpath/libswiftCore.dylib error + etc (#255)
update Tauri + fix `@rpath/libswiftCore.dylib` error + make Typechecks pass
2022-06-18 17:00:57 -07:00
maxichrome 498da6a73e
[macOS] native sidebar blur effect (#239)
* wip rust bindings

* wip rust bindings

* attempt raw objc for window blur -- still nothing

* some minor blurring success...

* Fix macOS sidebar blur

* darken sidebar

* lock to dark theme

* remove commented, unused window-blur lines

* remove xcode user state

* ADD SWIFT WINDOW CODE

* refactor: use swift window code

* remove stupid cas warning

* add webview swift util for reload

* remove objc and cocoa

* remove old unused swift build fix

* simplify swift package fn calls

* enumify app theme

* fix main content view not expanding

* fix sidebar folder item layout

* fix swift version requirement

* fix landing package json

* landing tweaks

* sidebar style tweaks for macOS

Co-authored-by: maxichrome <maxichrome@users.noreply.github.com>
Co-authored-by: Jamie Pine <ijamespine@me.com>
2022-06-15 13:53:42 -07:00
Oscar Beaumont d7c070b7cb
Static Generate Landing (#245)
* Wrote blog

* feat: implement new team page

* refactor: reusable link comp

* chore: update images

* perf: compress images

* refactor: update link

* refactor: update icons, remove white border in favor or rounded corners, add investors

* changes to roles

* team changes

* refactor: add a few changes

* style: slightly better styling

* update team images paths

* use proper image element

* update haris to match team style + keep constant

* improve team member styling

* use vite import pattern

* team tweaks

* fix brendan crop

* fix text and gradient color to match brand colors

* engineer not developer!!!

* add annoucement banner since this can not be merged until post annoucement anyway

* fade in stuff

* better copy

* better haris.jpg

* style: slight update to styling

* Update apps/landing/src/pages/team.tsx

* update my image

* chore: remove unused log

* Update team.tsx

* use incorp'd name everywhere

* update team credits

* hoist headings in credits

* consistent marketing copy in cargo

* fix types

* style tweaks

* blog updates

* blog title tweaks

* fix demo

* jj said lets round it up

* vite-plugin-ssr & ssg

* delete old landing + prerender

* don't use vite-plugin-vercel

* make deploy.sh executable

* add ncc

* treat as static site

Co-authored-by: Lu Hill <email@lewie.me>
Co-authored-by: Benjamin Akar <benjaminakar2001@gmail.com>
Co-authored-by: Jamie Pine <ijamespine@me.com>
Co-authored-by: maxichrome <maxichrome@users.noreply.github.com>
Co-authored-by: xPolar <50601857+xPolar@users.noreply.github.com>
2022-06-14 16:54:15 -07:00
maxichrome 099d4a5ba6
add debug menu items 2022-06-10 21:55:25 -05:00
Oscar Beaumont a6551e8380 remove anyhow
We are using `thiserror` instead.
2022-05-30 22:54:21 +08:00
Oscar Beaumont 6e0c944d2e remove unused code + cleanup Rust imports 2022-05-30 22:26:59 +08:00
Oscar Beaumont 562efe3c6b build(deps): update dependencies across workspace 2022-05-30 20:45:37 +08:00