Skip to content

R3-A: Tauri 2 spike shell — macOS SQLite & vault probes passing - #54

Merged
Morialkar merged 4 commits into
mainfrom
feat/r3-tauri-spike
Jul 31, 2026
Merged

R3-A: Tauri 2 spike shell — macOS SQLite & vault probes passing#54
Morialkar merged 4 commits into
mainfrom
feat/r3-tauri-spike

Conversation

@Morialkar

Copy link
Copy Markdown
Owner

What

  • New apps/desktop Tauri 2 shell consuming the existing apps/client build; the React app stays the sole UI.
  • LocalPlatformProbe contract in packages/core with a disposable Tauri adapter (tauriSpikeProbe.ts) and a deterministic /tauri-spike probe screen (exempted from the auth redirect as a bare page).
  • docs/R3-A-TAURI-SPIKE.md (approved spec) and docs/R3-A-EVIDENCE.md (evidence bundle).

Why

R3-A feasibility spike: produce reproducible evidence that the client can run inside Tauri 2 with local SQLite, a user-selected Markdown vault, and an offline PMTiles map — before any R3-B/C/D work.

Evidence so far (macOS, 2026-07-12)

  • SQLite: PASS — fixture survives close/reopen via tauri-plugin-sql; independently verified with sqlite3 against the app-data DB.
  • Vault Markdown: PASS — native directory dialog + UTF-8 round-trip via tauri-plugin-fs; verified on disk.

Reviewer notes

  • Plugin default permission sets are insufficient at runtime: capabilities/default.json explicitly adds sql:allow-execute, fs:allow-read-text-file, fs:allow-write-text-file. sql:default only grants load/select/close — the initial run failed on CREATE TABLE.
  • The native window starts on tauri://localhost/tauri-spike (production webview protocol) rather than a relative path.
  • Spike code is deliberately disposable; no production repository, sync queue, or installer work is included.
  • No Go/No-go conclusion yet: PMTiles offline-map proof and Windows/iOS/Android targets remain open (tracked in the evidence doc).

🤖 Generated with Claude Code

Morialkar and others added 4 commits July 12, 2026 12:29
…dence

Add apps/desktop Tauri 2 shell consuming the existing client build, a
/tauri-spike probe screen behind the LocalPlatformProbe contract in
packages/core, and docs/R3-A-EVIDENCE.md recording the first two macOS
proofs (SQLite persistence across reopen; UTF-8 Markdown vault round-trip
through the native directory dialog).

Plugin default permission sets proved insufficient at runtime: the
capabilities file must grant sql:allow-execute plus
fs:allow-read-text-file and fs:allow-write-text-file explicitly. The
native window starts on tauri://localhost/tauri-spike, exempted from the
auth redirect as a bare page.

PMTiles offline-map proof and Windows/iOS/Android targets remain open; no
Go/No-go conclusion is recorded.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Resolve three conflicts:

- apps/api/tests/Feature/CompoundFieldFeatureTest.php: take main. Both
  sides applied the same Pint cleanups; main additionally anonymized the
  demo names (Camille/Sacha Exemple) as part of the seeder hardening, so
  main is a strict superset.
- apps/client/vitest.config.ts: take main. It keeps this branch's
  fileParallelism:false and adds the CI heap fix (pool:'forks',
  maxWorkers:1).
- apps/client/src/routeTree.gen.ts: regenerated from src/routes via the
  TanStack router plugin rather than hand-merged. The result carries
  main's routes (builder, reports, shares, public-shares) alongside this
  branch's /tauri-spike.

Verified after resolution: tsc -b clean, 60/60 client tests pass.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
The Lint job's prettier --check flagged the three new R3-A files for
printWidth overruns. The pre-commit hook reported success on these paths
but the committed blobs were never reformatted, so CI caught what the
hook missed.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@Morialkar
Morialkar merged commit b271e0a into main Jul 31, 2026
5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant