Skip to content

Allow overriding the CEF cache path - #9

Merged
senamakel merged 2 commits into
feat/ceffrom
codex/cef-cache-path-env
Apr 26, 2026
Merged

senamakel merged 2 commits into
feat/ceffrom
codex/cef-cache-path-env

Conversation

@senamakel

@senamakel senamakel commented Apr 26, 2026 •

Copy link
Copy Markdown
Member

Summary

  • allow the CEF runtime cache path to be overridden with OPENHUMAN_CEF_CACHE_PATH
  • keep the current cache directory fallback when the env var is unset

Problem

OpenHuman needs to scope CEF profile data to per-user workspace paths, but the vendored runtime currently hardcodes a single global cache root.

Solution

Read an optional env override before building the default cache path so the shell can select a user-scoped Chromium profile before CEF starts.

Summary by CodeRabbit

  • New Features

    • Added CEF runtime as an alternative to Wry for Tauri applications
    • Introduced webview navigation APIs (go back/forward with capability checks)
    • Enhanced DevTools support with protocol messaging
    • Improved notification system with enhanced permission handling
    • Added window drag region improvements and traffic light position control on macOS
  • Chores

    • Updated Rust toolchain to version 1.88 and edition 2024
    • Upgraded schemars dependency to version 1
    • Improved command error reporting with stderr capture

M3gA-Mind and others added 2 commits April 24, 2026 01:25
…eanup

Improve CEF notification shim observability with debug markers and logging, and unregister browser handlers on close to avoid stale dispatch targets.
@coderabbitai

coderabbitai Bot commented Apr 26, 2026 •

Copy link
Copy Markdown

Caution

Review failed

Failed to post review comments

📝 Walkthrough

Walkthrough

This pull request introduces comprehensive CEF (Chromium Embedded Framework) runtime support to Tauri, upgrades the Rust edition to 2024 and minimum version to 1.88, refactors conditional control flow patterns throughout the codebase, and updates dependencies like schemars to version 1.0.

Changes

Cohort / File(s) Summary
CEF Runtime Core
crates/tauri-runtime-cef/...
New complete CEF runtime implementation including browser/webview management, request/cookie handling, notification interception, permissions system, and platform-specific window implementations for Windows/macOS/Linux.
CEF Helper & Bundler
cef-helper/..., crates/tauri-bundler/build.rs, crates/tauri-bundler/src/bundle/.../...
New CEF helper binary for subprocess management, bundler build script for embedding helpers, and platform-specific CEF bundling in Linux (AppImage/Debian/RPM), macOS, and Windows (MSI/NSIS) bundles.
CLI CEF Integration
crates/tauri-cli/src/cef/..., crates/tauri-cli/src/interface/rust/...
New CEF dev server for macOS, CEF path resolution from cargo lock, and CEF feature integration into Rust interface and build configuration.
Rust Edition/Version Updates
Cargo.toml, bench/Cargo.toml, crates/*/Cargo.toml, crates/tauri-cli/templates/...
Upgrade from Rust 2021 edition to 2024 and minimum version from 1.77.2 to 1.88 across workspace.
Runtime Trait Extensions
crates/tauri-runtime/src/..., crates/tauri-runtime-wry/src/...
New InitAttribute trait, generic RuntimeInitArgs<A>, platform-specific attribute types, window opener abstraction, navigation methods (go_back/forward), and custom scheme URL helper.
Control Flow Refactoring
crates/tauri*/src/..., crates/tauri-cli/src/..., crates/tauri-bundler/src/...
Collapse nested if/let statements into compound conditions using && let patterns across hundreds of files.
Schema & Dependency Updates
crates/tauri-utils/..., crates/tauri-*/Cargo.toml, crates/tauri-schema-generator/...
Migrate schemars from 0.8.21 to 1.0, update schema generation to use schemars::Schema and JSON manipulation, update related dependencies.
Import Reordering
crates/tauri*/src/... (widespread)
Reorganize use statements throughout codebase for consistency and grouping, affecting hundreds of files.
Macros & Proc Macros
crates/tauri-macros/src/cef.rs, crates/tauri-macros/src/lib.rs
Add cef_entry_point proc macro attribute for CEF entry point handling.
Builder & Webview APIs
crates/tauri/src/app.rs, crates/tauri/src/webview/..., crates/tauri/src/window/...
Extend builder with platform-specific attributes, CEF command-line args, new navigation/DevTools/traffic-light position APIs, and address-change handler support.
Configuration & Build
.changes/config.json, .github/workflows/..., Cargo.toml
Add tauri-runtime-cef package configuration, install x86_64-apple-darwin target in CI workflows, update Rust toolchain to 1.88.

Estimated code review effort

🎯 4 (Complex) | ⏱️ ~60 minutes

Poem

🐰 CEF comes to Tauri with a hop and a bound,
New runtimes and workflows all gathered around,
From 2021 to 2024 we ascend,
With compounded conditions—let patterns extend,
A bundler reborn, platforms aligned,
Native webviews and helpers entwined! 🎉

✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch codex/cef-cache-path-env
⚔️ Resolve merge conflicts
  • Resolve merge conflict in branch codex/cef-cache-path-env

@senamakel
senamakel changed the base branch from dev to feat/cef April 26, 2026 00:05
@senamakel
senamakel merged commit c10bc0f into feat/cef Apr 26, 2026
1 check 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.

2 participants