From 12e58163cc6418190cdba1c6ec9967c0ac24bdd5 Mon Sep 17 00:00:00 2001 From: Ramprakash C <49452779+CodePurble@users.noreply.github.com> Date: Mon, 9 May 2022 12:28:28 +0530 Subject: [PATCH 01/10] add Arch Linux commands to setup script (#77) --- .github/scripts/setup-system.sh | 11 ++--------- 1 file changed, 2 insertions(+), 9 deletions(-) diff --git a/.github/scripts/setup-system.sh b/.github/scripts/setup-system.sh index 3c6ed85b3..7c1cb878b 100755 --- a/.github/scripts/setup-system.sh +++ b/.github/scripts/setup-system.sh @@ -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 From e59a492631dd89fa5f894d773bb10cde898230be Mon Sep 17 00:00:00 2001 From: Harry Hopkinson Date: Thu, 12 May 2022 07:36:48 +0100 Subject: [PATCH 02/10] Change ```Varients``` to ```Variants```. --- .../src/components/primitive/{Varients.tsx => Variants.tsx} | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) rename packages/interface/src/components/primitive/{Varients.tsx => Variants.tsx} (86%) diff --git a/packages/interface/src/components/primitive/Varients.tsx b/packages/interface/src/components/primitive/Variants.tsx similarity index 86% rename from packages/interface/src/components/primitive/Varients.tsx rename to packages/interface/src/components/primitive/Variants.tsx index 22aa2b02c..e5d0a304f 100644 --- a/packages/interface/src/components/primitive/Varients.tsx +++ b/packages/interface/src/components/primitive/Variants.tsx @@ -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 = { From 8765f420b70a941b635a14deceeba8349f7912f4 Mon Sep 17 00:00:00 2001 From: Harry Hopkinson <63599884+Harry-Hopkinson@users.noreply.github.com> Date: Fri, 13 May 2022 03:02:23 +0100 Subject: [PATCH 03/10] Add a type-check script (#149) * Implement a typecheck script for typescript work. * remove typescript as root dependency Co-authored-by: maxichrome --- package.json | 3 ++- pnpm-lock.yaml | 10 ++++++++++ 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/package.json b/package.json index 372cc5036..b780eaad7 100644 --- a/package.json +++ b/package.json @@ -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", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 2538030c3..4df746591 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -619,12 +619,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==} @@ -4584,6 +4588,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 @@ -4605,6 +4611,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 @@ -4629,6 +4637,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 From fdeaaa80863bcf2f1a76cc75d47b983fe6271277 Mon Sep 17 00:00:00 2001 From: Abhinav A <93075695+abhnva@users.noreply.github.com> Date: Sat, 14 May 2022 04:22:22 +0530 Subject: [PATCH 04/10] Remove chmod from CONTRIBUTING.md (#152) --- CONTRIBUTING.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 7ee70ed82..41df6d1a5 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -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. From cbc3e57e702907fee7842b731c32fea8407849c4 Mon Sep 17 00:00:00 2001 From: Jamie Pine <32987599+jamiepine@users.noreply.github.com> Date: Sat, 14 May 2022 03:47:09 -0700 Subject: [PATCH 05/10] update todo --- .vscode/.todo | 39 ++++++++++++++++----------------------- 1 file changed, 16 insertions(+), 23 deletions(-) diff --git a/.vscode/.todo b/.vscode/.todo index bd787e128..f71fc3809 100644 --- a/.vscode/.todo +++ b/.vscode/.todo @@ -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 From 5ed2b4a7f8d69fac03fc3e7d741d184aa260aae9 Mon Sep 17 00:00:00 2001 From: Harry Hopkinson <63599884+Harry-Hopkinson@users.noreply.github.com> Date: Sun, 15 May 2022 10:35:12 +0100 Subject: [PATCH 06/10] Change pnpm -r exec tsc to pnpm typecheck --- .github/workflows/ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index e075b6109..5c700a6a7 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -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 From 17f9db3ba8148d6df29dac7df02fe21f811ad07c Mon Sep 17 00:00:00 2001 From: maxichrome <33473181+maxichrome@users.noreply.github.com> Date: Thu, 19 May 2022 01:28:48 -0500 Subject: [PATCH 07/10] Add code owners (#164) Co-authored-by: maxichrome --- .github/CODEOWNERS | 42 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) create mode 100644 .github/CODEOWNERS diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS new file mode 100644 index 000000000..ebfdf771d --- /dev/null +++ b/.github/CODEOWNERS @@ -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 From d0d483a6085b15e4bcc2de452479d93bc73903e4 Mon Sep 17 00:00:00 2001 From: he1d1 Date: Thu, 19 May 2022 10:45:37 +0000 Subject: [PATCH 08/10] Don't show app preview on mobile (#166) * Return `null` if using mobile. --- apps/landing/src/components/AppEmbed.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/landing/src/components/AppEmbed.tsx b/apps/landing/src/components/AppEmbed.tsx index a29184d8d..1fde371c6 100644 --- a/apps/landing/src/components/AppEmbed.tsx +++ b/apps/landing/src/components/AppEmbed.tsx @@ -35,7 +35,7 @@ export default function AppEmbed() { }, 1000); }, []); - return ( + return isMobile ? null : (
{showApp && ( From 92f7bd769cc5e8b3c1046d325c7a3a025c1cf5ad Mon Sep 17 00:00:00 2001 From: maxichrome Date: Fri, 20 May 2022 18:59:20 -0500 Subject: [PATCH 09/10] update rust-analyzer option names --- .vscode/settings.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.vscode/settings.json b/.vscode/settings.json index d72cf5cd7..98844f91f 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -21,8 +21,8 @@ "editor.defaultFormatter": "matklad.rust-analyzer" }, "rust-analyzer.procMacro.enable": true, - "rust-analyzer.diagnostics.enableExperimental": false, - "rust-analyzer.inlayHints.parameterHints": false, "rust-analyzer.inlayHints.enable": false, - "rust-analyzer.inlayHints.typeHints": false + "rust-analyzer.diagnostics.experimental.enable": false, + "rust-analyzer.inlayHints.parameterHints.enable": false, + "rust-analyzer.inlayHints.typeHints.enable": false } From f77f21c19ab1ffe09eb4e14556bb88ede9e6a04c Mon Sep 17 00:00:00 2001 From: maxichrome Date: Fri, 20 May 2022 19:06:25 -0500 Subject: [PATCH 10/10] remove outdated rust-analyzer option --- .vscode/settings.json | 1 - 1 file changed, 1 deletion(-) diff --git a/.vscode/settings.json b/.vscode/settings.json index 98844f91f..e12f4f995 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -21,7 +21,6 @@ "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