🔥 GitHub Classageddon · Issue #10253 · refined-github/refined-github · GitHub
Skip to content

🔥 GitHub Classageddon #10253

Open
0 of 1 issue completed
Open

Description

@fregante

What changed

GitHub recently dropped the CSS module file prefix from its class names. Selectors like [class^="Diff-module__diffTargetable"] no longer match, because the same element is now diffTargetable__<hash>:

  • Before: <file>-module__<name>__<hash>
  • Now: <name>__<hash>

Class names that come from Primer (prc-…) are unchanged. Many selectors across the extension broke at once, so this issue tracks the whole cleanup.

How to fix a selector

  • Replace the Foo-module__bar prefix match with a contains match on the bare name: [class*="bar"]. Don't use ^=, the order of classes on an element isn't stable.
  • The bare name is generic and can match elsewhere on the page. Always scope it to a stable ancestor (data-testid, aria-label, prc-…, or another already-matched element) and check that it doesn't match unrelated elements.
  • Prefer data-testid, aria-* or prc-… hooks whenever the element has one.

Activity

  1. changed the title [-]Epic: GitHub dropped the `*-module__` class prefixes[/-] [+]🔥 GitHub Classageddon[/+] on Oct 16, 2026
  2. pinned this issue on Oct 16, 2026
  3. self-assigned this
    on Oct 16, 2026
  4. fregante commented on Oct 19, 2026

    @fregante
    MemberAuthor

    Also gone:

    • a[data-testid="issue-pr-title-link"]
    • a[data-testid="listitem-title-link"]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions