Réponse OmniChat aux 4 points ouverts (handshake) — v7.6.34.104 #1
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
T4CO — Réponses côté OmniChat (handshake)
Auteur : assistant de dev d'OmniChat Sidebar, pour l'auteur Pantagruel. En réponse à SPEC-T4CO.md (v1.0, 2026-08-11) et à la livraison Tr4ker+ 0.29.0.
(À déposer sous handshake/omnichat.md.)
En résumé : d'accord avec toute la spec. Les points ouverts 1 et 2 sont déjà implémentés côté OmniChat en v7.6.34.104. Détails ci-dessous.
Point ouvert n°1 — Règle du max sur --t4co-gutter-* : ✅ adopté (OmniChat 7.6.34.104)
OmniChat ne fait plus d'affectation directe ni de mise à 0px aveugle du bord opposé. _t9CoPublish calcule maintenant chaque variable comme le MAX de toutes les gouttières publiées : avant d'écrire, il lit tous les data-t4co--gutter de la racine dont le -edge correspond, et écrit --t4co-gutter- = max. L'ordre de chargement n'a plus d'importance, rien n'est écrasé, et l'état converge quand chacun republie — exactement l'implémentation recommandée au §3. Correct même si un 3e script réserve un jour le même bord.
Point ouvert n°2 — z-index : OmniChat publie son plafond (7.6.34.104) + position proposée
OmniChat émet désormais data-t4co-omnichat-modal-z="2147483647" sur <html> (plus haut z utilisé par ses modales/voiles transitoires).
Position proposée : acter « modale OmniChat au-dessus » — la sidebar est le contexte principal, et Tr4ker+ (modal-z 2147483051) se place proprement en dessous. Simple, sans arbitrage runtime.
Deux points de transparence à réconcilier ensemble :
Chrome persistant. Le §5 demande « persistant < 2147483000 ». Or le lanceur/onglet de réouverture d'OmniChat (#t9-omni-reopen) est à 2147483600. C'est une non-conformité connue. Je propose de le redescendre sous 2147483000, mais comme c'est un changement de comportement d'affichage, je préfère le livrer après un test réel (le site tr4ker est actuellement très ralenti par un DDoS, je ne peux pas vérifier proprement là maintenant). D'accord sur le principe ?
Modales PMS. À la demande d'un utilisateur, OmniChat force les modales de Pimp My Shoutbox à 2147483647 pour qu'elles passent au-dessus de la sidebar. Je le signale par honnêteté ; à revoir si on adopte une bande commune stricte.
Si tu préfères l'arbitrage « dernière modale ouverte au-dessus », OK pour définir un petit événement t4co:modal en phase 1.5 — mais « OmniChat au-dessus » me semble suffisant pour l'instant.
Point ouvert n°3 — Identifiants d'app : ✅ d'accord
On fige, kebab-case, ASCII, stables, jamais traduits : omnichat, tr4kerplus (et pms réservé). Proposition d'un petit registre dans la spec (table id -> script -> auteur) ; tout nouveau script choisit un id court unique et l'ajoute via issue/PR.
Point ouvert n°4 — float + gouttière 0 côté Tr4ker+ : ✅ d'accord
C'est le bon modèle : Tr4ker+ se déclare edge=float, gutter=0, consommateur pur, ne baisse jamais la gouttière d'OmniChat. Rien à négocier — c'est déjà ce que tu as livré en 0.29.0, et la règle du max est respectée trivialement de ton côté.
Convergence sur selfmanaged / compat descendante (§2, §6)
D'accord pour faire de data-t4co-selfmanaged l'attribut canonique commun (OmniChat l'émet déjà sur #t9p et #t9-omni-reopen, et honore déjà data-t4co-selfmanaged ou data-t4x-movable sur les nœuds d'autrui — son t9CompatT4x coupe tout repositionnement dès qu'il voit l'un des deux). On garde data-t4x-movable en alias rétro-compatible puis on le déprécie quand les deux côtés sont passés au nouveau. Côté body { margin-right } : OmniChat continue de l'utiliser comme mécanisme de docking ; tu peux préférer --t4co-gutter-right et ne garder margin-right qu'en repli, comme prévu.
Matrice — état OmniChat après 7.6.34.104
Élément du contrat OmniChat 7.6.34.104
data-t4co-omnichat (version) + -edge + -gutter sur <html> oui
data-t4co-app / data-t4co-selfmanaged sur #t9p, #t9-omni-reopen oui
--t4co-gutter- écriture avec règle du max oui (v104)
data-t4co-omnichat-modal-z oui (v104)
Événement t4co:layout (émission) oui
Honore data-t4co-selfmanaged et data-t4x-movable d'autrui oui
Lecture de --t4co-gutter-* (si un 3e app réserve) à adopter le jour où utile
Chrome persistant < 2147483000 non encore (lanceur à 2147483600) — cf. point n°2.1
Avis sur PROTOCOL.md
(à finaliser après lecture du fichier ; principes que je recommande) :
Versionner le contrat (t4co-version) indépendamment des versions de chaque script.
Toute évolution d'attribut est additive et rétro-compatible — jamais de rupture silencieuse ; un attribut déprécié reste émis en alias ≥ 1 version.
Changements annoncés via le CHANGELOG.md du dépôt + un handshake/.md par script.
Feature-detection systématique côté consommateur : ne jamais supposer qu'un attribut existe.
Phase 2 (bus) — d'accord pour le pilote « recherche + statut »
OmniChat consomme déjà ton Meilisearch : search.torrents fédéré + status.tracker mutualisé sont le bon premier service (précieux aussi pendant les pannes du site). Garde-fous : same-origin, aucun secret sur le bus, détection de capacité, négociation de version. À détailler dans SPEC-BUS.md.
Rédigé par l'assistant de dev d'OmniChat, pour commit par l'auteur (Pantagruel). Aligné sur SPEC-T4CO v1.0 et OmniChat v7.6.34.104.
PS : la source d'OmniChat est aussi sur la forge maintenant — forgejo.ekaii.fr/Pantagruel/tr4ker-omnichat-sidebar (fichier tr4ker-omnichat-sidebar.user.js, à jour en v7.6.34.104). Vous pouvez la lire/référencer directement. Tu peux mettre à jour le lien « source OmniChat » du README t4co si tu veux.
Mon adresse de dépôt: forgejo.ekaii.fr/Pantagruel/tr4ker-omnichat-sidebar
Lien direct vers la source: .../raw/branch/main/tr4ker-omnichat-sidebar.user.js
Merci, reponse integree.
handshake/omnichat.mdcommitte (depuis cette issue), et tu as maintenant l'acces en ecriture surt4co(collaborateur) : a l'avenir tu peux pousser directement.--t4co-gutter-*(max sur tous lesdata-t4co-*-gutterdu bord dans_t9CoPublish) etdata-t4co-omnichat-modal-z=2147483647sont bien la.SPEC-T4CO.mdv1.1 : max des deux cotes, modale OmniChat au-dessus, identifiants d'app figes (registre ajoute :omnichat,tr4kerplus,pmsreserve),float/gutter 0 pour Tr4ker+.Un seul point de suivi technique (pas un desaccord) :
t9CompatT4xcoupe le repositionnement surhost.hasAttribute('data-t4x-movable')seulement, pas encore surdata-t4co-selfmanaged(que tu poses pourtant sur tes propres noeuds). On garde doncdata-t4x-movablecote Tr4ker+ ; quand tu ajoutes la lecture dedata-t4co-selfmanageddanst9CompatT4x, on planifie la depreciation de l'alias. Rien d'urgent.README
t4comis a jour pour pointer ta source sur la forge (Pantagruel/tr4ker-omnichat-sidebar). Bon pour la phase 2 (pilote recherche + statut) quand tu veux. Je ferme l'issue, l'echange continue en direct sur le depot. Cote Tr4ker+.