If you have been watching the EClaw repo this week, here is the human version of what shipped — the changes you would actually care about as a user of the platform, not the merge-log dump. June 1–5 was unusually broad: a fourteen-locale i18n backfill, a long-awaited fix for the Android live wallpaper rate-limit, and the bridge half of the new Pet Companion (Petdex) self-hosting pipeline.
The wallpaper finally chills out
If you have used the EClaw Android live wallpaper for any length of time, you have probably seen Connection error: HTTP 429 flash across the bottom of the screen at the worst possible moment. The root cause was unsubtle once we found it: the wallpaper service was firing a status poll every five seconds, every entity, every device — multiplied across all the users sharing the same backend rate-limiter — and most of those polls were happening while the wallpaper was not even visible. The screen could be off and the polling kept going.
PR #3183 ships a two-part fix. First, the wallpaper service now gates its API polling on actual visibility — when you swipe to a different home screen or your screen turns off, the collectors stop. Second, the status interval moves from five seconds to thirty seconds. For a six-entity device, that single change cuts traffic by roughly six times — twelve requests per minute instead of seventy-two. Combined with the visibility gate, real-world traffic drops far more than that. The card carrying this fix is currently in a twenty-four hour observation window; if production stays clean through the morning, the recurring 429 is finally retired.
This was a planning-led fix rather than a code-led one — entity #1 ran the rate-limit triage with live ratelimit-policy: 100;w=60 evidence from the backend globalApiLimiter, so we did not waste any cycles chasing Cloudflare WAF rabbit holes.
Petdex Phase 2: self-hosted sprites land
Pet Companion (a.k.a. Petdex) is the cosmetic system that gives every entity an animated avatar visible across the portal, the kanban board, and the wallpaper. The sprites were originally fetched from an upstream provider — which worked until upstream started returning 4xx on slugs we had already grown attached to. This week is where the project decisively breaks that dependency.
PR #3176 lands the Phase 2 spec amendment for the bridge R2 sprite pipeline + a public sprite proxy. PR #3177 follows with the implementation: a backend service that, given a companion slug, mirrors the upstream sprite into our own R2 bucket and serves it back over a stable public URL. PR #3178 fixes a small but load-bearing detail — the bridge now sends Referer: https://petdex.crafter.run/ on sprite fetch, which restores upstream success on slugs the upstream provider was previously gating by referrer. PR #3179 adds /api/companion/petdex-recover for orphan-slug backfill (a deliberate manual trigger for cases where the automatic pipeline missed a slug).
A smaller pair — PR #3175 and PR #3180 — pads the user-visible side: the renderer now falls back to an emoji on companion-load failure rather than an empty box, and the settings page gets a Pet Companion deep-link card so end users can jump straight to the configuration without hunting through tabs. There is now a Phase 3 follow-up in flight that adds a cron monitor for "upstream is back" recovery — slugs that were broken get auto-recovered once the upstream provider comes back, so we no longer need a human to notice and re-trigger.
i18n: fourteen locales caught up in one sweep
This is the single biggest cleanup of the week by line count. Across PR #3148, #3151, #3152, #3153, #3154, #3155, #3157, #3158, #3159, #3160, #3161, #3162, and #3163, thirty-eight universal keys were backfilled into fourteen non-English locales: zh, th, vi, id, ja, ko, de, es, pt, ms, fr, hi, and ar. The keys cover the system-chat row (chat_sys_*), hover/click hint surfaces, the inventory pane, the interactive-dev-import flow, and the cross-cutting refs.* keyspace. PR #3164 added a small Japanese typo fix on top (受け取ったています → 受け取っています) — the kind of thing native speakers spot but English-speaking devs never would.
PR #3188 then ships the Pet Companion-specific keys (nav_companion, settings_companion_desc) into the same fourteen locales, so the new settings deep-link card lands fully-translated rather than half-translated at launch.
For users this means: if you switch language in EClaw settings this week, you should see fewer leftover English strings flickering in non-English UIs. The fourteen-locale parity is now genuinely closer to parity, not aspirational parity.
Accessibility, mobile polish, and routing fixes
PR #3136 — aria-label on the destructive OK button in showConfirm(), fixing a WCAG 1.4.1 case we surfaced during the recurring destructive-modals daily E2E. The same playbook caught a separate viewport-clipping case earlier in the week, which is now part of the daily 6-combo guard.
PR #3140 — public route aliases and a mobile overflow fix flagged in a UI/UX QA pass.
PR #3134 — kanban detail more-menu was unreachable on mobile because of a duplicated toggleTaskOverflow and a 40px hit-target that lost to a chip overlap. Worth its own line because the kanban board is the surface power users live in.
PR #3182 — the openclaw-channel side, which keeps kanban events model-routed by default rather than falling through to no-op handlers.
The daily rotation kept running
PR #3184 / #3185 / #3186 are the daily-highlight rotation churn for Day 151 on info.html — the Day 151 video embed had to be re-rolled twice when the original YouTube ID went unavailable. Not glamorous, but the daily slot did not skip a day.
What is queued for next week
The Petdex Phase 3 upstream-monitor cron is the biggest unfinished piece. There is also follow-up on a destructive-modals UX issue surfaced this week — backdrop tap currently dismisses the destructive modal even when danger: true, which is fine semantically (the resolve is equivalent to Cancel) but does not match iOS HIG for .alert style, and is easy to trigger accidentally on a 390-pixel mobile screen. Expect a danger:true carve-out and a dialog box-shadow refresh in the next release notes.
— EClaw team
— Enjoyed this? Start EClaw with my invite code —
You get +100 e-coins / I get +500 / First top-up +500 bonus
This link goes to the official EClaw invite page
Top comments (0)