Skip to content

Fix/pr 7714 7715 review issues#7764

Merged
lalalune merged 34 commits into
developfrom
fix/pr-7714-7715-review-issues
May 17, 2026
Merged

Fix/pr 7714 7715 review issues#7764
lalalune merged 34 commits into
developfrom
fix/pr-7714-7715-review-issues

Conversation

@lalalune
Copy link
Copy Markdown
Member

Relates to

Risks

Background

What does this PR do?

What kind of change is this?

Documentation changes needed?

Testing

Where should a reviewer start?

Detailed testing steps

Dexploarer and others added 30 commits May 16, 2026 17:12
…ng-20260517' into fix/pr-7714-7715-review-issues
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…er.ts

Function was inserted before the os/path imports during the PR 7757 merge;
moved it to the server-start section where it is actually called.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…nputs, apt branch init, wire all publish jobs into release-all

- windows-store-release.yml: fix submit-to-store if-condition from
  `inputs.submit_to_store == true` to `!= false` so the string 'true'
  from workflow_dispatch is handled correctly (GitHub boolean inputs
  are strings in expressions)

- publish-android-update-manifest.yml: upgrade actions/checkout@v4
  to @v6 for consistency with the rest of the repo

- publish-apt-repo.yml: add orphan branch creation step before the
  apt-repo checkout so the workflow doesn't fail on first run when
  the apt-repo branch doesn't yet exist in the remote

- elizaos-os-full-release.yml: add prepare job to compute bare semver
  version (strip leading 'v' from github.ref_name) before calling
  publish-apt-repo.yml; GitHub Actions has no substring() function so
  the stripping must happen in a shell step with an output; also adds
  prepare to publish-apt needs

- release-all.yml: replace snap-notify reminder stub with a real
  snap job that calls snap-publish.yml; add windows-store job calling
  windows-store-release.yml after desktop succeeds; add
  android-update-manifest job that computes version_code from semver
  and dispatches publish-android-update-manifest.yml via gh workflow
  run (required because reusable workflow calls cannot use computed
  per-step values as inputs); add aosp-update-manifest job calling
  publish-aosp-update-manifest.yml after linux-os-iso; add apt-repo
  job calling publish-apt-repo.yml after linux-os-deb; update summary
  job needs list and result table to include all new jobs

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Staged all unstaged changes brought in by the swiftun/nubs/messylinux
branch merges: cloud-frontend branding and feature additions, UI voice-pill
refactor (CSS rename), shared-brand exports, homepage/os-homepage/usb-installer
updates, design-assets cleanup, stale script removal, and biome lint fixes.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…b shell, vendor bundler

- Add iOS sideloading via Dadoum/Sideloader: SideloaderIosBackend (ideviceid/ideviceinfo
  device detection, Apple ID auth + 2FA via subprocess, IPA download/sign/install pipeline,
  EU DMA + Japan SCA regional notice via timezone detection)
- Add IosFlasher.tsx: 8-screen UI (scan → device → region notice → app select → Apple ID
  login → 2FA → progress → complete), password never stored post-POST
- Add DependencyManager: auto-detects adb/fastboot/libimobiledevice/sideloader from
  ~/.elizaos/flasher/vendor/bin/ and PATH; auto-installs via brew/apt/winget with
  GitHub binary fallback and manual instructions fallback
- Add DependencyGate.tsx: startup screen with per-dep status icons, auto-install buttons,
  collapsible manual instructions, two-click bypass
- Add InstallerShell.tsx: unified 3-tab shell (💾 USB / 📱 Android / 🍎 iPhone)
  wrapping existing FlasherApp + new IosFlasher; update main.tsx entry point
- Add vendor/download.mjs: downloads platform-tools + Sideloader binaries to
  ~/.elizaos/flasher/vendor/bin/{platform}/ at postinstall time; partial-success tolerant
- Add vendor/checksums.json + .gitignore for vendor/bin/
- Add weekly update-vendor-checksums.yml CI workflow
- Fix Samsung T7 (USB-NVMe enclosure) detection in macOS USB installer backend:
  add Ejectable field check for enclosures that report Removable:false but Ejectable:true
- Wire /dependencies, /ios/* endpoints into aosp-flasher server.ts

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Remove two aspirational TODO(cloudflare) comments with no current
  action (app-factory.ts subdomain wiring, app-domains.tsx DNS targets)
- Strip @param/@returns JSDoc lines that merely restate the function
  signature or parameter name across 17 utility/config/auth files in
  cloud-shared and cloud-frontend
- Preserve all comments that explain non-obvious design decisions,
  migration dependencies, driver quirks, or intentional constraints

Net: -117 lines in target packages (cloud-shared, cloud-frontend).
All kept NOTEs and TODOs document real constraints or in-flight work.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Removes a try/catch that silently returned 0 on DB failure for credit
balance — a financial field where a wrong value is worse than a visible
error. The org row is already fetched in the same Promise.all higher up
in fetchDashboardDataInternal, so this also eliminates a duplicate DB
query. The inline expression `org ? Number(org.credit_balance) : 0` is
equivalent to the old code's happy path.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Add pg + @types/pg to root devDependencies so packages/scripts/cloud/admin scripts
  can resolve pg regardless of cwd (packages/scripts has no package.json)
- Add biome-ignore for runtime.useModel() call in plugin-mcp/utils/error.ts — Biome
  misidentifies the elizaOS `use*` method as a React hook due to naming convention

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Fix two Biome formatter violations in packages/app-core that caused
lint failure: collapse a multi-line retrieveConnection call that
exceeded the line length limit, and reformat a dynamic import
expression in auth-store.ts to match Biome's expected style.

Both packages/app and packages/app-core typecheck and lint clean.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…ontend

- Replace redundant console.error+toast pairs with toast-only in app-settings,
  apps-table, billing-tab, and eliza-chat-interface (file upload, STT, TTS)
- Promote silent console.error-only catches to toast.error in usage-tab,
  affiliates-page-client, app-analytics (3 fetches), app-users, and
  eliza-chat-interface message load — errors were invisible to users
- Add explanatory comments to two bare catch{} blocks around
  invalidateCorsAllowedPorts dynamic imports in dev-server and eliza
- Fix pre-existing biome formatter issue in training-benchmarks.ts
  (historyStmt.all call was split across 4 lines, now inline)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…hared

- Replace `Promise<any>` return on room-title evaluator handler with `Promise<void>`
- Replace `AsyncIterable<any>` in vercel-ai-gateway with `AsyncIterable<TextStreamPart<...>>`
- Replace `[] as any[]` in node-autoscaler test with typed `DockerNode[]`
- Add explanatory comments to all remaining justified `as unknown as` casts:
  - Drizzle `.returning()` type limitation (memories, participants, rooms)
  - Legacy elizaOS evaluator shape vs current Evaluator interface
  - Private AgentRuntime.initResolver property access
  - Content index signature incompatibility with plugin metadata
  - JSONB column types in sensitive-requests repository
  - Wadis library type mismatch with local WadisClientLike interface
  - Generic empty array [] cast for typed T extends unknown[] return
  - Test mock assignment to globalThis.fetch
  - Worker polyfill assignments to globalThis builtins
  - Variadic CompatDatabaseMethod requires any[] for contravariance

All 178 tests pass; both packages typecheck clean.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Shaw and others added 4 commits May 16, 2026 21:11
…ard pages

Pages that returned <DashboardLoadingState/> from the !ready/!authenticated
short-circuit dropped their <Helmet><title>...</title></Helmet> during the
auth-loading window, which let the homepage <title> ("Eliza Cloud - Launch
Eliza") leak through. Surfaced by an authed dashboard sweep against the
production preview build with VITE_PLAYWRIGHT_TEST_AUTH=true baked in.

Fixed routes:
  /dashboard            (was leaking)
  /dashboard/agents     (race-prone)
  /dashboard/api-keys   "API Keys"
  /dashboard/mcps       "MCP Servers"
  /dashboard/documents  "Knowledge"

Also splits admin dashboard routes out of the renderable e2e fixture into
a dedicated "requires admin auth" smoke — they correctly redirect to /login
under the default test-auth user, so asserting them as renderable was
wrong; now we assert the gate is in place instead.

Adds a new tests/e2e/siwe-flow.spec.ts that exercises the real
@stwd/sdk SIWE handshake (GET /auth/nonce → build EIP-4361 message →
sign locally with viem → POST /auth/verify) end-to-end, using an
ephemeral generated EVM key and mocked Steward endpoints. Validates
the bundle posts a real EIP-4361 message with our nonce and that the
signature recovers to our generated address.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
…arning and fix build

Next.js 15 detects two bun.lock files (milady root + eliza root) and picks
the wrong workspace root, then fails to find pages-manifest.json. Setting
outputFileTracingRoot to the examples root anchors resolution correctly.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Remove unnecessary `as unknown as` double-casts where single `as` suffices
  (sensitive-request-store, phrase-chunked-tts)
- Replace branded-type cast in server-utils.test.ts with proper stringToUuid()
- Remove redundant undefined assignment before delete in public-link-adapter.test
- Replace process.env cast with typed Record<string,unknown> in onboarding test
- Call AgentRuntime.getService() directly instead of casting to inline interface
- Replace `as any` in server-role-seeding tests with typed `as unknown as IAgentRuntime`
  and `as unknown as Memory`, removing biome-ignore suppressions
- Document necessary remaining casts with explanatory comments (CapacitorSQLite
  plugin type gap, TtsHandler/EdgeTtsHandler function-type mismatch, module→subset
  boundary in auth-store and training-benchmarks)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…vels up)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@lalalune lalalune merged commit a4f0e50 into develop May 17, 2026
28 of 46 checks passed
@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented May 17, 2026

Important

Review skipped

Auto reviews are disabled on this repository. Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: 6142f63e-aa08-40bd-8276-24ca45b5410e

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch fix/pr-7714-7715-review-issues

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.

@lalalune lalalune deleted the fix/pr-7714-7715-review-issues branch May 17, 2026 04:23
@claude
Copy link
Copy Markdown
Contributor

claude Bot commented May 17, 2026

Claude encountered an error after 0s —— View job


I'll analyze this and get back to you.

@github-actions
Copy link
Copy Markdown
Contributor

LifeOps Benchmark — eliza

Run ID: lifeops-eliza-25981225500

LifeOps Benchmark

Model: gpt-oss-120b
Judge: claude-opus-4-7
Scenarios: 25
pass@1: 0.000
pass@k: 0.000
Total cost: $0.0000

Full artifacts: see the lifeops-run-eliza-25981225500 upload on this run.

@github-actions
Copy link
Copy Markdown
Contributor

LifeOps Benchmark — hermes

Run ID: lifeops-hermes-25981225500

LifeOps Benchmark

Model: gpt-oss-120b
Judge: claude-opus-4-7
Scenarios: 25
pass@1: 0.280
pass@k: 0.280
Total cost: $0.9356

Full artifacts: see the lifeops-run-hermes-25981225500 upload on this run.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants