mirror of
https://github.com/openclaw/openclaw.git
synced 2026-08-22 10:25:20 -06:00
2bed8caf9e
* feat(gateway): proxy channel conversation avatars * feat(discord): capture conversation avatars * feat(slack): capture DM sender avatars * test(discord): bind guild avatar mock * feat(ui): render channel conversation avatars * fix(ui): align sidebar owner fixtures * fix(gateway): version channel-avatar routes by media revision A stable per-session URL let AuthenticatedAvatarRouteLoader's blob and sticky-404 caches pin a mounted row to a stale or blank avatar after the backing media changed. Append an opaque digest of the media reference so replacement and 404-recovery change the route identity. * test(ui): align sidebar owner facet * fix(ui): keep owner chip until channel avatar loads A session with a channelAvatarUrl suppressed its owner chip even while the blob was loading, auth was not ready, or the route 404ed, leaving an empty lead slot. The chip now rides as fallback content inside the avatar element and yields only to a usable image. Covers 404 and auth-pending states; avatar rows keep renderedOwnerId unset so an owner-viewer stays visible in the facepile. * perf(ui): keep channel avatar fallback within budget * perf(ui): lazy-load the channel avatar element The avatar element and its authenticated blob loader rode the startup bundle through session-leading-indicator, pushing startup JS 51 B over the CI gzip budget. Channel avatars are not startup-critical: register the element on the first avatar row; the owner-chip fallback covers the one-time upgrade window. Startup JS returns ~1 KiB under the ceiling. * build(ui): raise startup baseline for channel avatars CI-measured startup JS is 344379 B against a 343289 B baseline (+1090 B). The avatar element and blob loader are code-split out of startup (previous commit); the residual is the sidebar lead-slot render branch and row plumbing, which cannot be deferred. Baseline updated via check-control-ui-performance --update-baseline with CI bytes per the script's contract; well inside the 4096 B ratchet step and 358400 B ceiling.