mirror of
https://github.com/spacedriveapp/spacedrive
synced 2024-07-04 11:03:27 +00:00
Merge branch 'main' into jamie-unsorted-changes
This commit is contained in:
commit
4f28499bb6
42
.github/CODEOWNERS
vendored
Normal file
42
.github/CODEOWNERS
vendored
Normal 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
|
11
.github/scripts/setup-system.sh
vendored
11
.github/scripts/setup-system.sh
vendored
|
@ -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
|
||||
|
|
2
.github/workflows/ci.yml
vendored
2
.github/workflows/ci.yml
vendored
|
@ -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
39
.vscode/.todo
vendored
|
@ -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
|
||||
|
|
3
.vscode/settings.json
vendored
3
.vscode/settings.json
vendored
|
@ -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
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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.
|
||||
|
|
|
@ -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",
|
||||
|
|
|
@ -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> = {
|
|
@ -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
|
||||
|
|
Loading…
Reference in a new issue