Repository navigation
fix(server): recognize OmO installed with bun add -g, whose engine sits next to omo-ai - #278
Conversation
…ts next to omo-ai
|
Navigate logical layers of code changes, visualize relationships, and explore their blast radius. No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Repository: devswha/herdr-web-ui/.coderabbit.yaml Review profile: CHILL Plan: Advanced Run ID: 📒 Files selected for processing (1)
🚧 Files skipped from review as they are similar to previous changes (1)
Included review availability: This review used your included allowance. Your plan provides up to 10 included reviews per hour; 7 remain after this review. 📝 SummarySummary by CodeRabbit
Walkthrough
ChangesOmO process detection
Priority: ➖ Normal Estimated code review effort: 2 (Simple) | ~10 minutes Change: Bug fix · Severity of issue fixed: Medium Merge Risk: ⚪ Minimal · up to The change restores detection for the supported global OmO installation shape while preserving the intended exclusions. No actionable merge-blocking issue was identified; mergeable subject to normal checks. Architecture SummaryArchitecture risk: 🔵 Low · up to The change affects 2 systems. Changed systems: Architecture concerns Review detailsSystems and components
Before / after behavior
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
Fixes #256. Raises `REMOTE_BUNDLE_VERSION` from 9 to 10, so that remote PCs (Windows PCs included) get the bridge-side fixes merged since `remote-v9`: #235, #243, #249, #251, #264, #265, #267, #278, #281 and the rest of `git log remote-v9..main -- server shared`. `server/machines.test.ts` named the `remote-v9` directory literally and failed on the new number; it now reads the constant. ## Order, from docs/remote-pcs.md 1. Merge this. 2. Push the `remote-v10` tag on `main`: the Remote PC bundles workflow builds, smoke-tests and publishes the five archives and `manifest.json`. 3. Only then release the app: an app that carries the new number finds no `remote-v10` manifest before step 2, and every connected PC's bridge counts as incompatible until it is updated. ## Checked `bun run typecheck`, `bun run test:unit` (734 pass). The bundle build and smoke run in this PR's Remote PC bundles checks.
Prepares v0.3.41. - `package.json` and `herdr-plugin.toml` go to 0.3.41. - The `[Unreleased]` notes move under `[0.3.41] - 2026-10-02`; compare links added. - 19 entries that had no PR link get one, with `by @login` for outside contributors (#262 by @diegolhambi; #255, #277, #278, #279 by @ddotz). After the merge: `gh workflow run release.yml --ref main -f version=0.3.41`.
Change
Since #249,
isOmoProcessidentifies OmO only from the program a pane runs:argv[0], or the script thatnode/bunruns. That covers an npm install, where OmO's engine sits inside omo-ai (bun …/omo-ai/node_modules/@code-yeongyu/senpi/dist/bundle/cli.js --extension …/omo-ai/plugin).A global bun install (
bun add -g omo-ai) hoists the engine next to omo-ai instead, and omo's launcher execs it. The pane's foreground process is then:Here the script is senpi's own entry, and
omo-aiappears only as the extension it loads. As a result, 0.3.40 no longer recognizes the pane as OmO:With this change, the engine entry (
@code-yeongyu/senpi/dist/cli.jsordist/bundle/cli.js, run by a JS runtime) counts as OmO when an--extensionargument names omo-ai's plugin. These are the entriesomo doctortreats as the engine. Everything #249 ruled out stays out:--extension;Validation
main(ef90055), unchanged, on macOS with omo-ai 5.1.6 installed bybun add -g omo-aiand two OmO panes:isOmoProcesson each pane's argv aspsreports it returnedfalsefor both;truewas expected.GET /api/pane/conversation?pane_id=<OmO pane>returned{"source":"scrollback","turns":[]}, and the chat showed only "Conversation unavailable — show terminal output".isOmoProcessreturnstruefor both, andpaneConversationfor the same panes returnssource: "omo-transcript"with their turns.false. It fails onmain. The fix(server): take omo from the program a pane runs, not from an argument that names it #249 cases are unchanged.bun run generate:types --check,bun run typecheck,bun run build: pass.bun run test:unit: 726 pass, 1 skip, 0 fail (main: 725 pass, 1 skip, 0 fail).