- Flip `app/src-tauri/Cargo.toml` `default = ["cef"]` (wry is now opt-in via
`--no-default-features --features wry`). `cef-dll-sys` auto-downloads the
Chromium runtime per-target at compile time.
- Update dev scripts: `dev:app` now uses CEF + keychain safe-storage setup;
`dev:cef` aliased to it; new `dev:wry` for opt-out; `macos:build:*` and
`tauri:build:ui` switched to `cargo tauri` so the CEF-aware bundler runs.
- Replace `tauri-apps/tauri-action@v0.6.2` / `yarn tauri build` with
`cargo tauri build` in `build.yml`, `build-windows.yml`, and `release.yml`.
The upstream `@tauri-apps/cli` binary does not bundle CEF framework files
into the produced installer — only the fork at `vendor/tauri-cef` does, so
workflows must use the fork's CLI or the shipped apps fail to launch.
- Bake the CEF-aware `cargo-tauri` into `ghcr.io/tinyhumansai/openhuman_ci`
by compiling it from the submodule during Docker image build, plus CEF
runtime libs (libnss3, libgbm1, libxshmfence1, …). Skips the per-run
cargo-install in the container-based `build.yml`.
- Cache CEF downloads per-OS in matrix jobs (~400MB/platform) and cache the
compiled `cargo-tauri` binary on raw GH runners (build-windows, release).
- Explicit `gh release upload` step for Linux + Windows installers since the
tauri-action upload path was removed; macOS keeps its existing re-sign +
notarize + re-upload flow.
* feat: display app version in settings panel
* fix(onboarding): auto-refresh accessibility state after grant (#351)
* style(onboarding): apply formatter for issue #351 fix
* fix(onboarding): ESLint + typed mock for ScreenPermissionsStep; clear flag in handler
Consolidate tauriCommands imports and drop redundant mock cast.
Handle granted accessibility in focus/visibility callback instead of a follow-up effect.
Made-with: Cursor
* fix(release): gate OAuth deep links on minimum app version (#365)
- Add semver helpers and VITE_MINIMUM_SUPPORTED_APP_VERSION / download URL in app config
- Block openhuman://oauth/success when desktop build is below minimum; enqueue error,
open latest-release URL, dispatch oauth:stale-app
- Pass new Vite env vars through release.yml and build-windows.yml Build frontend
- Document policy in docs/RELEASE_POLICY.md; note vars in app/.env.example
Closes#365
Made-with: Cursor
* fix: import React in SkillSetupWizard component
* fix: address CodeRabbit review (OAuth gate, semver, logging)
- Anchor semver regex to full string; arrow-style exports; tests for bad inputs
- Never throw from evaluateOAuthAppVersionGate; try/catch in deep link + omit raw URL from error logs
- Document build-time vs runtime policy in config JSDoc and RELEASE_POLICY
- Remove unused React import in SkillSetupWizard (tsc)
Made-with: Cursor
* fix: CodeRabbit — fail-closed OAuth gate, tauri-action Vite env, runbook
- Block OAuth when minimum is set but getVersion fails or version is unparseable
- Pass VITE_MINIMUM_* through tauri-action env (release + Windows) so bundles match yarn build
- Expand RELEASE_POLICY: artifact retirement, dual workflow env note
- Friendlier copy when current version is unknown
Made-with: Cursor
* feat(ci): add GitHub Actions workflow for Windows build
- Introduced a new workflow to automate the build process for Windows x64.
- Configured steps for checking out the repository, setting up Node.js, installing Rust, caching dependencies, and building the frontend and Tauri app.
- Added artifact upload steps for MSI, NSIS, and standalone CLI binaries.
- Enhanced the installation script to support direct execution and improved error handling for various conditions.
* feat(ci): enable Windows x64 build in release workflow
Uncomment the windows-latest matrix entry, add a PowerShell step to
package the CLI as a .zip (instead of .tar.gz), and require a Windows
installer asset (MSI or NSIS exe) in the publish-release validation.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
---------
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>