Fix blank bind button — fa-masks does not exist in Font Awesome 6 Free - #29
Merged
Merged
Conversation
The "auto-start for characters" button on each queue card rendered as an empty outline: correct size, correct hover, no glyph. Reported with a screenshot showing the gap between the edit and duplicate buttons. Cause: v1.3.0 used `fa-masks`. SillyTavern bundles Font Awesome 6 Free, and FA6 renamed that icon to `fa-masks-theater` — the bare `fa-masks` alias only exists in FA6 Pro. A missing icon produces no console error and no visible fallback, so it fails completely silently. Verified against ST's own public/css/fontawesome.min.css: `.fa-masks:before` is absent, `.fa-masks-theater:before` is present. Replaced with icons that resolve, chosen per context rather than uniformly: queue-card button fa-users opens a multi-character picker queue-card chip fa-users shows a count of bound characters Chamber tab row fa-user refers to one specific character `fa-masks-theater` would have preserved the original look, but a plain person glyph reads better at 14px in a row of single-concept icons, and the user asked for a character icon. Audited every icon the extension references (25 across js/css) against the bundled stylesheet — `fa-masks` was the only broken one, and it was introduced by v1.3.0. Everything predating it is fine. Added an "Icons — Font Awesome 6 Free only" section to CLAUDE.md with the grep to check a name before using it, since nothing in the toolchain catches this class of mistake. Noted the specific trap that `fa-theater-masks` DOES resolve while `fa-masks` does not, so "the FA5 name works" is not a usable rule. Docs referring to "the masks icon" updated to "the characters icon". Patch bump to 1.3.1 — 1.3.0 shipped with a visibly broken control. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01J5wRPLqtW32eqWY9hi9uFt
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The "auto-start for characters" button on each queue card rendered as an empty outline — correct size, correct hover, no glyph. Reported with a screenshot showing the gap between the edit and duplicate buttons.
Cause
v1.3.0 used
fa-masks. SillyTavern bundles Font Awesome 6 Free, and FA6 renamed that icon tofa-masks-theater— the barefa-masksalias only exists in FA6 Pro.A missing Font Awesome icon fails completely silently: no console error, no fallback glyph, no warning. The result is a correctly-styled button with nothing inside it.
Verified against ST's own
public/css/fontawesome.min.css:.fa-masks:beforeis absent,.fa-masks-theater:beforeis present.Fix
Replaced with icons that resolve, chosen per context rather than uniformly:
fa-usersfa-usersfa-userfa-masks-theaterwould have preserved the original theatrical look, but a plain person glyph reads better at 14px in a row of single-concept icons, and a character icon is what was asked for.Scope check
Finding one invisible icon raised the question of whether there were others, so every icon the extension references (25 across JS and CSS) was audited against the bundled stylesheet.
fa-maskswas the only broken one, and it was introduced by v1.3.0 — everything predating it resolves correctly. This was an isolated mistake, not a pattern.Preventing a recurrence
Added an "Icons — Font Awesome 6 Free only" section to
CLAUDE.mdwith the grep to check a name before using it. Nothing in the toolchain catches this class of mistake — it can't be unit-tested without a browser, and the stylesheet lives in SillyTavern rather than this repo.Worth writing down because the intuitive rule doesn't hold:
fa-theater-masksdoes resolve whilefa-masksdoes not, so "the old FA5 name still works" would lead straight back into the same trap.Also in this PR
manifest.json,package.json, and CLAUDE.md — 1.3.0 shipped with a visibly broken control.Verification
npm test— 12/12 pass. Unchanged by this PR; the scheduling core isn't touched.No functional change to the binding logic. This is presentation only — the button always worked when clicked, it just didn't say what it was for.
🤖 Generated with Claude Code
https://claude.ai/code/session_01J5wRPLqtW32eqWY9hi9uFt
Generated by Claude Code