fix(app): make linux CEF deb package runnable#897
fix(app): make linux CEF deb package runnable#897VectorJet wants to merge 31 commits intotinyhumansai:mainfrom
Conversation
- Document aarch64 build process in BUILDING.md - Add gtk::init() in tauri-runtime-cef before tray creation - This fixes 'GTK has not been initialized' panic on ARM Linux
…e externalBin - Migrate package.json scripts from yarn to pnpm - Add linux deb bundle config with empty depends in tauri.conf.json - Remove duplicate externalBin key in tauri.conf.json - Add pnpm workspace and lockfiles Amp-Thread-ID: https://ampcode.com/threads/T-019dbb86-6270-709c-ba2e-0dc4ed254adc Co-authored-by: Amp <amp@ampcode.com>
Co-authored-by: Jwalin Shah <jshah1331@gmail.com>
…i#710) (tinyhumansai#839) - Add JSON-RPC handlers for source, global, and topic-based memory retrieval. - Integrate Ollama embeddings for semantic reranking of chunks and summaries. - Implement 15 unit tests for RPC handlers covering parameter parsing and PII redaction. - Redact PII from logs by removing raw source, entity, and node identifiers. - Fix BFS traversal for drill-down and deduplicate results in topic queries. - Add configuration for embedding endpoints, models, and strictness modes. Co-authored-by: sanil-23 <sanil@vezures.xyz> Co-authored-by: Steven Enamakel <enamakel@tinyhumans.ai>
…LLM-summarised squash bodies (tinyhumansai#849)
- Update all workflows to use pnpm instead of yarn - Change cache: yarn to cache: pnpm - Change yarn install to pnpm install - Change yarn workspace to pnpm --filter - Guard setup_tray with warn log level for headless CI environments
Also fix E2E spec pattern resolution from app/ directory
tauri-driver v2.0.5 proxies to WebKitWebDriver (webkit2gtk), but this app uses CEF (tauri-runtime-cef) which has no WebDriver automation. Sessions hang and timeout. Same as the commented-out e2e_linux job in test.yml. Keep workflow_dispatch for manual runs when CEF automation support lands.
…ws, docs - Replace yarn with pnpm in macos:dev script (app/package.json) - Populate linux.deb.depends with GTK/WebKit/X11 runtime packages (tauri.conf.json + control.in) - Replace "Install pnpm" (npm install -g pnpm) with pnpm/action-setup@v4 in all 5 workflows that had pnpm before setup-node, enabling actions/setup-node cache: pnpm to work correctly - Remove duplicate Install pnpm step from test.yml - Remove references to non-existent pnpm-cache step in typecheck.yml - Update docs/BUILDING.md prerequisites and all command examples to use pnpm consistently - Fix hardcoded CEF_DIR hash and .deb filename with glob patterns - Remove redundant workspaces array from root package.json
actions/setup-node cache: pnpm requires pnpm in PATH when setup-node runs, but pnpm/action-setup installs pnpm after setup-node in the execution order. Fix by using pnpm/action-setup's own cache: true to cache the pnpm store, and remove cache: pnpm from setup-node steps across all 6 workflows.
Add comprehensive unit tests for PR #3 changes: - default_core_bin() tests: * Env override takes precedence when file exists * Graceful handling when env override points to nonexistent file * Symlink resolution for same_executable_path * Nonexistent file handling * Core process handle creation and RPC URL formatting - setup_tray() tests: * Conditional compilation validation * Dictation shortcut expansion (CmdOrCtrl handling) * Platform-specific behavior (macOS vs non-macOS) - Additional helper tests: * is_daemon_mode detection * core_rpc_url() with env var and fallback * overlay_parent_rpc_url() edge cases (empty, whitespace) These tests verify the grep-friendly logging patterns and packaged Linux binary path probing introduced in the PR.
|
Caution Review failedPull request was closed or merged during review 📝 WalkthroughWalkthroughThe PR migrates the project from Yarn to pnpm across CI/CD workflows, npm scripts, and configuration files. It updates Tauri build settings, enhances core process binary resolution logging, refactors tray initialization to execute after app ready state, adds ARM Linux build documentation, removes redirect_links controller registration, and refactors E2E test infrastructure. Changes
Sequence Diagram(s)sequenceDiagram
participant App as Tauri App
participant Event as RunEvent Handler
participant GTK as GTK (Linux)
participant Tray as Tray Setup
App->>Event: Application starts
Event->>Event: Execute .setup() closure<br/>(without tray init)
Note over App: Platform-specific init...<br/>GTK initialization, etc.
Event->>Event: RunEvent::Ready triggered
rect rgba(100, 200, 100, 0.5)
Event->>GTK: Check if Linux + CEF feature?
alt Linux + CEF
Event->>Tray: Log warning (no-op)
else Other platforms
Event->>Tray: setup_tray(app_handle)
Tray->>Tray: Create tray menu
Tray->>Tray: Register event handlers
end
end
Tray-->>App: Tray ready
Estimated code review effort🎯 4 (Complex) | ⏱️ ~75 minutes Possibly related PRs
Suggested reviewers
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
⚔️ Resolve merge conflicts
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
|
jfyi some files are outdated since we merged |
|
Got it closing this as it contains unnecessary commits. Creating a new one |
Summary
.debinstalls without hand-editingDEBIAN/controlopenhuman-corefrom Linux install locations like/usr/bin/openhuman-corelinux + cefbuilds to avoid the packaged GTK panic during tray/menu creationProblem
.debwas not runnable after install on Debian 13 / trixielibwebkit2gtk-4.0-37,libgdk-pixbuf2.0-0)openhuman-corenext to the app binary/resources, but the.debinstalls it in/usr/binSolution
tauri.conf.jsonLinux deb dependencies to trixie package namesdefault_core_bin()to probe packaged Linux locations before falling back to sibling/resource lookupsetup_tray()by cfg and short-circuit tray creation onlinux + cefwith an explicit warning logRunEvent::Readytray deferral for other targets/runtime combinationsSubmission Checklist
app/) and/orcargo test(core) for logic you add or changeapp/test/e2e, mock backend,tests/json_rpc_e2e.rsas appropriate)cargo check --manifest-path src-tauri/Cargo.toml --target aarch64-unknown-linux-gnuplus a local packaged install reproImpact
.debartifactslinux + cefpath; tray behavior on other targets is unchangedRelated
chrome-sandboxpermissions automaticallySummary by CodeRabbit
New Features
Bug Fixes
Documentation
Chores