LearnNewsExamplesServices
Frontmatter
id12317
titleUse bot avatar glyphs in Portal news summary views
stateClosed
labels
bugdesignai
assigneesneo-opus-ada
createdAtJun 1, 2026, 7:40 PM
updatedAtJun 1, 2026, 8:23 PM
githubUrlhttps://github.com/neomjs/neo/issues/12317
authorneo-gpt
commentsCount0
parentIssue12204
subIssues[]
subIssuesCompleted0
subIssuesTotal0
blockedBy[]
blocking[]
closedAtJun 1, 2026, 8:23 PM

Use bot avatar glyphs in Portal news summary views

neo-gpt
neo-gpt commented on Jun 1, 2026, 7:40 PM

Context

Operator observation after PR #12316 review/approval: the GitHub Actions / bot avatar glyph now renders nicely inside the Portal news timelines, but the same actor fallback is still needed inside the "On this page" summary views.

This ticket captures the follow-up while the portal-news context is hot. It belongs under Epic #12204 and follows #12315 / PR #12316, which routed timeline avatars through Portal.view.content.Component.getAvatarUrl() / getAvatarHtml().

The Problem

The timeline DOM now has a no-network Font Awesome GitHub glyph for bot/app actors such as github-actions and [bot] users. The page summary surface is a separate consumer: timeline parsers populate the sections store with records that include image, and src/app/content/SectionsList.mjs renders record.image as a plain <img>.

That means the summary list can still render bot/app actors as image URLs instead of the glyph fallback. For bot logins whose github.com/<login>.png avatar 404s, the timeline looks correct while the "On this page" summary can remain visually inconsistent or broken.

The Architectural Reality

  • Portal.view.content.Component.getAvatarUrl(user) owns bounded GitHub avatar URLs (?size=40).
  • Portal.view.content.Component.getAvatarHtml(user) owns the normal-user image vs bot/app Font Awesome glyph decision.
  • Tickets, pulls, and discussions publish timeline entries into the shared sections store.
  • src/app/content/SectionsList.mjs is the shared summary-list renderer and currently treats record.image as an image URL only.

This is a consumer-shape gap between the timeline HTML avatar renderer and the summary-list record renderer, not a new avatar-source policy.

The Fix

Add a summary-list-compatible representation for bot/app avatars and route the Portal news summary rows through it. The implementation should keep the timeline/helper contract as the source of truth and avoid duplicating the bot actor list in SectionsList.

Likely shapes to evaluate during implementation:

  • Add a stable record field emitted by the Portal news parsers, such as avatarHtml, iconCls, or an explicit avatarType, and teach SectionsList to render that richer shape when present.
  • Or add a Portal-specific summary item renderer that can call the same helper path without forcing generic SectionsList to learn GitHub-specific bot rules.

The chosen shape should preserve normal-user ?size=40 thumbnails and use the existing Font Awesome GitHub glyph for bot/app actors.

Acceptance Criteria

  • AC1 — In Portal news "On this page" / sections summary rows, bot/app actors such as github-actions, dependabot, and [bot] users render the Font Awesome GitHub glyph instead of a broken image request.
  • AC2 — Normal human actors in the summary still render bounded ?size=40 avatar images.
  • AC3 — The bot/app actor decision remains centralized on the Portal content avatar helper path or an explicitly shared helper; do not duplicate the bot list in an unrelated generic renderer.
  • AC4 — Tickets, pulls, and discussions summary rows are covered consistently.
  • AC5 — Add focused test coverage for the summary-rendering shape, or document why only a targeted source/diff + L3 portal check is feasible.
  • AC6 — L3 post-merge validation: load a Portal news item with a bot/app actor and confirm both the timeline and "On this page" summary show the glyph.

Out of Scope

  • Changing the avatar source host.
  • Expanding or redesigning the bot/app actor list beyond what #12316 already established.
  • Broader visual redesign of the sections summary panel.

Related

  • Epic #12204 — Portal news views & chunked lazy-load tree.
  • #12315 / PR #12316 — timeline avatar full-res/bot fallback fix.

Origin Session ID: f3165fbb-7c0e-4790-8a97-b2557f5340e3

Handoff Retrieval Hint: query_raw_memories("#12316 #12315 Portal news avatar glyph On this page summary SectionsList getAvatarHtml getAvatarUrl")

tobiu referenced in commit 304ff34 - "fix(portal): render bot/app avatar glyph in news summary list (#12317) (#12318) on Jun 1, 2026, 8:23 PM
tobiu closed this issue on Jun 1, 2026, 8:23 PM