Skip to content

Commit 86e386a

Browse files
reddy-shclaude
andcommitted
fix: JSX attribute escapes rendered literally, and a stale bar looked live
JSX attribute values are not JavaScript string literals, so the parser never processed the ’ and … escapes inside them and each reached the DOM as six literal characters. The same escape inside a {'...'} expression was always fine, which is why only the attributes broke. - Use the characters themselves in the two Usage windows notes and in the machines search placeholder - Dim .bv-uw.stale .bar .fill: the stale rule already muted the percentage and the row label but never the bar, so a three-day-old reading still drew a full-width bar in alarm red, the one part of the row that looked live Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
1 parent cb8c856 commit 86e386a

3 files changed

Lines changed: 4 additions & 3 deletions

File tree

site/src/components/board/enroll.jsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -623,7 +623,7 @@ export function MachinesPanel({ machines, cloud, onAdd }) {
623623
</div>
624624
<input className="mc-search" type="text" value={search}
625625
onChange={e => setSearch(e.target.value)}
626-
placeholder="Search machines\u2026" aria-label="Search machines" />
626+
placeholder="Search machines" aria-label="Search machines" />
627627
</div>
628628
)}
629629

site/src/components/board/panels.jsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -103,7 +103,7 @@ export function UsageWindows({ lim }) {
103103
? 'Claude Code\u2019s config was mid-write and could not be read this cycle. It will be picked up on the next one.'
104104
: 'No usage cache found. Claude Code writes one to ~/.claude.json after it talks to the usage endpoint — run /usage in Claude Code once and it will appear here.'
105105
return (
106-
<Card title="Usage windows" note="Your plan\u2019s real limits, as Anthropic last reported them.">
106+
<Card title="Usage windows" note="Your plan’s real limits, as Anthropic last reported them.">
107107
<Empty>{why}</Empty>
108108
<p className="bv-note" style={{ marginTop: 12 }}>
109109
The five-hour block is reconstructed from your own request timestamps and does not need this cache.
@@ -121,7 +121,7 @@ export function UsageWindows({ lim }) {
121121
return (
122122
<Card
123123
title="Usage windows"
124-
note="Your plan\u2019s real limits, as Anthropic last reported them — not computed here."
124+
note="Your plan’s real limits, as Anthropic last reported them — not computed here."
125125
right={
126126
<span className={'bv-sub' + (stale ? ' warn' : '')}
127127
title={stale

site/src/styles.css

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1254,6 +1254,7 @@ a { color: inherit; text-decoration: none; }
12541254
.bv-uw .bar .fill { height: 100%; border-radius: 4px; transition: width 0.4s var(--ease-out); }
12551255
.bv-uw .bar .pct { font-family: var(--font-display); font-weight: 700; font-size: var(--text-sm); width: 3.4em; text-align: right; }
12561256
.bv-uw.stale .bar .pct, .bv-uw.stale tbody th { color: var(--color-ink-2); }
1257+
.bv-uw.stale .bar .fill { opacity: 0.45; }
12571258

12581259
/* ── feeds ── */
12591260
.bv-feed { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--space-sm); }

0 commit comments

Comments
 (0)