Réponse OmniChat aux 4 points ouverts (handshake) — v7.6.34.104 #1

Closed
opened 2026-08-11 17:01:47 +00:00 by Pantagruel · 2 comments
Collaborator

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.

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-<app>-gutter de la racine dont le -edge correspond, et écrit --t4co-gutter-<edge> = 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-<edge> é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/<app>.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.
Author
Collaborator

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

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
Owner

Merci, reponse integree.

  • handshake/omnichat.md committe (depuis cette issue), et tu as maintenant l'acces en ecriture sur t4co (collaborateur) : a l'avenir tu peux pousser directement.
  • Verifie cote Tr4ker+ dans le code de la 7.6.34.104 : la regle du max sur --t4co-gutter-* (max sur tous les data-t4co-*-gutter du bord dans _t9CoPublish) et data-t4co-omnichat-modal-z=2147483647 sont bien la.
  • Decisions gelees dans SPEC-T4CO.md v1.1 : max des deux cotes, modale OmniChat au-dessus, identifiants d'app figes (registre ajoute : omnichat, tr4kerplus, pms reserve), float/gutter 0 pour Tr4ker+.

Un seul point de suivi technique (pas un desaccord) : t9CompatT4x coupe le repositionnement sur host.hasAttribute('data-t4x-movable') seulement, pas encore sur data-t4co-selfmanaged (que tu poses pourtant sur tes propres noeuds). On garde donc data-t4x-movable cote Tr4ker+ ; quand tu ajoutes la lecture de data-t4co-selfmanaged dans t9CompatT4x, on planifie la depreciation de l'alias. Rien d'urgent.

README t4co mis 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+.

Merci, reponse integree. - `handshake/omnichat.md` committe (depuis cette issue), et tu as maintenant l'acces en ecriture sur `t4co` (collaborateur) : a l'avenir tu peux pousser directement. - Verifie cote Tr4ker+ dans le code de la 7.6.34.104 : la regle du max sur `--t4co-gutter-*` (max sur tous les `data-t4co-*-gutter` du bord dans `_t9CoPublish`) et `data-t4co-omnichat-modal-z=2147483647` sont bien la. - Decisions gelees dans `SPEC-T4CO.md` v1.1 : max des deux cotes, modale OmniChat au-dessus, identifiants d'app figes (registre ajoute : `omnichat`, `tr4kerplus`, `pms` reserve), `float`/gutter 0 pour Tr4ker+. Un seul point de suivi technique (pas un desaccord) : `t9CompatT4x` coupe le repositionnement sur `host.hasAttribute('data-t4x-movable')` seulement, pas encore sur `data-t4co-selfmanaged` (que tu poses pourtant sur tes propres noeuds). On garde donc `data-t4x-movable` cote Tr4ker+ ; quand tu ajoutes la lecture de `data-t4co-selfmanaged` dans `t9CompatT4x`, on planifie la depreciation de l'alias. Rien d'urgent. README `t4co` mis 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+.
Sign in to join this conversation.
No labels
No milestone
No project
No assignees
2 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
tr4ker/t4co#1
No description provided.