Skip to content

Commit 1e0b5f9

Browse files
committed
feat!: add Tauri GUI with full UX, auto-update, system tray, and cross-platform releases
Complete Tauri v2 desktop application with: - Results view: dual-mode (grouped/flat), search, smart selection presets, impact cards, size heat colors, disk usage ring, system items integration - Auto-update: tauri-plugin-updater with signed releases, custom notification UI, settings "Check for Updates" button - System tray: menu bar icon, minimize-to-tray on close, Open/Quit menu - CI/CD: cross-platform Tauri builds (dmg/nsis/deb/appimage) in release workflow, Tauri compile check in CI, release-please tauri.conf.json version sync - UX polish: accessibility pass (aria-labels, focus-visible, keyboard nav), indeterminate scan progress, cancel button in cleaning overlay, partial failure handling in celebration view, confirm dialog improvements - Branding: 3D robot mascot logo with yellow squircle app icon, favicon, docs, README BREAKING CHANGE: project restructured as Cargo workspace with Tauri GUI crate
1 parent 510f7be commit 1e0b5f9

202 files changed

Lines changed: 40182 additions & 567 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.

.github/workflows/ci.yml

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -59,3 +59,27 @@ jobs:
5959
with:
6060
components: rustfmt
6161
- run: cargo fmt --all -- --check
62+
63+
tauri-check:
64+
name: Tauri GUI Check
65+
runs-on: ubuntu-22.04
66+
steps:
67+
- uses: actions/checkout@v4
68+
- uses: dtolnay/rust-toolchain@stable
69+
- name: Install Linux dependencies
70+
run: |
71+
sudo apt-get update
72+
sudo apt-get install -y libwebkit2gtk-4.1-dev libappindicator3-dev librsvg2-dev patchelf
73+
- uses: actions/cache@v4
74+
with:
75+
path: |
76+
~/.cargo/bin/
77+
~/.cargo/registry/index/
78+
~/.cargo/registry/cache/
79+
~/.cargo/git/db/
80+
target/
81+
key: ${{ runner.os }}-tauri-cargo-${{ hashFiles('**/Cargo.lock') }}
82+
- uses: oven-sh/setup-bun@v2
83+
- run: cd ui && bun install
84+
- run: cd ui && bun run build
85+
- run: cargo check -p null-e-gui

.github/workflows/release.yml

Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -110,6 +110,63 @@ jobs:
110110
*.zip.sha256
111111
if-no-files-found: ignore
112112

113+
build-tauri:
114+
name: Build Tauri ${{ matrix.target }}
115+
needs: release
116+
runs-on: ${{ matrix.platform }}
117+
strategy:
118+
fail-fast: false
119+
matrix:
120+
include:
121+
- platform: macos-latest
122+
target: aarch64-apple-darwin
123+
- platform: macos-latest
124+
target: x86_64-apple-darwin
125+
- platform: ubuntu-22.04
126+
target: x86_64-unknown-linux-gnu
127+
- platform: windows-latest
128+
target: x86_64-pc-windows-msvc
129+
130+
steps:
131+
- uses: actions/checkout@v4
132+
133+
- name: Install Rust
134+
uses: dtolnay/rust-toolchain@stable
135+
with:
136+
targets: ${{ matrix.target }}
137+
138+
- name: Rust cache
139+
uses: swatinem/rust-cache@v2
140+
with:
141+
workspaces: './tauri -> target'
142+
143+
- name: Install Linux dependencies
144+
if: matrix.platform == 'ubuntu-22.04'
145+
run: |
146+
sudo apt-get update
147+
sudo apt-get install -y libwebkit2gtk-4.1-dev libappindicator3-dev librsvg2-dev patchelf
148+
149+
- name: Setup Bun
150+
uses: oven-sh/setup-bun@v2
151+
152+
- name: Install frontend dependencies
153+
run: cd ui && bun install
154+
155+
- name: Build Tauri app
156+
uses: tauri-apps/tauri-action@v0
157+
env:
158+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
159+
TAURI_SIGNING_PRIVATE_KEY: ${{ secrets.TAURI_SIGNING_PRIVATE_KEY }}
160+
TAURI_SIGNING_PRIVATE_KEY_PASSWORD: ${{ secrets.TAURI_SIGNING_PRIVATE_KEY_PASSWORD }}
161+
with:
162+
projectPath: ./tauri
163+
tagName: ${{ github.ref_name }}
164+
releaseName: 'null-e ${{ github.ref_name }}'
165+
releaseBody: ''
166+
releaseDraft: false
167+
prerelease: ${{ contains(github.ref, 'alpha') || contains(github.ref, 'beta') || contains(github.ref, 'rc') }}
168+
args: --target ${{ matrix.target }}
169+
113170
release:
114171
name: Create Release
115172
needs: build

.gitignore

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,5 +30,11 @@ Thumbs.db
3030
# Docs
3131
docs/dist/
3232

33+
# Node
34+
node_modules/
35+
ui/dist/
36+
3337
# Test artifacts
3438
*.log
39+
.gstack/
40+
test-results/

0 commit comments

Comments
 (0)