fix: scope assistant avatar override to agent ID#93712
Conversation
|
ClawSweeper review: did not complete due to Codex infrastructure failure. Reviewed June 16, 2026, 1:14 PM ET / 17:14 UTC. Summary PR surface: Source +15. Total +15 across 3 files. Reproducibility: unclear. The review failed before ClawSweeper could establish a reproduction path. Review metrics: none identified. Stored data model Merge readiness This is a ClawSweeper/Codex infrastructure failure, not a PR readiness or patch-quality verdict. Risk before merge
Maintainer options:
Next step before merge
Review detailsBest possible solution: Retry the Codex review after fixing the execution failure. Do we have a high-confidence way to reproduce the issue? Unclear. The review failed before ClawSweeper could establish a reproduction path. Is this the best way to solve the issue? Unclear. Retry the review first so ClawSweeper can evaluate the actual issue and fix direction. AGENTS.md: unclear because the file could not be read completely. Codex review notes: model internal, reasoning high; reviewed against 6470bb76253b. Evidence reviewedPR surface: Source +15. Total +15 across 3 files. View PR surface stats
What I checked:
Likely related people:
How this review workflow works
|
The local assistant avatar override was stored globally in localStorage without an agentId, causing the same avatar to apply to all agents. Setting an avatar for agent A would overwrite the avatar for agent B. Fix: include agentId when saving the local avatar override, and filter by agentId when loading. An override saved for one agent no longer bleeds into other agents. Fixes openclaw#90890
a5e2399 to
2afa521
Compare
|
Maintainer repair and verification complete. The contributor fix was extended into a true per-agent avatar map with scoped reads/writes, one-time legacy global override migration, active-session routing, bare
|
* fix: scope assistant avatar override to agent ID The local assistant avatar override was stored globally in localStorage without an agentId, causing the same avatar to apply to all agents. Setting an avatar for agent A would overwrite the avatar for agent B. Fix: include agentId when saving the local avatar override, and filter by agentId when loading. An override saved for one agent no longer bleeds into other agents. Fixes openclaw#90890 * fix(ui): persist assistant avatars per agent * fix(ui): satisfy scoped avatar checks --------- Co-authored-by: lsr911 <[email protected]> Co-authored-by: Vincent Koc <[email protected]>
* fix: scope assistant avatar override to agent ID The local assistant avatar override was stored globally in localStorage without an agentId, causing the same avatar to apply to all agents. Setting an avatar for agent A would overwrite the avatar for agent B. Fix: include agentId when saving the local avatar override, and filter by agentId when loading. An override saved for one agent no longer bleeds into other agents. Fixes openclaw#90890 * fix(ui): persist assistant avatars per agent * fix(ui): satisfy scoped avatar checks --------- Co-authored-by: lsr911 <[email protected]> Co-authored-by: Vincent Koc <[email protected]>
Summary
The local assistant avatar override was stored globally in localStorage without an
agentId, causing the same avatar to apply to all agents. Setting a custom avatar for one agent would overwrite the avatar for every other agent.Root Cause
saveLocalAssistantIdentity()stored{ avatar }with no agent identification.loadLocalAssistantIdentity()returned the same avatar regardless of which agent was currently selected.Fix
LocalAssistantIdentitynow includesagentIdsaveLocalAssistantIdentitystores the current agent's ID alongside the avatarloadLocalAssistantIdentityaccepts an optionalagentIdfilter — only returns the avatar if it matches (or if no agentId was saved, for backward compatibility)setAssistantAvatarOverridenow accepts and passes throughagentIdapp-render.tspassstate.assistantAgentIdFixes #90890