Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
19 commits
Select commit Hold shift + click to select a range
b2118e0
docs: add Tauri GUI design document
clroot Feb 19, 2026
f314056
docs: add Tauri GUI implementation plan
clroot Feb 19, 2026
6e919fe
feat(gui): scaffold Tauri v2 + React project
clroot Feb 19, 2026
c0ca312
feat(gui): setup Tailwind CSS v4 and shadcn/ui
clroot Feb 19, 2026
90cb604
feat(gui): implement Tauri IPC commands for image processing
clroot Feb 19, 2026
c0c47f8
feat(gui): add sidebar navigation component
clroot Feb 19, 2026
62dd6f5
feat(gui): add DropZone file input and Tauri API wrapper
clroot Feb 19, 2026
883c033
feat(gui): add feature-specific options panels
clroot Feb 19, 2026
6d883a6
feat(gui): add image processing execution and result display
clroot Feb 19, 2026
29520a2
feat(gui): add before/after image comparison preview
clroot Feb 19, 2026
a4dee7e
feat(gui): add batch processing with real-time progress tracking
clroot Feb 19, 2026
bba0c6d
feat(gui): add settings panel with localStorage persistence
clroot Feb 19, 2026
233a585
fix(gui): prevent UI freezing by offloading heavy work to blocking th…
clroot Feb 20, 2026
0e1e8c8
feat(gui): add folder input support and overwrite option
clroot Feb 20, 2026
c6a3254
ci: add cross-platform GUI release workflow
clroot Feb 20, 2026
ce00cb2
refactor(gui): address code review feedback
clroot Feb 20, 2026
90931a3
fix(gui): address PR review feedback
clroot Feb 20, 2026
5519413
fix(gui): use settings defaultQuality instead of hardcoded value
clroot Feb 20, 2026
5f8d1a8
chore: bump slimg-core, slimg-ffi, slimg to 0.5.1
clroot Feb 20, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
119 changes: 119 additions & 0 deletions .github/workflows/release-gui.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,119 @@
name: Release GUI

on:
push:
tags:
- 'gui-v*'
pull_request:
paths:
- 'gui/**'
- 'crates/**'
- '.github/workflows/release-gui.yml'
workflow_dispatch:

permissions:
contents: write

jobs:
build-tauri:
strategy:
fail-fast: false
matrix:
include:
- platform: macos-latest
args: --target aarch64-apple-darwin
- platform: macos-13
args: --target x86_64-apple-darwin
- platform: ubuntu-22.04
args: ''
- platform: windows-latest
args: ''

runs-on: ${{ matrix.platform }}

steps:
- uses: actions/checkout@v4
with:
submodules: recursive

- uses: dtolnay/rust-toolchain@stable
- uses: Swatinem/rust-cache@v2

- uses: actions/setup-node@v4
with:
node-version: 22

- uses: oven-sh/setup-bun@v2

# ── Linux dependencies ──────────────────────────────────
- name: Install Linux dependencies
if: runner.os == 'Linux'
run: |
sudo apt-get update
sudo apt-get install -y \
libwebkit2gtk-4.1-dev \
libayatana-appindicator3-dev \
librsvg2-dev \
patchelf \
cmake \
meson \
nasm

# ── macOS dependencies ──────────────────────────────────
- name: Install macOS dependencies
if: runner.os == 'macOS'
run: brew install meson nasm

# ── Windows dependencies ────────────────────────────────
- name: Setup MSVC (Windows)
if: runner.os == 'Windows'
uses: ilammy/msvc-dev-cmd@v1

- name: Remove conflicting link.exe (Windows)
if: runner.os == 'Windows'
shell: bash
run: rm -f /usr/bin/link

- name: Add NASM to PATH (Windows)
if: runner.os == 'Windows'
shell: bash
run: echo "C:/Program Files/NASM" >> $GITHUB_PATH

- name: Install meson and pkg-config (Windows)
if: runner.os == 'Windows'
shell: bash
run: |
pip install meson
choco install pkgconfiglite --yes

- name: Force MSVC compiler (Windows)
if: runner.os == 'Windows'
shell: bash
run: |
echo "CC=cl" >> $GITHUB_ENV
echo "CXX=cl" >> $GITHUB_ENV
echo "_CL_=/MT" >> $GITHUB_ENV

# ── Common build flags ──────────────────────────────────
- name: Set dav1d build-from-source
shell: bash
run: echo "SYSTEM_DEPS_DAV1D_BUILD_INTERNAL=always" >> $GITHUB_ENV

# ── Frontend ────────────────────────────────────────────
- name: Install frontend dependencies
working-directory: gui
run: bun install

# ── Build & Release ─────────────────────────────────────
- uses: tauri-apps/tauri-action@v0
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
projectPath: gui
tauriScript: bun run tauri
args: ${{ matrix.args }}
tagName: ${{ github.ref_type == 'tag' && 'gui-v__VERSION__' || '' }}
releaseName: ${{ github.ref_type == 'tag' && 'slimg GUI v__VERSION__' || '' }}
releaseBody: 'Download the installer for your platform below.'
releaseDraft: true
prerelease: false
Loading
Loading