Skip to content

[codex] harden Easy Edits burner reliability#41

Merged
JamesCarnley merged 1 commit into
mainfrom
codex/easy-edits-reliability
Jun 26, 2026
Merged

[codex] harden Easy Edits burner reliability#41
JamesCarnley merged 1 commit into
mainfrom
codex/easy-edits-reliability

Conversation

@JamesCarnley

@JamesCarnley JamesCarnley commented Jun 25, 2026

Copy link
Copy Markdown
Member

Summary

  • Connect the Easy Edits burner immediately from the click handler, while keeping the existing effect as a fallback.
  • Surface burner auto-connect failures with a clear toast and retryable inactive toggle instead of silently leaving users half-enabled.
  • Make the burner signer prefer the Alchemy-aware Sepolia RPC fallback before the public default RPC, so promptless writes avoid the slow/default public RPC path when no explicit RPC override is configured.
  • Preserve explicit RPC overrides (NEXT_PUBLIC_SEPOLIA_RPC_URL, plus devnet/local equivalents) ahead of Alchemy, so operator-provided paid/proxied RPCs still win.
  • Add coverage for Sepolia burner RPC ordering, including the explicit override case.

Context

app.efs.eth.limo is serving the merged Easy Edits code, but promptless Sepolia writes were still routed by the burner signer through the chain's default public RPC unless NEXT_PUBLIC_SEPOLIA_RPC_URL was set. That can make uploads feel much slower or flakier than manual wallet flows. The Easy Edits click path also deferred the actual connect() call to an effect, whereas manually choosing Burner Wallet calls the connector directly from the user's action.

This keeps the feature as a disposable signer layer only. It does not change identity/account semantics or write attribution.

Verification

  • yarn workspace @se-2/nextjs exec node --test --test-reporter=spec utils/scaffold-eth/chainAwareBurnerWallet.test.ts utils/scaffold-eth/instantBurner.test.ts (29 pass, 0 fail)
  • yarn workspace @se-2/nextjs test --test-reporter=spec (156 pass, 0 fail)
  • yarn next:lint --max-warnings=0
  • yarn next:check-types
  • Local Sepolia-mode dev server on http://localhost:3003: fallback Chrome Playwright check cleared storage, clicked Easy Edits, generated burnerWallet.pk, connected burner on Sepolia, and observed aria-pressed="true" with no wallet modal.
  • Faucet CORS check: https://app.efs.eth.limo is allowed for /faucet/drip; localhost is intentionally not allowed, so local faucet POST fails are not expected on production.

Expert Review

Four specialist review passes were run after the first PR version. One RPC/performance reviewer found that the first transport patch let Alchemy outrank an explicit NEXT_PUBLIC_SEPOLIA_RPC_URL; this head fixes that and adds a regression test. The other reviewers found no blocking state-machine, guardrail, or user-flow issues. Remaining non-blocking gap: there is no React-level unit test for the Easy Edits click itself; browser verification covers it for this PR.

Notes

The in-app browser bridge timed out when navigating both the live and local EFS app, even though about:blank worked and curl/local Chrome loaded the app. I used it as far as it would go, then used Chrome-channel Playwright for click-level verification.

@JamesCarnley
JamesCarnley force-pushed the codex/easy-edits-reliability branch from bf87f4b to f5666d6 Compare June 25, 2026 20:01
@JamesCarnley
JamesCarnley marked this pull request as ready for review June 26, 2026 04:42
@JamesCarnley
JamesCarnley merged commit 25346c8 into main Jun 26, 2026
3 checks passed
@JamesCarnley
JamesCarnley deleted the codex/easy-edits-reliability branch June 26, 2026 04:43
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