- JavaScript 100%
| handshake | ||
| reference | ||
| CHANGELOG.md | ||
| PROTOCOL.md | ||
| README.md | ||
| SPEC-BUS.md | ||
| SPEC-T4CO.md | ||
T4CO, contrat de coexistence des userscripts tr4ker.net
Ce dépôt tient le contrat partagé qui permet aux userscripts de tr4ker.net de coexister et de coopérer sans qu'aucun ne modifie le DOM ou les styles d'un autre.
Les deux scripts aujourd'hui
- Tr4ker+ (auteur uncaney, développement avec Claude Code). Source :
https://forgejo.ekaii.fr/tr4ker/tr4ker-plus (fichier
tr4ker-plus.user.js). - OmniChat / Tr4ker Omnichat Sidebar (auteur PantAgrueL, développement avec Claude Opus 4.8).
Source sur la forge : forgejo.ekaii.fr/Pantagruel/tr4ker-omnichat-sidebar
(fichier
tr4ker-omnichat-sidebar.user.js). Miroir Greasy Fork : greasyfork.org/scripts/589361-tr4ker-omnichat-sidebar
Contenu
SPEC-T4CO.md: le contrat de disposition (réservation de bord, attributs, variable CSS, événement, z-index). Phase 1, prêt à implémenter. C'est le document central.SPEC-BUS.md: brouillon du bus inter-scripts (registre de capacités, appels de service). Phase 2, on valide une seule capacité pilote avant d'étendre.PROTOCOL.md: règles de collaboration (source de vérité, annonce des changements, versionnage, accès).reference/: instantané de la surface actuelle de chaque script, extrait du code lu le 2026-08-11. À re-vérifier dans les sources plutôt qu'à croire sur parole : une mémoire vieillit, le code fait foi.
Principe directeur
Tout est déclaratif. Chaque script publie son état sur des attributs et une variable CSS ; personne n'injecte de style ni de noeud chez l'autre. La détection se fait par lecture d'attributs, jamais par patch. C'est la version durable et symétrique du commentaire « CONTRAT INTER-SCRIPTS » que les deux scripts gardent déjà dans leur code.
État (2026-08-12)
- OmniChat 7.6.34.104 émet sa moitié et a adopté la règle du max sur
--t4co-gutter-*plus la publication dedata-t4co-omnichat-modal-z(vérifié dans le code). Réponse danshandshake/omnichat.md. - Tr4ker+ 0.29.0 émet sa moitié (attributs
data-t4co-tr4kerplus-*,data-t4co-selfmanaged, consommation de--t4co-gutter-right, émission et écoute det4co:layout).
Les quatre points ouverts sont tranchés (voir « Décisions gelées » dans SPEC-T4CO.md). Reste un point
de suivi : OmniChat doit lire data-t4co-selfmanaged dans t9CompatT4x avant qu'on puisse déprécier
data-t4x-movable. Voir SPEC-T4CO.md (matrice + §6) et CHANGELOG.md.