openclaw/docs/web
Peter Steinberger 2dc1071d20
refactor(ui): drop pre-July-2026 avatar migration (#163209)
## What Problem This Solves

The Control UI still imports a browser-wide scalar avatar override and assigns it to the first agent that loads it. That storage shape stopped shipping before the supported July 2026 upgrade window.

## User Impact

Upgrades from pre-July-2026 versions are no longer migrated: browser-wide scalar assistant-avatar overrides. Users with that unsupported setting can set each agent's avatar again. July and later per-agent avatar maps keep their existing normalization and loading behavior; supported rendered appearance is unchanged.

## Why This Change Was Made

Commit c65aa1d2a6 introduced the scalar writer. Actual v2026.6.8, published June 16, still writes it. Commit 4aba273939 replaced it with an `avatars` map, verified in v2026.6.9, published June 21. The July beta, June extended-stable v2026.6.33/v2026.6.35, v2026.7.35, and v2026.8.34 all write maps. The alpha tag alone was not treated as publication evidence.

Remove the scalar fields, first-agent adoption branch, and migration-only writer. Keep the existing per-agent map owner and its callers. Net production reduction: 23 lines. No protocol, schema, SDK, or renderer changes.

## Evidence

- Blacksmith Testbox with pinned base 1191e0f976 and matching source hashes: the new July-map storage-boundary test passed (1 ms test time; 1.97 s command wall). It loads independent overrides for two agents and preserves the serialized storage value.
- Existing identity normalization and chat-state caller suites: 161 tests passed, 5.20 s wall.
- Both import-cycle checks: 0.
- `check-changed` passed with an explicit success marker and exit 0 (243.83 s). The first native command payload had a trailing-newline wrapper error after checks; a trimmed check-only replay reconciled its exit status without repeating focused tests or cycle checks.
- Formatting and `git diff --check`: passed.
- Shared Doctor coverage for this lane passed on the UI and runtime candidates; this patch does not touch Doctor or its imports.
- Independent isolated Codex review through P2: scoped-clean. The reviewed patch rebased onto fresh main without changes.
- Rebased head `1cab22b809cbedd751d0ec823eb7f9cbc6629ce2`: both cycle checks again reported 0, and all 162 focused tests passed (16.02 s Vitest duration; 20.21 s runner wall). Neither Blacksmith nor direct AWS supplied a runner within the remote wait budget, so the required pre-push refresh used the authorized `nice -n 15` local fallback, one command at a time. Original remote proof above remains separate evidence.
- Hosted CI on exact head `1cab22b809cbedd751d0ec823eb7f9cbc6629ce2`: [run 36960134044](https://github.com/openclaw/openclaw/actions/runs/36960134044) passed. The new July-map test passed in 1 ms in [UI shard 2/3](https://github.com/openclaw/openclaw/actions/runs/36960134044/job/110692025251). ClawSweeper completed its current-head review without actionable findings. No inherited-failure admin exception was needed.

The owned Testbox lease has been stopped. No bugs or flaky tests were changed in this patch.
2026-10-01 22:41:56 -05:00
..
control-ui refactor(ui): drop pre-July-2026 avatar migration (#163209) 2026-10-01 22:41:56 -05:00
control-ui.md fix(ui): sidebar hides saved-draft and attachment outbox badges until the conversation is reopened (#162049) 2026-09-30 20:57:41 -07:00
dashboard-architecture.md fix(ui): keep chat and drafts usable when connections fail (#162428) 2026-10-01 15:34:46 -07:00
dashboard.md docs: fix one-way and absolute links across cli, tools, gateway, and channels (#143157) 2026-09-10 07:40:16 +09:00
dashboards.md fix(ui): hide single-widget pill in split dashboards (#160117) 2026-09-30 15:00:17 -07:00
index.md fix(auth): reconcile Gateway secret guidance and macOS password prompts (#141723) 2026-09-07 19:41:17 -07:00
lobster.md feat(themes): support plugin hats and critter artwork (#154935) 2026-09-21 10:30:47 -07:00
notifications.md perf(web-push): unblock browser settings during notification preparation (#159709) 2026-09-27 15:02:47 +00:00
tui.md fix(tui): keep history and sends on the selected session (#159166) 2026-09-26 16:54:03 -07:00
urls.md refactor(ui): retire the global Tasks workspace (#158217) 2026-09-25 17:10:15 -07:00
webchat.md fix(chat): hide explicitly removed queued messages (#159503) 2026-09-27 19:46:40 -07:00