fix(ui): masthead title wraps instead of clipping on mobile; /agents drops its dishonest live-dot - #8460
Conversation
…drops its dishonest live-dot PageMasthead's <h1> used `truncate` (hard single-line ellipsis). On /agents, "Use AI to explore Bittensor" -- a normal-length string, not a runaway one -- rendered as "Use AI to explore B..." because its flex sibling (the actions slot, a ShareButton) claimed enough of the row on narrow viewports that the title's own space couldn't fit the full string on one line. Every current caller either passes a short static string or a pre-shortened dynamic one (shortHash()/formatNumber()), so nothing was actually relying on single-line truncation. Swapped for line-clamp-2 + break-words, the same treatment the description line right below it already gets: short titles render exactly as before, a longer one wraps instead of clipping mid-word. /agents also passed `live` to PageMasthead despite nothing on the page actually updating live -- it's a static, one-time catalog fetch (agent resources, SDK commands, MCP tool list). Every other .mg-live-dot usage in the app is tied to something that genuinely streams or polls (a connected SSE status, a block ticker, live health probes); Chain/APIs keep `live` for exactly that reason. Dropped it from /agents. A third reported item (a "129 subnets / 2,292 callable services / 204 MCP tools" stat trio + a "hand off context" bundle section) could not be reproduced -- searched the full apps/ui/src tree and live production directly; neither contains it. Flagged on the issue rather than guessed at. Closes #8459
|
Superagent didn't find any vulnerabilities or security issues in this PR. |
|
Caution 🛑 LoopOver review result - fixes requiredReview updated: 2026-07-27 22:07:15 UTC
Review summary Nits — 8 non-blocking
CI checks failing
Decision drivers
Context & advisory signals — never blocks the verdict
Linked issue satisfactionAddressed Review context
Contributor next steps
Signal definitions
🧪 Chat with LoopOverAsk LoopOver a question about this PR directly in a comment — grounded only in the same cached, public-safe facts shown above, never a new claim.
Full command reference: https://loopover.ai/docs/loopover-commands 🧪 Experimental — new and may change. Decision record
Visual previewClick any thumbnail to open the full-size screenshot. Before = production · After = this PR's preview deploy. Scroll preview
A short scroll-through clip (desktop) — click either thumbnail to open the full animation. Evidence for scroll-linked behavior a single screenshot can't show. 🟩 Safe / merged · 🟦 Advisory · 🟨 Held for review · 🟥 Blocked / closed 💰 Earn for open-source contributions like this. Gittensor lets GitHub contributors earn for the work they already do — register to start earning →. Checked by LoopOver, a quiet PR intelligence layer for OSS maintainers.
|
Deploying with
|
| Status | Name | Latest Commit | Preview URL | Updated (UTC) |
|---|---|---|---|---|
| ✅ Deployment successful! View logs |
metagraphed-ui | f69bee9 | Commit Preview URL Branch Preview URL |
Jul 27 2026, 09:24 PM |
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #8460 +/- ##
=======================================
Coverage 97.81% 97.81%
=======================================
Files 419 419
Lines 29074 29074
Branches 10931 10931
=======================================
Hits 28440 28440
Misses 143 143
Partials 491 491 🚀 New features to boost your workflow:
|




Closes #8459. Found live on metagraph.sh/agents (mobile, 375px) — see the issue for the full report and a third item I could not reproduce (searched the whole
apps/ui/srctree and live production directly), flagged there rather than guessed at here.Bug 1 — masthead title clips mid-word on mobile
PageMasthead's<h1>usedtruncate(hard single-line ellipsis). On/agents, "Use AI to explore Bittensor" — a normal-length string, not a runaway one — rendered as "Use AI to explore B…" because its flex sibling (theactionsslot, aShareButton) claimed enough of the row on narrow viewports that the title's own space couldn't fit the full string on one line.Every current caller either passes a short static string or a pre-shortened dynamic one (
shortHash(),formatNumber()) — nothing was actually relying on single-line truncation. Swapped forline-clamp-2 break-words, matching the treatmentdescriptionright below it already gets: short titles render identically to before, a longer one wraps instead of clipping mid-word.Spot-checked
/chain(short static title, keepslive— genuinely streams) and an account detail page (pre-shortened dynamic title) to confirm no regression; both screenshot-verified below plus manually in a live dev server.Bug 2 — unexplained green "live" dot on /agents
/agentspassedlivetoPageMastheaddespite nothing on the page updating live — it's a static, one-time catalog fetch (agent resources, SDK commands, MCP tool list). Every other.mg-live-dotusage in the app is tied to something that genuinely streams or polls (a connected SSE status, a block ticker, live health probes); dropped it here rather than have it claim liveness the page doesn't have.Screenshots
before
after
before
after
before
after
before
after
before
after
before
after
Mobile-dark before/after is the clearest: title clipped + green dot → full two-line title, no dot.
Validation
PageMastheadis a shared component (used by every page carrying a masthead) — theline-clamp-2change is scoped to that one component, and every other call site was spot-checked (screenshots above +/chain, an account page) for no regression. No API, schema, or generated-contract surface touched.