Merge branch 'main' into jamie-unsorted-changes

This commit is contained in:
Jamie Pine 2022-05-21 18:55:03 -07:00
commit 4f28499bb6
9 changed files with 78 additions and 40 deletions

42
.github/CODEOWNERS vendored Normal file
View file

@ -0,0 +1,42 @@
# default
# disabled for now because we have some dead code that doesn't really need reviewed yet
# * @spacedriveapp
# documentation
/apps/landing/src/pages/docs/ @jamiepine
/docs/ @jamiepine
# frontend apps (Rust bridges and tech functionality -- no real visual implications)
/apps/desktop/ @jamiepine @Brendonovich @oscartbeaumont
/apps/mobile/ @jamiepine @Brendonovich @oscartbeaumont
/apps/web/ @jamiepine @maxichrome
# core logic
/core/ @jamiepine @Brendonovich @oscartbeaumont
/packages/macos/ @jamiepine @Brendonovich @oscartbeaumont
# server app
/apps/server/ @oscartbeaumont
# landing site
/apps/landing/ @jamiepine @maxichrome
# UI
/packages/interface/ @jamiepine @maxichrome
/packages/ui/ @jamiepine @maxichrome
# base config files
/* @jamiepine
# workspace settings
/.vscode/.todo @jamiepine
/.vscode/settings.json @jamiepine
/.github/* @jamiepine @Brendonovich @maxichrome @oscartbeaumont
# CI
/.github/actions/ @Brendonovich @oscartbeaumont
/.github/workflows/ @Brendonovich @oscartbeaumont
# development workflow
/.github/scripts/ @oscartbeaumont
/.github/ISSUES_TEMPLATE/ @jamiepine @Brendonovich @maxichrome @oscartbeaumont

View file

@ -25,19 +25,12 @@ if [[ "$OSTYPE" == "linux-gnu"* ]]; then
sudo apt-get -y install $DEBIAN_TAURI_DEPS $DEBIAN_FFMPEG_DEPS $DEBIAN_BINDGEN_DEPS
elif which pacman &> /dev/null; then
echo "Detected 'pacman' based distro!"
sudo pacman -S --needed webkit2gtk base-devel curl wget openssl appmenu-gtk-module gtk3 libappindicator-gtk3 librsvg libvips
ARCH_TAURI_DEPS="libwebkit2gtk-4.0-dev build-essential curl wget libssl-dev libgtk-3-dev libappindicator3-dev librsvg2-dev" # Tauri dependencies
ARCH_FFMPEG_DEPS="" # FFMPEG dependencies # TODO
ARCH_TAURI_DEPS="webkit2gtk base-devel curl wget openssl appmenu-gtk-module gtk3 libappindicator-gtk3 librsvg libvips" # Tauri deps https://tauri.studio/guides/getting-started/setup/linux#1-system-dependencies
ARCH_FFMPEG_DEPS="ffmpeg" # FFMPEG dependencies
ARCH_BINDGEN_DEPS="clang" # Bindgen dependencies - it's used by a dependency of Spacedrive
sudo pacman -Syu
sudo pacman -S --needed $ARCH_TAURI_DEPS $ARCH_FFMPEG_DEPS $ARCH_BINDGEN_DEPS
# TODO: Remove warning
echo "The FFMPEG dependencies are not yet included in this script for your Linux Distro. Please install them manually."
echo "It would also be greatly appreciated if you could ping @oscartbeaumont in the Discord or GitHub so that you can help me work these out and update the script for everyone."
exit 1
elif which dnf &> /dev/null; then
echo "Detected 'dnf' based distro!"
FEDORA_TAURI_DEPS="webkit2gtk3-devel.x86_64 openssl-devel curl wget libappindicator-gtk3 librsvg2-devel" # Tauri dependencies

View file

@ -35,7 +35,7 @@ jobs:
run: pnpm i --frozen-lockfile
- name: Perform typechecks
run: pnpm -r exec tsc
run: pnpm typecheck
build-js:
name: Build JS

39
.vscode/.todo vendored
View file

@ -18,40 +18,33 @@
✔ Upgrade to mono-repo @done(21-12-27 18:30)
✔ Create project readme @done(21-12-28 18:30)
✔ Refactor indexer to scan efficiently @done(21-12-29 18:30)
✔ File previews
✔ Generate CAS ids
✔ Settings screen
✔ Job queue system
✔ Landing page
✔ Volume identification
✔ Statistic calucations
Folder size, Volume size, Total capacity, Total unique etc..
####
# Next up
####
✔ Auto create Client in DB & persist id as JSON in data folder @done(21-12-30 23:42)
☐ Auto discover root volume <- CURRENT
☐ Create locations from volumes
✔ Path rules for loctions @done(21-12-30 23:39)
☐ Locations UI
Auto create path rules for macOS
☐ Tag creation and assignment
Right click menu
Set up Tauri updater
☐ Onboarding flow
Explorer grid view
Changelog
####
# Planned features
####
☐ Native file previews
☐ Generate buffer hash
☐ Action system & command pallete
☐ Settings screen
☐ Tag creation and assignment
☐ Job queue system
☐ Right click menu
☐ Volume identification
☐ Set up Tauri updater
☐ Statistic calucations
Folder size, Volume size, Total capacity, Total unique etc..
☐ Onboarding flow
☐ Explorer grid view
☐ Explorer path viewer / editor
☐ File encryptor
☐ File viewer / player
☐ Secret keystore
☐ Search
Efficient way to search sqlite: make file table WITHOUT ROWID
Efficient way to search sqlite: make file table WITHOUT ROWID
☐ Open with
☐ Changelog
☐ Landing page

View file

@ -22,8 +22,7 @@
"editor.defaultFormatter": "matklad.rust-analyzer"
},
"rust-analyzer.procMacro.enable": true,
"rust-analyzer.inlayHints.enable": false,
"rust-analyzer.diagnostics.experimental.enable": false,
"rust-analyzer.inlayHints.parameterHints.enable": false,
"rust-analyzer.inlayHints.typeHints.enable": false
}
}

View file

@ -39,7 +39,7 @@ This project uses [Cargo](https://doc.rust-lang.org/cargo/getting-started/instal
- `$ git clone https://github.com/spacedriveapp/spacedrive`
- `$ cd spacedrive`
- For Linux or MacOS users run: `chmod +x ./.github/scripts/setup-system.sh && ./.github/scripts/setup-system.sh`
- For Linux or MacOS users run: `./.github/scripts/setup-system.sh`
- This will install FFMPEG and any other required dependencies for Spacedrive to build.
- `$ pnpm i`
- `$ pnpm prep` - Runs all necessary codegen & builds required dependencies.

View file

@ -19,7 +19,8 @@
"core": "pnpm --filter @sd/core -- ",
"docs": "pnpm --filter @sd/docs -- ",
"client": "pnpm --filter @sd/client -- ",
"server": "pnpm --filter @sd/server -- "
"server": "pnpm --filter @sd/server -- ",
"typecheck": "pnpm -r exec tsc"
},
"devDependencies": {
"prettier": "^2.6.2",

View file

@ -6,14 +6,14 @@ interface StyleState {
normal: string[];
}
interface Varient {
interface Variant {
base: string;
light: StyleState;
dark: StyleState;
}
function tw(varient: Varient): string {
return `${varient.base} ${varient.light}`;
function tw(variant: Variant): string {
return `${variant.base} ${variant.light}`;
}
const variants: Record<string, string> = {

View file

@ -621,12 +621,16 @@ packages:
resolution: {integrity: sha512-oG0ej7efjEXxb4UgE+klVx+3j4MVo+A2vCzm7OUN4CLo6WhQ+vSOD2yJ8m7B+DghObxtLxt3EfgMWpq+AsWehQ==}
engines: {node: '>=6.0.0'}
hasBin: true
dependencies:
'@babel/types': 7.17.0
dev: true
/@babel/parser/7.17.9:
resolution: {integrity: sha512-vqUSBLP8dQHFPdPi9bc5GK9vRkYHJ49fsZdtoJ8EQ8ibpwk5rPKfvNIwChB0KVXcIjcepEBBd2VHC5r9Gy8ueg==}
engines: {node: '>=6.0.0'}
hasBin: true
dependencies:
'@babel/types': 7.17.0
/@babel/plugin-syntax-jsx/7.16.7:
resolution: {integrity: sha512-Esxmk7YjA8QysKeT3VhTXvF6y77f/a91SIs4pWb4H2eWGQkCKFgQaG6hdoEVZtGsrAcb2K5BW66XsOErD4WU3Q==}
@ -4590,6 +4594,8 @@ packages:
resolution: {integrity: sha512-Y5WMo7xKKq1muPsxD+KmrR8DH5auG7fBdDVueZwETwV6VytKyU9OX/ddpq2/1hp1vIPvVb4T81dKQz3BivkNLw==}
engines: {node: '>=4'}
dependencies:
'@types/keyv': 3.1.4
'@types/responselike': 1.0.0
decompress-response: 3.3.0
duplexer3: 0.1.4
get-stream: 3.0.0
@ -4611,6 +4617,8 @@ packages:
engines: {node: '>=4'}
dependencies:
'@sindresorhus/is': 0.7.0
'@types/keyv': 3.1.4
'@types/responselike': 1.0.0
cacheable-request: 2.1.4
decompress-response: 3.3.0
duplexer3: 0.1.4
@ -4635,6 +4643,8 @@ packages:
dependencies:
'@sindresorhus/is': 0.14.0
'@szmarczak/http-timer': 1.1.2
'@types/keyv': 3.1.4
'@types/responselike': 1.0.0
cacheable-request: 6.1.0
decompress-response: 3.3.0
duplexer3: 0.1.4