Skip to content

mermaid clair-sur-clair en mode sombre Firefox (renderer GitHub, contenu du repo neutre) #15022

Description

@jsboige

Symptôme

En mode sombre, les diagrammes mermaid rendus par GitHub dans les README/blobs du dépôt sont illisibles (clair sur clair) : le diagramme garde une palette claire sur le fond sombre de la page. Repro : https://github.com/jsboige/CoursIA/tree/main, README racine, blocs mermaid (flowcharts).

Reproduit sur Firefox ET Chrome (confirmé 2026-09-07) — ce n'est donc pas un non-respect de prefers-color-scheme propre à un navigateur.

Diagnostic mesuré (pas une hypothèse)

Le contenu du dépôt ne force aucun thème clair — le noirci est donc côté renderer GitHub, pas dans un fichier éditable :

  • 41 fichiers portent des blocs mermaid (grep mermaid sur *.md = 40, + slides/S3-acculturation/slides.md).
  • 0 fichier .html embarque un mermaid rendu en statique (class="mermaid" / svg inline : 0 hit).
  • README racine (celui affiché sur /tree/main) : 2 blocs mermaid, aucun %%{init → thème décidé par GitHub via prefers-color-scheme.
  • Seuls les %%{init du dépôt → slides/S3-acculturation/slides.md (l.2239/2296/2357) — et elles ne fixent que fontSize/spacing/curve, aucune theme/themeVariables de couleur.

Conclusion (révisée après repro Chrome)

Puisque Chrome reproduit aussi, les causes possibles se réduisent à deux, toutes deux hors contenu du dépôt :

  1. Thème GitHub du compte réglé sur « Light » ou « System détecté clair » — GitHub rend alors le mermaid en clair même en mode sombre de l'OS/browser.
  2. Régression du renderer GitHub mermaid (auto-thème sombre non appliqué) — bug côté GitHub, indépendant du dépôt.

Aucun .md de ce repo ne peut corriger ni l'un ni l'autre. Forcer theme: dark dans un %%{init corrige le mode sombre mais casse le mode clair (sombre-sur-clair) → à rejeter.

Étapes de vérification

  1. [User] GitHub → Settings → Appearance : si le thème est « System » ou « Light », le passer à « Dark » explicite et recharger /tree/main — c'est le levier le plus probable.
  2. Si déjà « Dark » et toujours clair-sur-clair : bug renderer GitHub → escalade upstream (issue GitHub sur github/mermaid ou la doc mermaid support), hors ce dépôt.
  3. Ce repo : rien à corriger côté contenu. Un garde advisory mermaid-init-detector (éviter d'introduire un init light-cassant) serait un grain guard séparé, pas le fix de ce problème.

Workarounds en attendant

  • Forcer le thème GitHub « Dark » (Settings → Appearance) même si l'UI est déjà sombre.
  • Autre navigateur / fenêtre privée : n'a pas résolu (Chrome reproduit) — relève du point 1 avant tout.

Tag/nature

LIGHT/docs — constat d'environnement (renderer GitHub + réglage thème), aucun livrable repo requis.

Suivi scan-born — mandate de batching (directive user 2026-09-10T20:58Z, PR #15502)

Pour toute PR issue d'un scan CI/script sur cette classe (et par extension toute classe de défaut détectée mécaniquement) : se poser la question « de nombreuses instances traitables dans la même fournée pour un effort marginal mesuré ? ». Si oui → une seule PR batch (ou la sortie de la garde mécanique), et c'est le body de cette issue qui porte la mandate — jamais de per-file saucisonné (chaque micro-PR = gestion administrative, CI runs et review pour rien).

État de la classe fill: sans color: :

Activity

  1. jsboige commented on Sep 8, 2026

    @jsboige
    OwnerAuthor

    https://github.com/jsboige/CoursIA/tree/main/MyIA.AI.Notebooks/Probas#quest-ce-que-la-programmation-probabiliste- présente un diagramme dont la partie racine est correctement affichée et la partie à droite est en clair sur clair (vérifier dans Playwright).
    Peut-être un indice sur ce qu'il faut corriger.

  2. jsboige commented on Sep 10, 2026

    @jsboige
    OwnerAuthor

    [CLAIMED] #15022 — myia-po-2026:CoursIA 2026-09-10T20:41Z

    Grain : rendre lisibles en mode sombre les diagrammes mermaid du README Probas (piste user du 2026-09-08 : « la partie racine est correctement affichée et la partie à droite est en clair sur clair »).

    Diagnostic firsthand (origin/main a361ab0, lecture du fichier — pas une hypothèse) : MyIA.AI.Notebooks/Probas/README.md porte 3 blocs mermaid ; le flowchart LR (l.626) style 6 nœuds du sous-graphe LEAN avec style ... fill:#e8f5e9 (vert clair figé, sans color:). GitHub rend le libellé des nœuds en clair en mode sombre → clair-sur-clair sur les nœuds à fill figé, alors que les nœuds sans fill (sous-graphe SIM) suivent le thème et restent lisibles. C'est précisément l'asymétrie décrite par le user (racine OK / partie droite illisible).

    Cadre retenu : fill: + color: explicites (lisibles dans les deux thèmes, code couleur pédagogique préservé) plutôt que retrait des couleurs.

    Hors scope mesuré : 24 autres .md portent le même motif fill:# (git grep sur origin/main) — résidu nommé dans le body de la PR, non traité ici (seuil §A : >15 fichiers = split).

  3. jsboige commented on Sep 10, 2026

    @jsboige
    OwnerAuthor

    [INFO] Fix ouvert — PR #15502 (fix(probas,#15022), branche fix/15022-mermaid-dark-readable, commit 1dd5acb81), See #15022.

    Diagnostic firsthand confirmant la piste du user (commentaire du 2026-09-08) : dans MyIA.AI.Notebooks/Probas/README.md, le flowchart LR (l.626) force fill:#e8f5e9 sur les 6 nœuds du sous-graphe LEAN sans color: — le libellé hérite donc du texte clair du thème sombre GitHub sur un fond forcé clair. Les nœuds sans style (sous-graphe SIM) suivent le thème et restent lisibles : c'est précisément l'asymétrie « racine OK / partie droite illisible » décrite.

    Correctif : color: foncé explicite à côté de chaque fill: clair, sur les 3 blocs du fichier, sans retirer aucune couleur pédagogique. 0 règle fill: sans color: (contrôle scripté), fences équilibrées.

    Le rendu en mode sombre n'est PAS vérifié par cette lane (GLM = pas de vision, aucun renderer headless mermaid installé) — le QA visuel doit passer par une lane CoursIA-2 (MiniMax) ou ai-01 avant merge, cf model-delegation.md §« Capacité vision ». La PR ne revendique aucune vérification visuelle.

    Résidu de l'issue : 24 autres .md portent le même motif fill:# (dont README.md racine, ML/, GameTheory/, SymbolicAI/, QuantConnect/, 6 README Probas). Les traiter en un lot = > 15 fichiers (§A : split obligatoire) et demande un arbitrage (retirer les couleurs vs les compléter). L'issue reste ouverte.

  4. added a commit that references this issue on Sep 10, 2026
  5. added 2 commits that reference this issue on Sep 11, 2026
  6. added 2 commits that reference this issue on Sep 11, 2026
  7. added
    candidate-deliveredReferenced by a merged PR with no post-merge activity -- candidate for close triage (#10466)
    on Sep 12, 2026
  8. added a commit that references this issue on Sep 12, 2026
  9. added a commit that references this issue on Sep 12, 2026
  10. jsboige commented on Sep 18, 2026

    @jsboige
    OwnerAuthor

    [ADJOINT CLOSE] Adjugée CLOSE_OK — campagne de consolidation du 2026-09-18 (mandat ai-01 2026-09-18T03:12Z, fermeture déléguée).

    Acceptance vérifiée firsthand contre main :

    Réouvrir en citant le critère manquant si contestation.

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    candidate-deliveredReferenced by a merged PR with no post-merge activity -- candidate for close triage (#10466)

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions