Skip to content

feat(spec): bot-topic-tabs v5 -- a tab's emoji is its icon, not the first character of its name - #7889

Merged
gHashTag merged 1 commit into
masterfrom
claude/tabs-icon-not-name
Oct 8, 2026
Merged

gHashTag merged 1 commit into
masterfrom
claude/tabs-icon-not-name

Conversation

@gHashTag

@gHashTag gHashTag commented Oct 8, 2026

Copy link
Copy Markdown
Owner

Closes #7888

The owner saw an emoji inside an emoji in the bot's tabs. A topic with no icon of its own is drawn as a coloured circle holding the first character of its name, and every tab's name opened with its emoji (TAB_EMOJI).

v5:

  • NAME_CARRIES_EMOJI = false, name_ok(opens_with_emoji): a tab's name is words only.
  • ICON_AFTER_CREATE = true, sets_icon(topic_exists, in_icon_set): the emoji becomes the topic icon by a second call after the topic exists, only when getForumTopicIconStickers lists it, so a refused icon never costs the tab.
  • A stored tab under the old name is renamed once by the existing retitle law and gets its icon then.

Checks: t27c test-report 16/16; negative controls on name_ok, sets_icon and ICON_AFTER_CREATE each turn one test red. Spec only, no host code here; the host is gHashTag/999-multibots-telegraf src/navigation/topics/engine.ts.

🤖 Generated with Claude Code

https://claude.ai/code/session_01FJktaYxNrfAUdxSwdQw3gV


Generated by Claude Code

…irst character of its name

The owner saw an emoji inside an emoji: a topic with no icon of its own is
drawn as a circle holding the first character of its name, and every tab's
name opened with its emoji. A name is words only now (NAME_CARRIES_EMOJI,
name_ok); the emoji becomes the icon by a second call after the topic exists
(ICON_AFTER_CREATE, sets_icon), only when getForumTopicIconStickers lists it.

Closes #7888

phi^2 + 1/phi^2 = 3 | TRINITY

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FJktaYxNrfAUdxSwdQw3gV
@github-actions

github-actions Bot commented Oct 8, 2026

Copy link
Copy Markdown
Contributor

PR Dashboard

Generated at: 2026-10-08 18:43:50 UTC

Summary

Status Count
Total Open PRs 50
PRs with Failing Checks 46
PRs with All Checks Green 4
READY 1
FAILING 46
PENDING 0
NO CHECKS YET 0

These columns do not partition: 1 + 46 + 0 + 0 = 47, and there are 50 open PRs. A PR is being counted twice or not at all.

Seal Status

  • ⚠️ STALE -- sha256(compiler.rs)=21a1173dfe32 != manifest seal=87e5cbd3ad94.
    The committed NMSE numbers were certified against an older compiler.rs.
    Run scripts/reseal-check.sh locally for the two-step reseal command (advisory; not a merge gate).

gHashTag commented Oct 8, 2026

Copy link
Copy Markdown
Owner Author

Two non-required checks are red here, and neither comes from this PR:

No fix belongs in this PR. The required checks (validate, check-linked-issue, parse-ratchet, own-language) decide the merge.


Generated by Claude Code

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

bot-topic-tabs v5: a tab's emoji is its icon, not the first character of its name

2 participants