Skip to content

Sync Repository#941

Closed
VectorJet wants to merge 28 commits intotinyhumansai:mainfrom
VectorJet:main
Closed

Sync Repository#941
VectorJet wants to merge 28 commits intotinyhumansai:mainfrom
VectorJet:main

Conversation

@VectorJet
Copy link
Copy Markdown
Contributor

@VectorJet VectorJet commented Apr 26, 2026

Summary

  • What changed and why.
  • Keep this to 3-6 bullets focused on user-visible or architecture-impacting changes.

Problem

  • What issue or risk this PR addresses.
  • Include context needed for reviewers to evaluate correctness quickly.

Solution

  • How the implementation solves the problem.
  • Note important design decisions and tradeoffs.

Submission Checklist

  • Unit tests — Vitest (app/) and/or cargo test (core) for logic you add or change
  • E2E / integration — Where behavior is user-visible or crosses UI → Tauri → sidecar → JSON-RPC; use existing harnesses (app/test/e2e, mock backend, tests/json_rpc_e2e.rs as appropriate)
  • N/A — If truly not applicable, say why (e.g. change is documentation-only)
  • Doc comments/// / //! (Rust), JSDoc or brief file/module headers (TS) on public APIs and non-obvious modules
  • Inline comments — Where logic, invariants, or edge cases aren’t clear from names alone (keep them grep-friendly; avoid restating the code)

(Any feature related checklist can go in here)

Impact

  • Runtime/platform impact (desktop/mobile/web/CLI), if any.
  • Performance, security, migration, or compatibility implications.

Related

  • Closes:
  • Follow-up PR(s)/TODOs:

Summary by CodeRabbit

  • Chores

    • Migrated build system from Yarn to pnpm (v10.10.0) across all workflows and scripts.
    • Added Debian package runtime dependencies for improved compatibility.
  • New Features

    • Added ARM Linux (aarch64) build documentation with setup instructions.
  • Bug Fixes

    • Improved message identification reliability with UUID-based IDs.
    • Removed duplicate route configuration.

VectorJet and others added 28 commits April 24, 2026 08:26
- 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>
…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>
- 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.
@VectorJet VectorJet requested a review from a team April 26, 2026 10:25
@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented Apr 26, 2026

Caution

Review failed

The pull request is closed.

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 3dfbde5b-b24b-4eff-bab2-eb8ed06ba8ec

📥 Commits

Reviewing files that changed from the base of the PR and between 7867496 and 360cded.

⛔ Files ignored due to path filters (2)
  • app/pnpm-lock.yaml is excluded by !**/pnpm-lock.yaml
  • pnpm-lock.yaml is excluded by !**/pnpm-lock.yaml
📒 Files selected for processing (27)
  • .github/workflows/build-windows.yml
  • .github/workflows/build.yml
  • .github/workflows/e2e-agent-review.yml
  • .github/workflows/release.yml
  • .github/workflows/test.yml
  • .github/workflows/typecheck.yml
  • .husky/pre-push
  • app/package.json
  • app/scripts/e2e-build.sh
  • app/scripts/e2e-run-spec.sh
  • app/src-tauri/src/lib.rs
  • app/src-tauri/tauri.conf.json
  • app/src/AppRoutes.tsx
  • app/src/components/settings/panels/AIPanel.tsx
  • app/src/pages/Conversations.tsx
  • app/test/e2e/helpers/artifacts.ts
  • app/test/e2e/specs/agent-review.spec.ts
  • app/test/wdio.conf.ts
  • docs/BUILDING.md
  • package.json
  • packages/deb/control.in
  • pnpm-workspace.yaml
  • scripts/review/README.md
  • scripts/review/cli.sh
  • src/core/all.rs
  • src/openhuman/webhooks/bus.rs
  • tests/webview_apis_bridge.rs

📝 Walkthrough

Walkthrough

This pull request performs a comprehensive migration from Yarn to pnpm as the project's package manager, updating GitHub Actions workflows, package manifests, build scripts, and shell hooks. It also adds pnpm workspace configuration, updates build command references, adds Linux/ARM build documentation, removes a redundant routing entry, and refactors WebSocket test infrastructure.

Changes

Cohort / File(s) Summary
GitHub Actions Workflow Migrations
.github/workflows/build-windows.yml, .github/workflows/build.yml, .github/workflows/e2e-agent-review.yml, .github/workflows/release.yml, .github/workflows/test.yml, .github/workflows/typecheck.yml
Switched all workflows from Yarn to pnpm v10.10.0 with caching enabled. Replaced yarn install --frozen-lockfile with pnpm install --no-frozen-lockfile. Updated workspace commands to use pnpm --filter. Set Node.js 24 globally, increased memory limits via NODE_OPTIONS, and removed yarn-specific node_modules caching configuration.
Package Manager Configuration
package.json, app/package.json, pnpm-workspace.yaml, .husky/pre-push
Declared pnpm 10.10.0 as the project's package manager and added workspace config via pnpm-workspace.yaml. Updated all root and app scripts to invoke pnpm instead of yarn. Modified husky pre-push hook to use pnpm for format, lint, compile, and rust checks.
Build & Tauri Configuration
app/src-tauri/tauri.conf.json, app/scripts/e2e-build.sh, app/scripts/e2e-run-spec.sh
Changed Tauri build commands from npm/npx to pnpm for both dev and production. Added Linux .deb bundle runtime dependencies (GTK, WebKit, X11, GLib). Updated E2E scripts to use pnpm exec instead of npx.
Test Infrastructure & Configuration
app/test/wdio.conf.ts, app/test/e2e/helpers/artifacts.ts, app/test/e2e/specs/agent-review.spec.ts, tests/webview_apis_bridge.rs
Removed eslint suppression comments from E2E test files. Updated WDIO config to use absolute spec paths and set rootDir. Refactored WebSocket test server to run in dedicated thread with its own Tokio runtime instead of per-test runtime.
Code Quality & Routing
app/src/AppRoutes.tsx, app/src/components/settings/panels/AIPanel.tsx, app/src/pages/Conversations.tsx
Removed redundant protected route for notifications. Fixed useEffect dependency array in AIPanel for periodic polling. Switched message ID generation from timestamp-based to UUID-based (crypto.randomUUID()).
Logging & Backend Changes
app/src-tauri/src/lib.rs, src/core/all.rs, src/openhuman/webhooks/bus.rs
Downgraded tray icon setup failure from error to warning with headless environment note. Removed unused redirect_links namespace from controller registry. Removed unused derived skill variable computation.
Documentation & Scripts
docs/BUILDING.md, scripts/review/README.md, scripts/review/cli.sh
Documented pnpm usage instead of yarn. Added comprehensive ARM Linux (aarch64) build instructions including headless prerequisites, target-specific Tauri command, library path setup, and GTK initialization workaround.
Package Metadata
packages/deb/control.in
Added explicit runtime dependencies declaration for Debian package including GTK, WebKit, X11, and GLib libraries.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~25 minutes

Possibly related PRs

Suggested reviewers

  • senamakel
  • graycyrus
  • M3gA-Mind

Poem

🐰 Hop, skip, and pnpm away!

From yarn to pnpm we spring,
With workflows and workspaces ring,
Tests now thread through the air,
Message IDs cryptographically fair,
Dependency migration takes wing! 🌟

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

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.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@VectorJet
Copy link
Copy Markdown
Contributor Author

A typo. Closing now.

@VectorJet VectorJet closed this Apr 26, 2026
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.

6 participants