KAN-51: Add Tauri scaffold and macOS development build #147

Merged
Twyco merged 1 commits from feature/KAN-51-tauri-macos-scaffold into main 2026-09-26 18:41:05 +00:00
Owner

KAN-51 adds an isolated Tauri 2 application under native/. Its local, translated launcher supports light, dark, and system appearance and opens the existing KanbanGit HTTPS installation in a separate macOS WebView. Laravel remains at the repository root.

The server WebView accepts navigation only within its HTTPS origin. The app registers no native commands or plugins, grants no capabilities, and exposes no global Tauri API. Closing the workspace returns to the launcher. Native build artifacts are excluded from Git, Docker context, and ESLint traversal.

Validation passed:

  • 2 launcher tests and 5 Rust tests, including actual Tauri IPC permission rejection.
  • macOS WebView smoke test: translated launcher, theme switching, opening the workspace, visible server content, denied native calls, and absence of the global API.
  • Rust formatting and Clippy across all targets/features with warnings treated as errors.
  • macOS development .app bundle using Xcode 26.6 and Rust 1.98.1 on Apple Silicon.
  • Repository ESLint, TypeScript checks, and production web build.

Development requires Rust, Xcode, and pnpm. Run pnpm --dir native install --frozen-lockfile, then pnpm --dir native dev. Build the development app with pnpm --dir native build:macos; repeat the real WebView check in an active macOS graphical session with pnpm --dir native smoke:macos.

The scaffold targets https://kanbangit.de/. Persistent server selection and connection/session recovery belong to KAN-52.

Ticket: KAN-51

Implementation reference: Tauri 2 capabilities.

KAN-51 adds an isolated Tauri 2 application under `native/`. Its local, translated launcher supports light, dark, and system appearance and opens the existing KanbanGit HTTPS installation in a separate macOS WebView. Laravel remains at the repository root. The server WebView accepts navigation only within its HTTPS origin. The app registers no native commands or plugins, grants no capabilities, and exposes no global Tauri API. Closing the workspace returns to the launcher. Native build artifacts are excluded from Git, Docker context, and ESLint traversal. Validation passed: - 2 launcher tests and 5 Rust tests, including actual Tauri IPC permission rejection. - macOS WebView smoke test: translated launcher, theme switching, opening the workspace, visible server content, denied native calls, and absence of the global API. - Rust formatting and Clippy across all targets/features with warnings treated as errors. - macOS development `.app` bundle using Xcode 26.6 and Rust 1.98.1 on Apple Silicon. - Repository ESLint, TypeScript checks, and production web build. Development requires Rust, Xcode, and pnpm. Run `pnpm --dir native install --frozen-lockfile`, then `pnpm --dir native dev`. Build the development app with `pnpm --dir native build:macos`; repeat the real WebView check in an active macOS graphical session with `pnpm --dir native smoke:macos`. The scaffold targets `https://kanbangit.de/`. Persistent server selection and connection/session recovery belong to KAN-52. Ticket: [KAN-51](https://kanbangit.de/projects/1/tickets/51) Implementation reference: [Tauri 2 capabilities](https://v2.tauri.app/security/capabilities/).
Twyco added 1 commit 2026-09-16 11:14:36 +00:00
KAN-51: add isolated Tauri macOS app scaffold
CI/CD / preconditions (pull_request) Successful in 2s
CI/CD / test_and_check_app (pull_request) Successful in 5m49s
CI/CD / Publish immutable image (pull_request) Skipped
0f62445c3e
Twyco merged commit f3f1ffdc52 into main 2026-09-26 18:41:05 +00:00
Twyco deleted branch feature/KAN-51-tauri-macos-scaffold 2026-09-26 18:41:05 +00:00
Sign in to join this conversation.
No Reviewers
No labels
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: PetschStudios/KanbanGit#147