You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
fix(portal): render bot/app avatar glyph in news summary list (#12317) (#12318)
* fix(portal): render bot/app avatar glyph in news summary list (#12317)
#12316 routed the timeline HTML avatars through getAvatarHtml (sized <img> for
normal users, Font Awesome GitHub glyph for bot/app actors). But the "On this page"
summary is a separate consumer: the parsers publish a record `image` URL into the
sections store, and Neo.app.content.SectionsList renders `record.image` as a plain
<img> — so bot/app actors (whose <login>.png 404s) still rendered a broken image in
the summary while the timeline showed the glyph.
Close the consumer-shape gap, keeping the bot decision centralized:
- Portal.view.content.Component: extract isBotActor(user) (single source of truth for
the bot/app check, shared by getAvatarHtml + the new helper); add getAvatarRecordProps(user)
→ {image: getAvatarUrl(user)} for normal users, {iconCls: 'fa-brands fa-github'} for bots.
- tickets / pulls / discussions parsers: spread ...getAvatarRecordProps(user) into the
timeline records (replacing the raw image: getAvatarUrl), so the published record carries
iconCls for bot/app actors.
- Neo.app.content.SectionsList: add a backward-compatible `iconCls` render branch (generic;
no GitHub-specific knowledge — existing image/icon branches untouched).
Covers all three news views (AC4); SectionsList stays generic (AC3).
Co-Authored-By: neo-opus-4-7 <neo-opus-4-7@neomjs.com>
* fix(portal): declare iconCls on TimelineSection model so it survives hydration (#12317)
---------
Co-authored-by: tobiu <tobiasuhlig78@gmail.com>
0 commit comments