Skip to content

Commit 22b69f5

Browse files
authored
Merge pull request conaticus#92 from CodeMarco05/develop
Pull request to massive changes for the FileExplorer
2 parents e0b2de2 + 37acff1 commit 22b69f5

514 files changed

Lines changed: 63351 additions & 3606 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.dockerignore

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
# Ignore build folders
2+
/src-tauri/target
3+
node_modules/
4+
5+
# Ignore temporary or cache files
6+
**/*.rs.bk
7+
**/*.swp
8+
*.log
9+
*.tmp
10+
11+
# Ignore configuration files if not needed
12+
.vscode/
13+
.idea/
14+
15+
# Ignore other unnecessary files
16+
.git/

.github/workflows/rust.yml

Lines changed: 0 additions & 67 deletions
This file was deleted.
Lines changed: 144 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,144 @@
1+
# Disabled - using test-only.yml instead
2+
# name: Rust Testing
3+
4+
# on:
5+
# push:
6+
# branches: [ "*" ] # Run on all branches
7+
# pull_request:
8+
# branches: [ "*" ] # Run on PRs to any branch
9+
# workflow_dispatch: # Enable manual trigger button
10+
inputs:
11+
run_full_tests:
12+
description: 'Run full test suite (including performance tests)'
13+
required: false
14+
default: 'true'
15+
type: boolean
16+
run_benchmarks:
17+
description: 'Run performance benchmarks'
18+
required: false
19+
default: 'false'
20+
type: boolean
21+
22+
env:
23+
CARGO_TERM_COLOR: always
24+
25+
jobs:
26+
test_linux:
27+
runs-on: ubuntu-latest
28+
29+
steps:
30+
- name: Checkout repository
31+
uses: actions/checkout@v4
32+
33+
- name: Display workflow inputs
34+
if: github.event_name == 'workflow_dispatch'
35+
run: |
36+
echo "🔧 Manual workflow trigger detected"
37+
echo "📊 Run full tests: ${{ github.event.inputs.run_full_tests }}"
38+
echo "🏃 Run benchmarks: ${{ github.event.inputs.run_benchmarks }}"
39+
40+
- name: Setup Node.js
41+
uses: actions/setup-node@v4
42+
with:
43+
node-version: '20'
44+
45+
- name: Setup Rust
46+
uses: actions-rs/toolchain@v1
47+
with:
48+
toolchain: stable
49+
profile: minimal
50+
override: true
51+
components: rustfmt, clippy
52+
53+
- name: Cache Node.js dependencies
54+
uses: actions/cache@v4
55+
with:
56+
path: ~/.npm
57+
key: ${{ runner.os }}-node-${{ hashFiles('**/package.json') }}
58+
restore-keys: |
59+
${{ runner.os }}-node-
60+
61+
- name: Install system dependencies (Linux)
62+
run: |
63+
sudo apt update
64+
sudo apt install -y libwebkit2gtk-4.1-dev build-essential curl wget file libssl-dev libgtk-3-dev libayatana-appindicator3-dev librsvg2-dev
65+
66+
- name: Install Node.js dependencies
67+
run: npm install
68+
69+
- name: Cache Rust dependencies
70+
uses: actions/cache@v4
71+
with:
72+
path: |
73+
~/.cargo/bin/
74+
~/.cargo/registry/index/
75+
~/.cargo/registry/cache/
76+
~/.cargo/git/db/
77+
target/
78+
key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }}
79+
80+
- name: Run cargo fmt check
81+
run: cargo fmt --all -- --check
82+
working-directory: ./src-tauri
83+
84+
- name: Run cargo clippy
85+
run: cargo clippy --all-targets --all-features -- -D warnings
86+
working-directory: ./src-tauri
87+
88+
- name: Generate test data
89+
run: |
90+
echo "📁 Generating test data for fuzzy search..."
91+
echo "This creates 176,840 empty files in ./src-tauri/test-data-for-fuzzy-search/"
92+
cargo test create_test_data --features "generate-test-data" -- --nocapture
93+
working-directory: ./src-tauri
94+
95+
- name: Run basic tests
96+
run: |
97+
echo "🧪 Running basic functionality tests..."
98+
cargo test
99+
working-directory: ./src-tauri
100+
101+
- name: Run comprehensive tests (without file opening)
102+
if: github.event.inputs.run_full_tests != 'false'
103+
run: |
104+
echo "🚀 Running comprehensive test suite..."
105+
echo "Note: This runs the full feature set but without opening default apps"
106+
cargo test --features "full-no-generate-test-data" -- --test-threads=1
107+
working-directory: ./src-tauri
108+
109+
- name: Run performance benchmarks
110+
if: github.event.inputs.run_benchmarks == 'true'
111+
run: |
112+
echo "⚡ Running performance benchmarks..."
113+
cargo test --features benchmarks --release -- bench
114+
working-directory: ./src-tauri
115+
continue-on-error: true
116+
117+
- name: Verify test data was created
118+
run: |
119+
echo "📊 Verifying test data creation..."
120+
if [ -d "./src-tauri/test-data-for-fuzzy-search" ]; then
121+
echo "✅ Test data directory exists"
122+
find ./src-tauri/test-data-for-fuzzy-search -type f | wc -l | xargs echo "Total files created:"
123+
else
124+
echo "❌ Test data directory not found"
125+
fi
126+
127+
- name: Upload test logs
128+
uses: actions/upload-artifact@v4
129+
if: always()
130+
with:
131+
name: test-logs
132+
path: |
133+
./src-tauri/logs/
134+
./src-tauri/app.log
135+
./src-tauri/error.log
136+
137+
- name: Upload test data artifacts
138+
uses: actions/upload-artifact@v4
139+
if: always()
140+
with:
141+
name: test-data
142+
path: |
143+
./src-tauri/test-data-for-fuzzy-search/
144+
if-no-files-found: warn

.github/workflows/test-only.yml

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
name: Test Only
2+
3+
on:
4+
push:
5+
branches: [ "*" ]
6+
pull_request:
7+
branches: [ "*" ]
8+
workflow_dispatch:
9+
10+
env:
11+
CARGO_TERM_COLOR: always
12+
13+
jobs:
14+
test:
15+
runs-on: ubuntu-latest
16+
17+
steps:
18+
- name: Checkout repository
19+
uses: actions/checkout@v4
20+
21+
- name: Install system dependencies
22+
run: |
23+
sudo apt update
24+
sudo apt install -y libwebkit2gtk-4.1-dev build-essential curl wget file libssl-dev libgtk-3-dev libayatana-appindicator3-dev librsvg2-dev pkg-config libglib2.0-dev
25+
26+
- name: Setup Rust
27+
uses: actions-rs/toolchain@v1
28+
with:
29+
toolchain: stable
30+
profile: minimal
31+
override: true
32+
33+
- name: Generate test data
34+
run: cargo test create_test_data --features "generate-test-data" -- --nocapture
35+
working-directory: ./src-tauri
36+
37+
- name: Run tests
38+
run: cargo test
39+
working-directory: ./src-tauri

.gitignore

Lines changed: 98 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -1,25 +1,98 @@
1-
# Logs
2-
logs
3-
*.log
4-
npm-debug.log*
5-
yarn-debug.log*
6-
yarn-error.log*
7-
pnpm-debug.log*
8-
lerna-debug.log*
9-
10-
.yarn
11-
node_modules
12-
dist
13-
dist-ssr
14-
*.local
15-
16-
# Editor directories and files
17-
.vscode/*
18-
!.vscode/extensions.json
19-
.idea
20-
.DS_Store
21-
*.suo
22-
*.ntvs*
23-
*.njsproj
24-
*.sln
25-
*.sw?
1+
/src-tauri/test-data*/
2+
3+
# General Rust ignores
4+
/target/
5+
/Cargo.lock
6+
**/*.rs.bk
7+
8+
# Ignore artifacts from `cargo check`
9+
/debug/
10+
**/*.rmeta
11+
12+
# Ignore compiled binaries
13+
**/*.so
14+
**/*.dylib
15+
**/*.dll
16+
**/*.exe
17+
18+
# Tauri-specific ignores
19+
/src-tauri/target/
20+
/src-tauri/.tauri-build
21+
/src-tauri/tauri.conf.json.bak
22+
/src-tauri/gen/
23+
24+
# Prevent including generated bindings (if any)
25+
/src-tauri/bindings.json
26+
/src-tauri/bindings.ts
27+
28+
# Ignore logs and runtime files
29+
/src-tauri/logs/
30+
/src-tauri/*.log
31+
32+
# Ignore Webview-generated files
33+
/dist/
34+
/public/dist/
35+
36+
# Node.js & frontend (if using React, Vue, Svelte, etc.)
37+
/node_modules/
38+
/pnpm-lock.yaml
39+
/package-lock.json
40+
/yarn.lock
41+
/vite.config.ts
42+
/vite.config.js
43+
/.turbo/
44+
45+
# Ignore IDE/Editor files
46+
/.vscode/
47+
/.idea/
48+
/*.iml
49+
**/.DS_Store
50+
/.env
51+
/.env.local
52+
/.env.*.local
53+
54+
# Ignore Rover-specific files (if using Apollo GraphQL)
55+
.rover
56+
/.rover/tmp/
57+
/.rover/cache/
58+
/.graphqlrc.yml
59+
/.graphqlconfig
60+
61+
# Ignore temporary and backup files
62+
*.swp
63+
*.swo
64+
*~
65+
66+
67+
# Ignore custom path for files
68+
/src-tauri/config
69+
/config
70+
app.log
71+
72+
# Ignore test data
73+
/src-tauri/test-data*/
74+
75+
# Ingnore meta_data and settings
76+
/config/meta_data.json
77+
/config/settings.json
78+
79+
# Ignore logs
80+
/logs/*
81+
82+
# for the latex stuff
83+
/FileExplorerAusarbeitung/*.acn
84+
/FileExplorerAusarbeitung/*.acr
85+
/FileExplorerAusarbeitung/*.alg
86+
/FileExplorerAusarbeitung/*.aux
87+
/FileExplorerAusarbeitung/*.bcf
88+
/FileExplorerAusarbeitung/*.fdb_latexmk
89+
/FileExplorerAusarbeitung/*.fls
90+
/FileExplorerAusarbeitung/*.glg
91+
/FileExplorerAusarbeitung/*.glo
92+
/FileExplorerAusarbeitung/*.gls
93+
/FileExplorerAusarbeitung/*.ist
94+
/FileExplorerAusarbeitung/*.lof
95+
/FileExplorerAusarbeitung/*.log
96+
/FileExplorerAusarbeitung/*.out
97+
/FileExplorerAusarbeitung/*.xml
98+
/FileExplorerAusarbeitung/*.toc

.yarnrc.yml

Lines changed: 0 additions & 1 deletion
This file was deleted.

0 commit comments

Comments
 (0)