Desktop client

OverScript 0.6.47

A desktop IRC client in the service’s colours. It connects over an encrypted and verified link, remembers your passwords without ever showing them on screen, and refuses to send a command it does not know rather than let it through silently.

Service-Overtchat OverScript — the client

It won’t leave you hanging

Three countdowns keep watch: connection, registration, and silence. A port that accepts but never answers no longer keeps you waiting forever — the client says so and hands control back.

Your passwords never come back out

The vault knows that a secret exists, how to store it and how to forget it. It cannot read it, and neither can the interface: what never comes out cannot leak.

Nothing is assumed about the server

Ranks, channel types, nickname comparison and modes all derive from what the server announces on arrival. The client therefore works beyond Overtchat, with nothing hard-coded.

A refusal is spoken

The interface cannot build an IRC command: it asks, and the client’s core accepts or refuses and explains why. A silent refusal looks like “nothing happens”, and you try again.

It tells you when it gets old

At startup, it asks the site whether something better exists. If so, it shows what changes and offers to bring you here. If it cannot reach the site — no network, a firewall — it stays quiet: software that complains every time it opens learns to be ignored.

The log is where you look for it

Its location is shown on screen at startup. The costliest trap in a client is a log you look for in the wrong place while trying to understand a failure.

OverScript — Windows, with installer — OverScript 0.6.47 90.7 MiB — published on 2026-10-18
Download
OverScript — Linux, no installation — OverScript 0.6.47 125 MiB — published on 2026-10-18
Download
OverScript — Linux, Debian and Ubuntu — OverScript 0.6.47 98.1 MiB — published on 2026-10-18
Download

⚠ The installer installs for your account, without administrator rights. SHA-256 fingerprint published with the file: 0cbb215bddd3c36dea5427f8da9a88bc781db710dd13bad27aac68a2c55991f5

🍎 A Mac version is being trialled

OverScript has never run on macOS to date. A first version is being trialled, and anything odd that happens there has probably not been seen by anyone yet: display, keyboard shortcuts — written for Ctrl, not for ⌘ —, keychain access, automatic updates.

If you try it and something is wrong, tell us. Even without an error message: an empty window, cut-off text, a shortcut that does not respond. That is exactly what we are looking for, and nobody else can see it for us.

Through the site’s contact form, or at service.overtchat@free.fr. The most useful details: the version shown at the top left of the window, your macOS version, the chip type (Apple or Intel), and what you were doing.

This version: Nouveau : au démarrage, une fenêtre « Connexion » montre l'identification auprès d'OverNick et le passage opérateur, avec leur résultat. Après un mot de passe refusé, OverScript n'insiste plus tout seul : il vous laisse corriger. La fenêtre « Consoles » propose d'abord OverCore et le bon port pour le robot choisi ; « /dcc chat » vers un service du réseau dit où trouver sa console. Copier plusieurs messages d'un salon donne maintenant une ligne par message. Sur Overtchat, la réidentification automatique suit le message prévu pour OverScript au lieu de lire une phrase.

What changes, version by version

This changelog answers a single question, the one you ask yourself before an update: what do I gain by installing it?

0.6.47

  • Au démarrage, une fenêtre « Connexion » confirme l'identification et le passage opérateur. Quand « S'identifier automatiquement » ou l'opérateur automatique est coché, une petite fenêtre suit les deux étapes en direct : en cours, puis réussi, refusé, bloqué ou pas de réponse. Tout est vert : un compte à rebours s'affiche et elle se ferme seule au bout de 30 secondes. Une étape échoue : elle reste, en alerte, et dit pourquoi — « Encore 2 essais avant le blocage du pseudo », ou « bloqué jusqu'à 21:45 » avec le temps qui reste — avec les boutons « Mot de passe oublié » (la page du site), « Corriger le mot de passe » et « Réessayer » (grisé tant que le pseudo est bloqué). Le verdict vient du réseau lui-même (le message d'OverNick destiné à OverScript, à défaut le mode +r, et les réponses du serveur à l'OPER), jamais d'une phrase lue à l'écran. Les lignes habituelles restent dans l'onglet du serveur.
  • Après un mot de passe refusé, OverScript n'insiste plus tout seul. Quand OverNick refuse le mot de passe, bloque ou suspend le pseudo, l'identification automatique s'arrête : ni l'invitation « identifiez-vous », ni une reconnexion ne renvoient le même mot de passe (trois erreurs bloquent le pseudo). Un OPER automatique refusé n'est plus renvoyé à chaque reconnexion non plus. /identify, /oper ou « Réessayer » reprennent la main.
  • Fenêtre « Consoles » : le port proposé suit le robot choisi. « Ajouter une console » proposait 3335 (la console d'IriX) même pour OverCore : choisir « OverCore » propose maintenant 3336, revenir à « Eggdrop » repropose 3335. Un port que vous avez tapé n'est jamais remplacé, et un port laissé vide prend celui qui est proposé.
  • Fenêtre « Consoles » : OverCore d'abord, plus de renvoi vers IriX. IriX s'arrête : « Ajouter une console » propose maintenant OverCore d'office (127.0.0.1:3336, le mot de passe de votre pseudo). Le choix « IriX (Eggdrop) » devient « Eggdrop (robot tiers) », pour la console d'un autre robot. Les textes ne renvoient plus vers /msg IriX consolepass ni vers l'outil d'IriX pour l'empreinte, et changer le mot de passe d'un Eggdrop ne promet plus qu'« OverCore le suivra dans l'heure ».
  • /dcc chat vers un service du réseau dit où trouver sa console. /dcc chat OverCore (ou /ctcp OverCore chat) répondait seulement « DCC refusé : OverCore n'est pas identifié ». Quand le serveur désigne le pseudo comme un service du réseau, le refus dit maintenant que sa console s'ouvre par Menu → Consoles (celle d'OverCore : 127.0.0.1:3336). Le DCC reste refusé comme avant.
  • Copier des messages d'un salon donne une ligne par message. Sélectionner plusieurs lignes puis copier-coller mettait l'heure, le pseudo et le texte chacun sur sa propre ligne. Chaque ligne se colle maintenant comme elle s'affiche : « 13:10 [ karim ] : bonjour », « 13:11 * lea fait coucou », « 13:12 karim a quitté le salon » ; une sélection qui commence ou finit au milieu d'une ligne ne copie que ce qui est surligné. Rien ne change pour le champ de saisie.
  • Sur Overtchat, la réidentification automatique suit le message d'OverNick destiné à OverScript, plus sa phrase. Quand OverNick demande de s'identifier (« Le pseudo … est enregistré. Identifiez-vous »), OverScript renvoyait le mot de passe en reconnaissant cette phrase. Une fois inscrit auprès du réseau, il ne réagit plus qu'au message machine qu'OverNick lui envoie en même temps, après avoir vérifié qu'il vient bien du service du réseau et qu'il vise votre pseudo. Les mêmes garde-fous qu'avant s'appliquent : la case « S'identifier automatiquement », le mot de passe retenu pour ce pseudo, rien après un refus, pas deux envois de suite. Sur un autre réseau, rien ne change : la phrase garde son rôle.
  • Sur Overtchat, une fenêtre de proposition de grade ne s'ouvre plus sur une phrase. Une fois OverScript inscrit auprès du réseau, seul le message machine du réseau ouvre la fenêtre « Accepter / Refuser / Plus tard » ; le texte de la proposition reste affiché dans l'onglet du service, comme avant. Sur un autre réseau, ou avant l'inscription, le texte ouvre la fenêtre comme avant.

0.6.46

  • /msg OverNick ACCESS #salon tapé à la main affiche enfin la réponse. OverScript cachait toute réponse « ACCESS … » du robot du réseau — c'est elle qui allume le menu du clic droit. Depuis la 0.6.45, le robot étant OverNick, la réponse à votre propre commande disparaissait. Seule se tait maintenant la réponse à une question posée par le menu lui-même.
  • Consoles : le mot de passe de la console d'OverCore est celui de votre pseudo. La fenêtre de connexion le dit (elle renvoyait à /msg IriX consolepass), et accepte un mot de passe de plus de 64 caractères. Un Eggdrop garde son mot de passe de partyline.

0.6.45

  • Sur Overtchat, le robot du réseau est OverNick, sans rien régler. IriX, le robot Eggdrop, quitte le réseau : c'est OverNick qui tient désormais les accès de salon (access) — mêmes réponses, autre nom. Un profil Overtchat dont « Robot du réseau » est vide, ou dit encore « IriX », s'adresse à OverNick : le menu du clic droit et la fenêtre de proposition de grade continuent de marcher sans retoucher le profil (« IriX » y est lu comme OverNick, parce qu'IriX ne répond plus à ces commandes). Sur un autre réseau, rien ne change : un champ vide reste « aucun robot », et ce que vous y avez écrit — IriX compris — est respecté.
  • L'authentification automatique auprès du robot n'a plus d'objet sur Overtchat. OverNick n'a pas de session « auth » : s'identifier (« S'identifier automatiquement », ou /identify) suffit, et le mot de passe est le même. La case « S'authentifier auprès du robot automatiquement » cochée sur un profil Overtchat ne fait plus rien — une ligne d'information le dit à la connexion, sans envoyer le mot de passe ; /auth et /deauth le disent aussi. Les trois restent utiles pour un robot tiers d'un autre réseau.

0.6.44

  • Une proposition de grade de salon s'ouvre dans une fenêtre à boutons. Quand quelqu'un vous nomme (owner, op, halfop, voice) sur un salon, OverScript ouvre une petite fenêtre à part : « Accepter », « Refuser », « Plus tard ». Accepter fait tout seul ce qu'il fallait taper : si vous n'êtes pas identifié, OverScript vous identifie d'abord auprès du service des pseudos (avec le mot de passe retenu dans le coffre, et seulement auprès de ce service vérifié), attend la confirmation, puis répond au robot du salon — et non au service qui a porté l'avis. Le résultat s'affiche dans la fenêtre ; un grade op ou owner une fois accepté, un bouton « Prendre l'op sur #salon » vous donne l'op (ou vous propose d'abord de rejoindre le salon). Refuser demande une simple confirmation. Sans mot de passe retenu, la fenêtre le dit et indique la commande à taper. Une proposition mise « Plus tard » ne revient pas toute seule : « Menu » → « Propositions de grade » la rouvre. La fenêtre ne s’ouvre que si l’avis vient d’un service du réseau vérifié, et que le robot du réseau est renseigné dans « Réglages du serveur » — une imitation envoyée par n'importe qui reste un simple texte — et les avis restent affichés comme avant.
  • OverScript se fait connaître du réseau pour recevoir ses fenêtres directement. Une dizaine de secondes après la connexion (et après un changement de pseudo), OverScript s'annonce au service « OverCore » du réseau — seulement si ce pseudo est bien un service du réseau, vérifié auprès du serveur ; l'annonce ne contient que la version d'OverScript et ce qu'il sait afficher, aucun mot de passe. Une fois inscrit, les propositions de grade arrivent par un message codé que seul un service vérifié peut envoyer : la fenêtre s'ouvre alors même si « Robot du réseau » n'est pas renseigné, et une même proposition reçue en code et en texte n'ouvre qu'une fenêtre. Ces messages codés ne s'affichent pas ; le texte, lui, reste affiché comme avant. Le nom du service se règle dans « Réglages du serveur » → « Registre OverScript » (vide : OverCore). Sur un réseau qui n'a pas ce service, rien ne change.

0.6.43

  • Un texte collé de plusieurs lignes part ligne par ligne. Jusqu'ici, coller trois lignes envoyait un seul message où elles étaient entassées, séparées par des espaces. Désormais chaque ligne fait un message, dans l'ordre ; les lignes vides sont ignorées, une ligne trop longue est coupée proprement (jamais au milieu d'un caractère accentué ou d'un emoji), et l'envoi est espacé pour que le serveur ne vous déconnecte pas pour « flood ». Au-delà de 5 lignes, OverScript demande d'abord — « Envoyer » ou « Annuler » ; ce nombre se règle dans « Menu ». Une ligne collée qui commence par « / » n'est ni exécutée ni envoyée : elle est écartée et OverScript le dit — une commande se tape (un « /msg … IDENTIFY motdepasse » copié d'une page d'aide ne doit pas partir dans un salon). Un collage d'une seule ligne se comporte comme avant.
  • Le symbole de genre de quelqu'un qui arrive après vous s'affiche. Il manquait à côté du pseudo de toute personne entrée dans le salon après vous — dont celle qui revient après avoir été déconnectée (KILL) — jusqu'à un /names à la main : seul l'âge/sexe/ville déclaré par ceux déjà présents à votre arrivée était lu. OverScript le demande maintenant à chaque arrivée, sans bruit, et sans ralentir ce que vous écrivez (une rentrée en masse après une coupure ne fait qu'une demande par salon).
  • « Journal des versions » dans le menu Aide. Ce qui change, version par version, s'ouvre quand vous voulez — plus seulement après une mise à jour.
  • Les adresses dans les messages se cliquent. Le lien du site que porte une annonce du réseau diffusée dans un salon (et toute adresse http/https écrite par quelqu'un) s'ouvre dans votre navigateur habituel d'un clic — jamais dans OverScript, et jamais autre chose qu'une page web : seules les adresses http et https reçues dans un message peuvent être ouvertes.
  • La ligne « IriX répond sur les accès de salon… » ne s'affiche plus dans la fenêtre de discussion : elle va au journal. C'est du protocole entre le client et le robot, pas une nouvelle.

0.6.42

  • Après un redémarrage du serveur, tout revient tout seul. OverScript se reconnecte souvent avant le service des pseudos et avant le robot. L'identification attendait déjà leur retour, mais la demande d'opérateur partait aussitôt — avant d'être identifié, donc parfois refusée — et l'authentification auprès du robot s'arrêtait sur « authentification automatique ABANDONNÉE ». Désormais, quand l'identification aboutit enfin, l'opérateur et l'authentification auprès du robot sont refaits, une seule fois — sauf si vous êtes déjà opérateur ou déjà authentifié. Et le robot absent est attendu comme le service : « nouvel essai dans 15 s (1/4) », jusqu'à quatre fois, sans jamais envoyer le mot de passe à un absent.
  • Le service qui revient juste après l'abandon est servi. Après quatre essais sans réponse, sa demande d'identification arrivée dans les 30 secondes était ignorée sans un mot ; vous restiez non identifié. Elle est maintenant servie.
  • /consoles ne frappe plus en clair à la porte chiffrée. La console chiffrée d'IriX (port 3335) et les consoles que vous avez retenues dans la fenêtre « Consoles » sont interrogées en chiffré. Elles n'apparaissent plus comme des « ports silencieux » assortis d'un conseil faux (« faites-lui son hello ») : elles sont annoncées comme consoles chiffrées — avec leur nom quand le robot a eu le temps de le donner — et renvoient au bouton « Consoles », le seul chemin qui les ouvre (/console parle en clair).
  • Un nouvel installateur, aux couleurs d'OverScript. Au centre, l'anneau du logo se remplit avec la vraie progression de l'installation, le pourcentage en son milieu, et l'étape en cours dessous : « Préparation… », « Installation des fichiers… », « Création des raccourcis… ».
  • Vous voyez où il s'installe avant qu'il ne commence. Le dossier proposé est celui de votre installation actuelle s'il y en a une ; « Modifier… » en choisit un autre. « Pour moi seulement » ou « Pour tous les utilisateurs » est déjà réglé comme votre installation existante. Rien ne s'installe avant « Installer », et « Annuler » ne laisse aucune trace.
  • Une seule demande d'autorisation de Windows, et seulement pour une installation « pour tous les utilisateurs ». « Pour moi seulement » n'en demande aucune.
  • La fin se dit clairement : « OverScript est installé », avec la case « Lancer OverScript » déjà cochée. Si l'installation n'aboutit pas, un écran le dit en français, avec la raison quand elle est connue (par exemple OverScript resté ouvert) et le code d'erreur — l'installateur ne disparaît plus sans un mot.
  • La mise à jour automatique montre le même anneau : OverScript se ferme, l'anneau se remplit, puis OverScript se rouvre tout seul, sans aucune question — sauf quand l'installateur ne peut pas savoir laquelle mettre à jour (deux installations d'OverScript sur l'ordinateur, ou aucune) : il vous montre alors son premier écran. L'installateur est en français, comme OverScript.

0.6.41

  • /topic seul affiche vraiment le sujet. Depuis la 0.6.40 il ne l'effaçait plus, mais la réponse du serveur ne servait qu'à remettre à jour la barre du salon : rien ne s'écrivait. Il dit maintenant « Sujet de #salon : … », puis qui l'a posé et quand, ou « Aucun sujet sur #salon. » Le sujet reçu en entrant dans un salon, lui, reste discret.
  • Le menu d'un pseudo ne propose plus une K-line qui ne vise personne. « K-line » et « G-line » écrivaient « /kline toto », que le serveur comprend comme une machine nommée « toto ». Le menu écrit maintenant « /kline *@ » et vous dit de compléter l'hôte de la personne (lisible par /whois toto), puis le motif.

0.6.40

  • Les motifs de plusieurs mots partent en entier. « /away je reviens » vous disait absent pour « je », « /kick toto règles du salon » expulsait pour « règles » : le serveur ne gardait que le premier mot. C'est réparé pour /away, /kick, /kill, /kline, /gline, /zline, /qline, /wallops, /globops et /topic, et pour la commande que propose l'alerte de modération (qui nomme désormais le salon).
  • /quit je pars envoie votre motif. Il partait toujours « OverScript ».
  • /topic seul affiche le sujet au lieu de l'effacer. /topic #autre texte change le sujet de #autre, et non plus celui du salon ouvert ; pour effacer un sujet, /topic :.
  • /names seul liste enfin le salon ouvert. La 0.6.23 l'annonçait ; il partait pourtant sans salon, et rien ne s'affichait.
  • /invite toto fonctionne : il partait à l'envers (salon, puis pseudo) et le serveur répondait « pas de tel pseudo ». /invite #salon toto est remis dans l'ordre.
  • /aide (ou /commandes) liste les commandes d'OverScript, une ligne chacune, dans la fenêtre ouverte ; /aide kick n'en montre qu'une. /help reste l'aide du serveur.
  • La notice d'installation est remise à jour : toutes les commandes, /server -w pour une seconde fenêtre, les paquets Linux.

0.6.39

  • Les messages se lisent « [ pseudo ] : texte », le texte un peu plus éloigné du pseudo. Les avis du serveur et les actions (/me) gardent leur présentation ; un copier-coller du salon reste propre (les crochets sont un décor, pas du texte).
  • Les changements de mode sont mis en valeur : en vert quand un mode est posé (+o, +v…), en rouge quand il est retiré, avec une barre à gauche — on voit d'un coup d'œil qui reçoit ou perd la main.
  • Vos grades se disent en clair : « vous êtes maintenant opérateur de #salon », « vous n'êtes plus porteur de la voix de #salon »… pour propriétaire, administrateur, opérateur, demi-opérateur et voix. Et quitter le statut d'opérateur IRC (/mode VotrePseudo -o) se confirme enfin : « vous n'êtes plus opérateur IRC ».
  • Le menu d'un pseudo (clic droit dans la liste) ne se referme plus tout seul quand un message arrive dans la conversation.

0.6.38

  • /mode <pseudo> … vise enfin le pseudo : « /mode SerVuS -o », tapé dans un salon pour retirer son propre statut d'opérateur, partait sur le salon — le serveur prenait les lettres du pseudo pour des modes du salon. Un /mode qui commence par + ou - vise toujours le salon ouvert.

0.6.37

La mise à jour se voit pendant qu'elle s'installe

  • Plus d'écran vide entre « installer » et le retour d'OverScript. La mise à jour s'installait en silence : OverScript se fermait, puis plus rien pendant de longues secondes. La fenêtre d'installation s'affiche désormais, à l'icône d'OverScript, avec sa barre de progression, puis OverScript se rouvre tout seul, comme avant.
  • Rien de plus à faire de votre côté : aucune question « pour qui installer ? », aucun bouton « Terminer » à cliquer — l'installation reprend celle qui existe. Si vous aviez installé OverScript « pour tous les utilisateurs », Windows demande toujours son autorisation, une seule fois, comme aujourd'hui.
  • La fenêtre parle la langue de votre Windows.
  • ⚠ Elle apparaît dès l'installation de cette version-ci, lancée depuis la 0.6.36.

Renforcement de sécurité (revue de la checklist Electron, 30/09/2026)

  • Rien de visible à l'usage : les fenêtres refusent mieux de sortir du site (navigations ET redirections), la caméra et le micro des Rencontres ne sont accordés qu'à la page qui les demande vraiment, les liens externes ne s'ouvrent qu'en http(s), les canaux internes sensibles (coffre, mise à jour, rapport, fond d'écran) n'obéissent qu'aux fenêtres d'OverScript, le paquet de mise à jour se télécharge dans un dossier privé, un faux coffre Linux (« basic_text ») est refusé plutôt que d'écrire en faux chiffré, les pages portent une politique de contenu plus stricte, quatre commandes de services de plus sont masquées dans le journal, et les « fusibles » Electron sont grillés à l'empaquetage.
  • Electron passe de 43.4.0 à 43.7.6, le dernier correctif de sa branche (avis de sécurité Electron de 2026, dont la sandbox non héritée et le cache du préchargement).

Les mises à jour sont signées

  • OverScript n'installe plus une mise à jour qu'il ne peut pas authentifier. Chaque version publiée est désormais signée par l'éditeur, et OverScript vérifie cette signature avant de télécharger, puis encore juste avant de lancer l'installation. Un site détourné ou piraté ne peut donc plus vous faire installer autre chose qu'une vraie version d'OverScript, ni une ancienne version à la place d'une nouvelle.
  • Si la vérification échoue, rien n'est installé : le bandeau l'indique (« Mise à jour non vérifiable ») et vous propose la page de téléchargement du site, comme avant.
  • ⚠ Cette protection vaut à partir de cette version : la mise à jour qui l'apporte s'installe encore comme d'habitude depuis la 0.6.36.

<!-- ⚠⚠ EN ATTENTE DE DÉCISION DE SerVuS — revue de sécurité du 30/09/2026. (D7, l'authenticité des mises à jour, n'y est plus : tranché le 30/09 par SerVuS — signature Ed25519 détachée, entrée « Les mises à jour sont signées » ci-dessus ; D7a à D7i verts. ⚠ AVANT DE PUBLIER : la clé publique src/main/cle-maj.pub doit être posée — sans elle, cette version refuserait TOUTE installation automatique ; voir OverScript.md.) · D10 — FAIT le 30/09 (feu vert de SerVuS) : Electron 43.7.6 ; npm test D10 vert, rendu 832/0, coffre 90/0. ⚠ npm n'a PAS lancé le script d'installation d'electron (politique allowScripts) : le binaire a été posé par node node_modules/electron/install.js (vérifié par checksums.json). À refaire après tout npm install qui change sa version. -->


0.6.36

Corrigé

  • Une notice ne vous « appelle » plus, même venue d'un service : quand OverNick vous demande de vous identifier en citant votre pseudo, « HL : OverNick vous a appelé » ne s'affiche plus. Les robots et services répondent par notice ; seul un message ou un /me qui cite votre pseudo compte comme un appel.
  • Le masque des notices serveur s'affiche en français à la connexion — « masque des notices serveur : +clkose » — au lieu de la ligne brute « +clkose Server notice mask ».
  • Les accents sont revenus dans de nombreux textes affichés : « certificat NON vérifié », « identification automatique ABANDONNÉE », « le mot de passe n'a PAS été envoyé », « les suivants sont masqués », les modes des salons, le cadre « Statut » (« état », « réseau », « système »…), les boutons « Arrêter », « Modération », « Mise à Jour ». Au passage, « mot de passé » et « se connecté depuis » redeviennent « mot de passe » et « se connecte depuis ».
  • Plus de fausse alerte « OverScript prend … Mo à lui seul » après une reconnexion. Revenir sur le serveur (salons, modes, historique) fait monter la mémoire quelques minutes, puis elle redescend d'elle-même : OverScript vous conseillait pourtant de le relancer. L'alerte ne part désormais que si la mémoire reste au-dessus d'un gigaoctet pendant plus de 5 minutes d'affilée — et elle peut revenir plus tard si la mémoire, après être vraiment redescendue, remonte pour de bon.

0.6.35

Nouveau

  • /sajoin, /sapart et /sanick fonctionnent (réservés aux IRCop) : quand le service OverHub est présent sur le réseau, OverScript lui passe la commande — /sanick sous son nom de service, SVSNICK — et OverHub vous répond (« rejoint — constaté », ou son refus). La ligne « → OverHub : … » vous montre ce qui est parti. Sans OverHub, le message d'aide reste.

Corrigé

  • L'identification automatique ne renonce plus quand le service revient après vous. Après un redémarrage du serveur, OverScript se reconnecte souvent avant le service de pseudos : il abandonnait aussitôt. Il réessaie désormais pendant environ quatre minutes (15 s, 30 s, 1 min, 2 min) et le dit à l'écran ; le mot de passe ne part toujours que vers un vrai service réseau. Et si le service vous demande de vous identifier en revenant, la demande est servie.
  • Une notice du serveur qui cite votre pseudo (message de connexion, avis d'opérateur…) n'affiche plus « vous a appelé » ni de pastille : seul un appel venu d'une personne ou d'un service compte.

0.6.34

Changer le mot de passe de console, depuis OverScript

  • Dans la fenêtre Consoles, une fois connecté à la console d'IriX : Changer le mot de passe. Vous le tapez une seule fois, dans un champ masqué qui se vide aussitôt — il n'est jamais affiché, ni à l'écran ni au journal.
  • OverScript attend la confirmation du robot avant de dire « changé » ; un refus ou un silence est dit tel quel, jamais présenté comme un succès. Si le mot de passe était retenu dans le coffre, il y est remplacé — seulement après cette confirmation.
  • 8 à 30 caractères, sans espace : le robot ne garderait sinon que le premier mot, ou couperait le reste, sans rien dire. OverCore suit le nouveau mot de passe dans l'heure.

0.6.33

Chercher une mise à jour, tout de suite

  • Aide → Rechercher une mise à jour cherche une nouvelle version sans attendre le contrôle automatique (au démarrage, puis toutes les heures), et dit toujours le résultat : vous êtes à jour, le site ne répond pas, ou le bandeau de la nouvelle version — qui revient même si vous aviez cliqué « Plus tard ».
  • Une mise à jour déjà téléchargée n'est plus oubliée à la vérification suivante : le bouton « Installer » ne répond plus « aucun paquet téléchargé » tant que le site annonce le même paquet.

Vos mots de passe restent cachés

  • /msg IriX consolepass <mot de passe> (le mot de passe de la console d'IriX) n'apparaît plus en clair : ni à l'écran, ni dans le journal d'OverScript. Tapé par erreur dans un salon, il est retenu au lieu de partir.
  • Dans la fenêtre Consoles, une commande qui porte un mot de passe (.chpass, .newpass) s'affiche masquée sous la saisie — elle part quand même intacte vers le robot.

0.6.32

La fenêtre « Consoles »

  • Menu → Consoles ouvre une fenêtre à part, aux couleurs du réseau, pour se connecter à la console d'un robot par une connexion chiffrée : IriX (sa partyline chiffrée) ou OverCore — on choisit le robot en ajoutant la console.
  • Une barre suit les vraies étapes — connexion, chiffrement, robot, identification, admis — et s'arrête sur celle qui échoue, en disant pourquoi.
  • À la première connexion, l'empreinte du certificat du robot vous est montrée pour la reconnaître ; si elle change un jour, rien n'est envoyé et vous êtes prévenu.
  • Le mot de passe de console (celui de /msg IriX consolepass) est demandé une seule fois, masqué, et peut être retenu chiffré dans le coffre — il n'est plus jamais tapé ni affiché.
  • Les commandes du robot s'affichent en boutons : un clic les prépare dans la saisie. IriX ne publie pas de liste de commandes : la fenêtre le dit, au lieu d'en inventer une.
  • Fermer la fenêtre ferme les consoles et efface leur historique.

La liste des salons a sa propre fenêtre

  • /list ouvre maintenant une vraie fenêtre, « Salons du réseau », que l'on déplace librement — sur un autre écran si l'on veut — au lieu d'un panneau coincé dans la fenêtre du chat. Filtre, double-clic pour rejoindre, et la liste reste ouverte pour le salon suivant.

Une barre de menu qui ne passe plus devant tout

  • La barre de menu restait affichée par-dessus les panneaux (Connexion, Aide, réglages d'un salon…) : ces panneaux la recouvrent désormais, comme ils le doivent.
  • Couleur Texte, Mise à jour et Modération ont rejoint le menu Menu, avec les autres réglages. Ils restent des interrupteurs On/Off.

L'avis de maintenance dans la bannière

  • Quand une maintenance du réseau est annoncée, elle s'affiche en tête de la bannière, en couleur d'alerte, avec l'heure prévue et le compte à rebours — elle ne se perd plus dans un onglet privé. Elle disparaît d'elle-même quand la maintenance est terminée.

Répondre en privé marche du premier coup

  • Une conversation privée ouverte par /msg, par un clic sur un pseudo ou par le menu du clic droit pouvait répondre « pas connecté » alors que le réseau allait très bien : elle n'était rattachée à aucun réseau. Elle prend désormais celui de la fenêtre d'où vous l'ouvrez.

0.6.31

Joindre une capture d'écran à un signalement

  • Dans Aide → Signaler un problème, le bouton « Joindre une capture… » ajoute une image (JPEG, PNG ou WEBP, 1 Mo au plus). Son aperçu s'affiche avant l'envoi, et « Retirer » l'enlève.
  • ⚠ La capture part telle quelle : vérifiez qu'elle ne montre ni conversation privée, ni mot de passe. Le site en efface les informations cachées (appareil, position) et ne la montre qu'à l'équipe.
  • Si le site refuse l'image, le rapport arrive quand même, et le client vous dit pourquoi l'image n'est pas passée. Si le site ne répond pas, le rapport est gardé pour plus tard sans la capture — elle n'est jamais enregistrée sur votre disque.

Votre fond d'écran revient au démarrage, et le journal se rouvre

  • Depuis la 0.6.25, l'image de fond choisie n'était pas remise au démarrage tant que la fenêtre des journaux n'avait pas été ouverte une fois, et cette fenêtre refusait de s'ouvrir une deuxième fois. Les deux marchent de nouveau.

La bannière montre enfin TOUTES les annonces

  • Elle ne changeait de texte qu'au rythme où le robot diffuse dans les salons — une fois par demi-heure : on ne voyait qu'une annonce. Désormais un texte neuf à chaque passage complet du défilement, tiré au hasard et jamais deux fois de suite le même. Survolée, elle s'arrête, et le suivant attend.
  • Si votre système demande de réduire les animations, le texte reste immobile et change toutes les 20 secondes.

La liste des salons (/list) ne se fait plus couper, et se déplace

  • Elle passait sous la barre d'outils, qui la coupait en deux : elle passe maintenant devant.
  • Saisissez-la par sa barre de titre pour la déplacer où vous voulez ; elle reste dans la fenêtre. Un double-clic sur la barre la remet à sa place. Le panneau d'informations se déplace de la même façon.

Les liens de la bannière s'ouvrent d'un clic

  • Une annonce qui propose une adresse la montre soulignée : un clic l'ouvre dans votre navigateur (la bannière s'arrête déjà quand on la survole).
  • Par sécurité, OverScript n'ouvre que les liens envoyés par le site du réseau, en http ou https : une page piégée ne peut pas s'en servir pour ouvrir autre chose.

La correction automatique, si vous la voulez

  • Menu → « Correction : On/Off » (éteinte au départ) : les fautes de frappe sont corrigées avant l'envoi, avec le dictionnaire de votre système, et chaque correction est dite (« corrigé : bonjoru → bonjour »).
  • Elle reste prudente : jamais un pseudo présent, un salon, une commande, une adresse, un mot à chiffres, un sigle ou un nom propre ; seulement un mot très proche de la suggestion. Et jamais une ligne qui porte un mot de passe.
  • Elle ne corrige que dans les salons : les conversations privées, où l'on parle aux robots et aux services avec des mots de passe, restent telles que vous les tapez.

Un capteur de connexion, et un anti-flood des messages privés

  • OverScript mesure la latence jusqu'au serveur toutes les 30 secondes et l'affiche dans le cadre Statut (« 120 ms — stable », « 1 800 ms — lente »…).
  • Quand la connexion devient instable (plus de 3 secondes, ou pas de réponse), vous êtes prévenu qu'elle risque de tomber — et prévenu aussi quand elle se rétablit.
  • Quelqu'un qui vous inonde en privé (plus de dix messages en dix secondes) voit ses messages suivants masqués ; OverScript le dit, puis dit combien ont été masqués quand c'est fini. Seul lui est touché ; les services, le robot du réseau, votre bouncer et les salons ne sont pas concernés.

La partyline se nomme, et répond à votre demande

  • Le groupe où s'affichent les consoles et les conversations DCC s'appelle désormais « Partyline », et plus « Serveur », qui faisait croire à une connexion IRC.
  • Quand vous demandez une conversation (/ctcp <pseudo> CHAT), la réponse de ce pseudo est acceptée d'office pendant une minute : plus besoin de taper /dcc accepter. Une offre que vous n'avez pas demandée attend toujours votre accord — et aussi une réponse qui viendrait de votre propre poste ou d'un réseau privé : elle vous est montrée, pour que vous décidiez.
  • /console <port> sans surnom prend votre pseudo, et le dit.

Signaler ou proposer, en un clic

  • Le menu Aide propose désormais « Signaler un problème » et « Proposer une amélioration » : le formulaire s'ouvre directement, le bon choix coché, prêt à écrire.

0.6.30

Les annonces du réseau, dans une bannière qui défile

  • Entre la barre de mémoire et la barre d'outils, une bannière montre les annonces du réseau auquel vous êtes connecté — celles qu'IriX diffuse — hors de la conversation : elles ne se mêlent plus aux messages.
  • Deux bandes au plus. La bande réseau est là dès que le site du réseau a répondu ; sans annonce, elle montre son message d'accueil. La bande salon montre les annonces du salon que vous regardez, et se replie quand il n'en a pas (ou quand l'onglet n'est pas un salon).
  • Un texte à la fois, tiré au hasard (jamais deux fois de suite le même), changé au rythme choisi par le réseau. Le texte défile ; passez la souris dessus pour l'arrêter et le lire. Si votre système demande de réduire les animations, il reste immobile, coupé proprement.
  • Menu → « Bannière : On/Off » la masque, et le choix est retenu d'un lancement à l'autre. Masquée, elle ne demande plus rien au site du réseau.
  • Un réseau sans site n'affiche aucune bannière : rien n'est inventé.

Le fond des salons s'anime

  • Les ondes du fond des salons ondulent doucement, leurs couleurs glissent du turquoise au bleu puis au violet, et un trait lumineux court le long de chacune.
  • Tout reste discret, derrière le texte : la lecture n'en est pas gênée.
  • Si votre système demande de réduire les animations, le fond reste immobile.

« Rencontres » devient un menu

  • Le bouton Rencontres de la barre d'outils s'ouvre maintenant comme Menu et Aide : il propose « Rencontres » (les profils et la visio, comme avant) et « Mon profil » — votre page du trombinoscope sur le site.
  • « Mon profil » quitte le Menu, qui garde Connexion, Fond et la bannière.

0.6.29

La conversation DCC CHAT arrive — et rien ne s'ouvre sans votre accord. Une offre reçue s'annonce et attend votre réponse ; les transferts de fichiers sont refusés, et l'écran le dit.

Parler en DCC CHAT

  • Qui peut : il faut être identifié (pseudo enregistré). Entre deux personnes, le DCC est réservé aux IRCops — il suffit que l'un des deux le soit — et l'autre doit être identifié aussi. Vers un robot, c'est le robot qui décide de l'accès. Un refus dit toujours pourquoi.
  • Proposer : /dcc chat <pseudo>. Vers une personne, l'offre part d'abord en mode passif (c'est elle qui écoute : rien à ouvrir chez vous) ; sans réponse après vingt secondes, une offre directe suit si vous avez réglé votre adresse publique. L'offre s'éteint au bout de soixante secondes en le disant ; fermer l'onglet la retire aussitôt.
  • Depuis Internet : /dcc reglage <adresse publique> <premier port> — puis ouvrez ce port et les deux suivants (TCP) vers votre ordinateur dans votre box. /dcc reglage seul affiche le réglage, /dcc reglage effacer le retire. Sans lui, le DCC marche en passif, et vers les robots de votre propre machine.
  • Recevoir : une offre s'annonce avec le pseudo qui la fait et d'où elle vient (ce poste, un réseau privé, Internet — dans ce dernier cas, l'accepter fait connaître votre adresse). Répondez par /dcc accepter <pseudo> ou /dcc refuser <pseudo> ; sans réponse, elle expire au bout de soixante secondes. Rien ne se connecte tant que vous n'avez pas accepté.
  • Avec un robot Eggdrop : il demande son mot de passe, et une petite boîte masquée s'ouvre — comme pour /console. Le mot de passe ne part que si le robot l'a demandé, et ne se relit nulle part.
  • Quand le robot refuse, vous le savez tout de suite : si IriX vous refuse sa console (liste noire, aucun accès accordé par le propriétaire, hôte associé à un autre compte…), le motif s'affiche dans l'onglet de l'offre, et l'offre est retirée aussitôt au lieu d'attendre soixante secondes. S'il vous accorde l'accès mais que vous n'avez pas encore de mot de passe de console, l'onglet vous dit où le choisir : sur le panel du site (page « Accès à la partyline »), ou par /msg IriX consolepass <mot de passe>. S'il vient d'enregistrer votre hôte, il vous invite à refaire /dcc chat IriX. Seul le robot à qui vous avez proposé la conversation peut ainsi la retirer ; ses messages restent affichés comme d'habitude.

Les transferts de fichiers sont refusés — et c'est dit

Une offre d'envoi de fichier (DCC SEND, et ses variantes) est refusée, avec un message qui la nomme. OverScript ne reçoit aucun fichier par DCC : c'est un choix, pas un oubli.

Une console qui déborde se ferme

Un correspondant qui enverrait du texte sans jamais passer à la ligne faisait grossir la mémoire du client sans limite. Au-delà de 16 000 caractères, la conversation se ferme, en le disant.

Les symboles des pseudos suivent les changements de grade

Le @, le %, le +… à côté d'un pseudo se mettent à jour quand un grade est donné ou retiré — par une personne, par un service comme IriX ou par le serveur lui-même —, sans avoir à taper /names. Une personne qui rejoint un salon où elle figure déjà garde son grade, et une coupure au milieu d'une liste de présents ne mélange plus l'ancienne liste à la nouvelle. Si l'affichage d'une conversation échoue, la liste des présents se met à jour quand même, et l'incident est noté au journal.

Le pseudo se colle à l'heure

Dans la conversation, le pseudo commence juste après l'heure : l'espace vide qui les séparait pour les pseudos courts (@IriX) est passé du côté du texte.

Plus d'onglet « Serveur » vide au démarrage

Quand un profil s'ouvre tout seul au lancement, l'onglet de démarrage ne reste plus affiché à vide : ses lignes (la version d'OverScript) passent en tête de l'onglet du réseau ouvert. Si aucun réseau n'a pu s'ouvrir, il reste, avec les raisons de l'échec.

Le cadre « Serveur » devient « Statut », et il s'explique

  • Le cadre s'appelle Statut. Ses lignes sont rangées sous trois intitulés — Connexion, Vous, OverScript — et chacune dit ce qu'elle signifie quand on la survole.
  • Les valeurs longues (hôte masqué, compte, version) vont à la ligne au lieu d'être coupées.
  • La ligne logiciel, qui devait donner la version du serveur, ne s'affichait jamais : elle apparaît désormais une fois connecté.

Le nombre de salons, à côté du réseau

Le titre « Salons » et son compteur ont quitté la colonne de gauche (la liste des fenêtres, elle, reste). La barre du bas dit maintenant « Réseau — pseudo · 3 salons », pour le réseau que vous regardez.

Une barre d'outils rangée

  • Menu déroule Connexion, Profil et Fond ; Aide déroule Journaux, Aide et Contact (nouveau : ouvre la page de contact du site). Un choix, un clic ailleurs ou Échap les referment.
  • Les interrupteurs (Couleur Texte, Mise à Jour, Modération) sont regroupés à droite : cadre vert quand ils sont sur On, rouge sur Off.

Signaler un problème… ou proposer une idée

Le formulaire de l'aide demande s'il s'agit d'un problème ou d'une suggestion. Une suggestion n'arrive plus sur le site rangée parmi les pannes.

0.6.28

Un mot de passe tapé ne se relit plus nulle part, et la console d'un robot dit enfin la vérité. /console sans mot de passe ouvre une vraie boîte de saisie au lieu de ne rien faire, un refus du robot s'affiche comme un refus, et une console ouverte ne se ferme plus toute seule.

/console demande le mot de passe — pour de bon

Taper /console 3333 VotreSurnom sans mot de passe ne produisait rien du tout : l'invite employée n'existe pas dans l'application, et l'erreur restait invisible. Une petite boîte s'ouvre maintenant dans la fenêtre : le mot de passe s'y tape masqué, Entrée valide, Échap annule, et la boîte est effacée dès qu'on a répondu.

Plus largement, une commande qui échoue le dit désormais à l'écran, au lieu de ne laisser qu'une trace dans le journal.

/consoles ne prend plus qu'un argument

/consoles 3333 VotreSurnom motdepasse prenait toute la ligne pour un nom de machine : le mot de passe se réaffichait à l'écran. Une ligne de cette forme est maintenant transmise à /console, qui est ce que vous vouliez ; toute autre ligne à plusieurs mots est refusée, sans être répétée.

La console d'un robot : un refus est un refus

Un mot de passe faux sur la console d'IriX affichait « console admise », puis « Négatif, Houston. » — le refus d'Eggdrop en français, que le client ne connaissait pas. Le refus est reconnu dans toutes les langues d'Eggdrop, une console qui raccroche juste après le mot de passe est dite refusée, et « admise » n'est plus annoncé que sur un vrai accueil du robot.

Et une console ouverte et silencieuse ne se ferme plus d'elle-même au bout de trente secondes : ce délai ne vaut plus que pendant la connexion.

Vos mots de passe ne se relisent plus à l'écran

  • /msg OverNick identify …, auth, recup… et le même texte tapé dans la fenêtre privée d'un service ne s'affichent plus qu'en identify •••• — le message, lui, part entier.
  • Un texte qui commence par identify, auth, recup, ghost, register… tapé dans un salon n'est pas envoyé : tout le salon l'aurait lu. Le client indique /identify ou /auth, qui emploient le coffre (et /msg #salon … pour l'envoyer quand même).

Le menu du clic droit s'allume enfin pour les opérateurs

Le clic droit sur un pseudo restait entièrement éteint, même pour un opérateur du réseau présent en « @ » :

  • un opérateur du réseau retrouve ses actions tout de suite, sans attendre le robot — le serveur le laisse de toute façon passer outre, et l'acte est signalé ;
  • la réponse du robot IriX est maintenant reconnue (elle était ignorée), et elle ne s'affiche plus dans la conversation à chaque ouverture du menu ; une réponse de ce genre venue d'un autre pseudo reste visible et est signalée comme non fiable ;
  • si aucun robot n'est déclaré pour le réseau, le menu et le salon disent où le renseigner (« Réglages du serveur » → « Robot du réseau ») ;
  • le robot n'est plus interrogé à chaque clic droit, et l'accès d'un salon ne déborde plus sur le salon du même nom d'un autre réseau.

Le journal ne garde plus ce qu'il ne devait pas garder

Le journal masquait déjà identify et auth ; il masque aussi, désormais, recup, supprime, verify (les commandes des services d'Overtchat), ident, login, confirm, group, set password, la clef d'un salon rejoint par /join #salon clef, celle que le serveur renvoie dans les modes du salon, et la réponse d'un robot à un changement de mot de passe.

⚠ Un journal écrit AVANT cette version peut contenir de tels secrets : il se trouve dans %APPDATA%\OverScript\journaux\ (le bouton « Journaux » l'ouvre). Le supprimer ne fait rien perdre d'autre que l'historique des incidents.

/ctcp : interroger quelqu'un, et savoir ce qu'il a répondu

/ctcp <pseudo> <verbe> envoie une demande CTCP : VERSION, PING, TIME, CLIENTINFO, FINGER, USERINFO, SOURCE ou CHAT. La réponse s'affiche comme une réponse. Pour un PING, c'est le temps d'aller-retour : /ctcp OverNick PING affiche par exemple « Réponse PING de OverNick : 0,01 s ». Auparavant, une réponse reçue s'affichait « CTCP reçu — sans réponse », ce qui était faux.

OverScript répond désormais tout seul au PING qu'on lui envoie en privé, et à rien d'autre. Jamais VERSION ni TIME à un inconnu, ce qui dirait quel logiciel et quelle heure vous avez. Il ne répond pas au PING adressé à un salon entier, et une rafale ne reçoit que quelques réponses. Quand il a répondu, il vous le dit.


0.6.27

L'application porte enfin les couleurs du réseau. L'écran de connexion affiche le logo Service-Overtchat, les fenêtres de conversation ont leur propre décor, et votre image personnelle passe toujours devant si vous en choisissez une.

Le logo sur l'écran de connexion

Jusqu'ici, l'écran d'ouverture était un fond noir uni. Il porte maintenant le logo du réseau — le même tracé que celui du site, pas une copie approchante. Le nom complet est écrit sous « OverScript », sur cet écran comme sur celui de démarrage.

Un décor propre aux conversations

Les fenêtres de salon ont leur propre fond, volontairement différent du logo : des ondes et un semis discrets, sans rien qui se reconnaisse. Redire la marque au dos de chaque conversation l'aurait usée.

⚠ Ce décor s'arrête au bord de la zone de conversation. La liste des salons, les présents et les barres d'outils restent nets — un décor partout n'est plus un décor.

Votre image passe toujours devant

Le bouton « Fond » n'a pas changé : l'image que vous choisissez remplace le décor par défaut, dans la zone de conversation. Le voile qui la recouvre reste non réglable — il garantit que le texte demeure lisible quelle que soit l'image.

Une pastille qui ne s'affichait plus

Le point qui signale un salon où l'on vous appelle était effacé pour tout le monde, à cause d'une règle d'affichage trop large. Il réapparaît.


0.6.26

Fermer la fenêtre pendant que plusieurs réseaux sont ouverts les déconnecte maintenant tous. Jusqu'ici, un seul partait proprement : sur les autres, vos correspondants vous voyaient disparaître en « Ping timeout » pendant une minute au lieu d'un départ net.

Quitter proprement, sur tous les réseaux à la fois

Depuis que l'application tient plusieurs réseaux dans une même fenêtre, la fermeture les parcourt un par un pour envoyer le QUIT et refermer chaque connexion. Dans certains cas, ce parcours s'arrêtait au premier : les réseaux suivants ne recevaient jamais leur départ, et leur connexion restait pendante côté serveur jusqu'à son propre délai d'expiration.

Pour vous, cela se voyait de l'autre côté : sur le premier réseau vos correspondants lisaient un départ net, sur les autres un « Ping timeout » une minute plus tard.

⚠ Si vous n'ouvrez qu'un seul réseau à la fois, vous n'étiez pas concerné — c'est d'ailleurs pourquoi cela n'a jamais été remarqué en service.


0.6.25

Le clic droit sur un pseudonyme ouvre un vrai menu de modération — mais seulement si vous avez un accès enregistré sur ce salon. Et l'application se laisse enfin habiller : votre propre fond d'écran, et un écran de connexion aux couleurs du projet.

Le menu du clic droit devient un menu de modération

Jusqu'ici, un clic droit sur un pseudonyme proposait quatre entrées : whois, who, profil, message privé. Il en propose maintenant douze de plus — donner ou retirer l'op, le halfop, la voix, expulser, bannir, et les commandes d'opérateur réseau.

🔴 Les entrées restent éteintes tant que le robot n'a pas confirmé que vous avez un accès sur ce salon. Porter un @ devant son pseudonyme n'ouvre donc plus rien : c'est l'accès enregistré qui décide, et lui seul. À chaque ouverture du menu, le client demande discrètement au service la liste de ce que vous pouvez faire ici.

⚠ Ce n'est pas une sécurité, c'est une discipline. Cacher un bouton n'empêche personne de taper la commande à la main — c'est le serveur qui accorde ou refuse, et lui seul. Le menu se contente de ne pas vous proposer ce qu'il sait que vous ne pouvez pas faire.

⚠ Trois commandes n'envoient rien : kill, kline et gline écrivent la commande dans la zone de saisie, sans la lancer. Une action irréversible ne part pas sur un clic de menu.

Votre propre fond d'écran

Vous pouvez choisir une image de fond pour la fenêtre. Le voile qui la recouvre n'est pas réglable : il garantit que le texte reste lisible quelle que soit l'image choisie.

L'écran de connexion porte l'identité du projet

L'écran d'ouverture garde l'image de Service-Overtchat, au lieu de laisser transparaître ce qui se trouve derrière.

0.6.24

Ce qui s'affichait de travers ne s'affiche plus de travers — la version de votre liaison chiffrée, l'ordre des messages d'identification, la couleur des avertissements, et les symboles à côté des pseudonymes.

🔴 La liaison chiffrée s'annonçait en « SSLv3 »

Au démarrage, le client écrivait par exemple :

liaison chiffrée TLS_AES_256_GCM_SHA384 TLSv1/SSLv3 — certificat verifie

La liaison était bonne — cette suite n'existe qu'en TLS 1.3. C'est le nom du protocole qui était faux : il venait d'un champ hérité qui ne décrit pas la version négociée. Vous lisiez donc le nom d'un protocole cassé depuis 2014 sur une connexion parfaitement moderne.

Désormais : TLS_AES_256_GCM_SHA384 TLSv1.3, et la version est mesurée.

⚠ Rien n'était en danger, et c'est ce qui rendait le défaut coûteux : un message exact qui se lit de travers envoie chercher un problème qui n'existe pas.

⚠ L'identification automatique racontait les choses à l'envers

On lisait, dans cet ordre :

identification envoyée à overnick
identification automatique — le serveur le déclare service réseau

C'est-à-dire « le mot de passe est parti », puis « au fait, j'ai vérifié que la cible était bien un service ». L'ordre réel est l'inverse — le contrôle passe d'abord, et un verdict négatif n'envoie rien. L'écran le dit maintenant dans le bon ordre.

📌 Et si l'envoi échoue malgré un contrôle réussi, vous le voyez : sans ce démenti, la dernière nouvelle à l'écran se lisait comme une réussite.

⚠ Le mot sur /samode alertait alors que la commande marchait

« Overtchat-Hybrid n'a pas de SAMODE… » s'affichait en ambre, la couleur d'un problème, alors que la commande partait bien. Il s'affiche maintenant en information quand elle part, et en ambre seulement quand elle est refusée. La phrase commence aussi par ce qui s'est passé, plutôt que par ce qui manque.

⚠ Les avis d'appel répétaient le même nom jusqu'à trois fois

HL : OverNick vous a appelé sur service-overtchat.hd.free.fr · OverNick

Un message privé prenait le pseudo de celui qui parle comme nom de « salon ». On lit maintenant « … · en privé », et un appel venu du serveur lui-même ne redit plus son nom deux fois.

🔴 « /names » ne faisait plus rien du tout

Tapée seule, la commande /names ne produisait rien : pas de liste rafraîchie, pas de message d'erreur, pas même une ligne à l'écran. Elle est maintenant complétée du salon de la fenêtre ouverte, comme /mode ou /kick — et si vous n'êtes dans aucun salon, elle vous le dit.

⚠ /names #salon fonctionnait déjà, lui. La commande n'était pas cassée : elle l'était seulement sous la forme que tout le monde tape.

📌 Au passage, une réponse du serveur qui ne rafraîchit aucune liste s'affiche désormais au lieu d'être avalée. Un geste sans effet doit se voir.

🔴 Le symbole ♂ ♀ n'avait aucun rapport avec l'ASV que vous déclarez

Le petit symbole à côté des pseudonymes venait du site — du profil « rencontres », et de lui seul. Quelqu'un qui déclarait son âge, son sexe et sa ville à l'ouverture d'OverScript, sans avoir de profil sur le site, n'avait donc aucun symbole : il venait pourtant de dire qui il était.

Désormais, à défaut de profil sur le site, le symbole se lit dans ce que vous avez déclaré à la connexion. Son infobulle le précise, pour qu'on sache d'où il vient.

⚠ « Secret » n'affiche toujours rien, et c'est voulu : dire « je ne le dis pas » ne doit pas devenir un marqueur qui le signale. L'écran de connexion vous le dit maintenant quand vous le choisissez — avant, on pouvait croire que sa déclaration n'avait pas marché.

⚠ Sur les gros salons, les symboles s'arrêtaient au 200ᵉ pseudonyme

Au-delà, plus rien — sans que rien le dise, et sans qu'on sache lesquels. Ils sont maintenant demandés en plusieurs fois.

⚠ Avec deux réseaux ouverts, un symbole pouvait se poser sur la mauvaise personne

Un même pseudonyme désigne deux personnes différentes sur deux réseaux. Les symboles de l'un s'affichaient brièvement sur les présents de l'autre en changeant de fenêtre. Chaque réseau a maintenant les siens.

0.6.23

Les rencontres s'invitent dans la liste des présents — vous voyez d'un coup d'œil qui cherche quoi, et vous ouvrez un profil sans quitter le chat.

🆕 Un symbole de sexe et de webcam à côté du pseudo

Dans la liste des présents d'un salon, chaque personne ayant un profil « rencontres » visible porte désormais un petit symbole : ♂ ♀ ⚧ ⚲ selon son profil, et 🎥 quand sa webcam est active — un signe d'activité en direct. Rien à activer : OverScript le lit sur le site du réseau où vous êtes connecté, et les symboles n'apparaissent que pour ceux qui ont rempli leur profil.

🆕 Un bouton « Profil » et « Voir le profil » au clic droit

Un nouveau bouton Profil dans la barre d'outils ouvre votre profil / trombinoscope pour le remplir (photo, situation, ce que vous cherchez, centres d'intérêt). Et un clic droit sur un pseudo propose Voir le profil : la fiche de la personne s'ouvre sans fermer votre conversation.

🆕 Changer un mot de passe sans couper votre connexion

Le panneau Connexion retient trois mots de passe : celui du serveur, celui du service de pseudos (OverNick) et celui d'opérateur. Jusqu'ici, la seule façon de les enregistrer était de cliquer Entrer sur le réseau : changer un mot de passe imposait donc de quitter le réseau et d'y revenir, pour un geste qui n'a rien à voir avec le fait d'être connecté.

Un bouton « Enregistrer sans se connecter » est apparu dans le cadre Coffre, sous les champs de mot de passe. Il écrit ce que vous venez de taper et vous laisse où vous êtes — votre conversation continue.

Et il vous dit ce qui suit, parce que ce n'est pas devinable :

  • le mot de passe du service et celui d'opérateur servent tout de suite : un /identify ou un /oper emploiera le nouveau, sans reconnexion ;
  • celui du serveur ne vaudra qu'à la prochaine connexion — il est envoyé avant même que le réseau vous connaisse, il ne peut pas l'être après ;
  • un champ laissé vide ne perd rien : il veut dire « je n'y touche pas ». Le bandeau le dit en clair quand vous n'avez rien retapé, pour que vous ne recommenciez pas en croyant avoir effacé quelque chose.

Au passage : les boutons « Oublier » de ce même cadre annonçaient leur résultat dans la conversation, c'est-à-dire derrière le panneau, donc invisible. Un clic sans retour fait croire que le clic n'a pas pris, et l'on reclique sur un bouton qui a déjà fait son travail. Ils répondent maintenant dans le panneau lui-même.

🔧 « a rejoint » s'écrit enfin correctement — et neuf autres fautes avec lui

La ligne affichée à chaque arrivée dans un salon disait « à rejoint » — la préposition au lieu du verbe. C'était la ligne la plus vue du client. Deux autres l'accompagnaient : « a quitte » et « a ete expulse », sans accents.

En cherchant s'il en restait, il en restait : « l'acte est signale aux opérateurs » (le message sur /samode), « rien n'a ete écrit » du coffre, « le paquet a ete confié », « rien n'a ete envoyé », et « aucun salon a quitter » — où c'est la préposition qui manquait. Dix en tout.

Le français de l'application avait déjà été repassé une fois. Ces dix-là y avaient survécu, parce que rien ne les gardait : une correction corrige, elle n'empêche pas de revenir. Un contrôle refuse désormais ces formes à chaque campagne.

🔧 Votre propre expulsion s'affiche dans le bon salon

Quand vous étiez expulsé d'un salon, la nouvelle allait dans la fenêtre que vous regardiez à cet instant — pas dans celle du salon concerné. Si vous lisiez ailleurs, elle atterrissait dans une conversation sans rapport, et le salon d'où vous veniez d'être sorti ne portait aucune trace. Désormais la ligne apparaît dans le salon quitté, où vous la retrouverez en remontant l'historique ; l'alerte immédiate, elle, reste affichée là où vous êtes.

🔧 Une commande refusée dit maintenant OÙ elle vit

/sajoin répondait « la commande SAJOIN n'est pas permise par OverScript ». C'était exact, et trompeur : la phrase laissait croire que la chose était impossible. Elle ne l'est pas — SAJOIN existe, chez les services, à la disposition des opérateurs IRC. Le refus donne désormais la ligne à taper : /msg OverHub SAJOIN <pseudo> <#salon>. Même chose pour /sapart et /sanick, qui s'appelle SVSNICK là-bas.

Signalé depuis le client par SerVuS, qui a cherché le défaut dans OverScript alors que la commande existait depuis toujours ailleurs. Un refus qui ne dit pas où regarder ferme une question dont la réponse existe.

0.6.22

Vous voyez à quel palier tourne le réseau auquel vous êtes connecté.

🆕 Le palier du réseau, dans le cadre « Serveur »

Le cadre « Serveur », à gauche, indique désormais le palier du réseau où vous êtes connecté — Minimum, Standard ou Complète. OverScript le lit directement sur le réseau, sans rien à faire de votre part ; il n'apparaît que lorsque le réseau l'annonce.

0.6.21

Les rencontres arrivent dans OverScript — profils et visio en direct, avec caméra et micro.

🆕 Une section « Rencontres » (visio, webcam et micro)

Un nouveau bouton Rencontres dans la barre d'outils ouvre une fenêtre dédiée : les profils, la recherche par distance, et surtout la visio en direct entre membres — caméra et micro. La fenêtre affiche la partie rencontre du site ; le son et l'image vont de pair à pair, rien n'est enregistré.

Sa caméra et son micro sont isolés du reste du client : ils ne s'ouvrent qu'ici, au clic, et seulement pour le site. Le client IRC, lui, n'y a jamais accès.


0.6.20

La partyline des robots dans sa propre fenêtre, et la fin des tentatives de connexion qu'on ne pouvait pas arrêter.

🆕 Une fenêtre pour la partyline des robots

Demandée par SerVuS le 02/09. Les robots Eggdrop d'un réseau se parlent entre eux sur une ligne à part, la partyline — jusqu'ici invisible depuis le client.

Elle a maintenant sa propre fenêtre, comme le journal des versions : on peut la poser où l'on veut, la redimensionner, la laisser sur un second écran, et continuer à discuter pendant qu'on la lit.

Les robots s'y trouvent tout seuls. Il n'y a rien à déclarer : le client découvre les consoles ouvertes et les propose. La commande /consoles affiche ce qu'il a trouvé.

⚠ Un port qui s'ouvre mais ne répond rien n'est plus compté comme un robot. Il était annoncé « trouvé », et la fenêtre restait vide sans dire pourquoi.

🔴 « Impossible d'arrêter les tentatives » — corrigé, cette fois en entier

Sur un serveur injoignable, le client réessayait sans fin, et rien ne pouvait l'arrêter. Le défaut avait deux moitiés, et seule la première avait été traitée :

  • une simple poignée de main réseau suffisait à faire croire que le serveur avait répondu — alors qu'un pare-feu, un relais ou un serveur saturé la donnent aussi, sans qu'aucun serveur soit là ;
  • et même une fois cela corrigé, le compteur de tentatives repartait à zéro à chaque cycle, si bien que la limite d'abandon n'était jamais atteinte.

Mesure : zéro abandon en quatre secondes d'essais, là où il en fallait un. Le client renonce désormais pour de bon, et le dit.

📌 Au passage : après une connexion réussie, la reconnexion repart au délai le plus court. Une session ayant connu quelques ratés au démarrage n'attendait plus que deux minutes entre chaque essai, pour le reste de la soirée.

🔴 La connexion se coupait quand beaucoup de lignes arrivaient d'un coup

En rejoignant un gros salon, ou sur une rafale de messages, la liaison pouvait tomber. Le client mesurait le volume reçu au lieu de la longueur d'une ligne : quarante kilo-octets de lignes parfaitement normales déclenchaient la même protection qu'une ligne démesurée.

⚠ Ce qui s'affichait mal

  • La bannière d'accueil d'un robot annonçait « Eggdrop » en dur, même quand c'est OverBot qui répond — et OverBot restait alors sans nom.
  • La barre de mémoire annonçait « 140 % » aux lecteurs d'écran sur une mesure aberrante. Le dessin, lui, était déjà borné : seule la personne à qui cette barre sert vraiment recevait le chiffre faux.

⚠ Des commandes partaient dans le vide

En envoyant beaucoup de commandes à la suite, certaines étaient perdues sans un mot. Le client annonçait « demande servie » pour une ligne qui ne partirait jamais.

0.6.19

Le journal des versions dans sa propre fenêtre, et la fin des réseaux qui revenaient à l'écran après qu'on les a fermés.

🔴 Un réseau fermé revenait tout seul à l'écran

En cliquant la croix d'un réseau dans la liste, il se fermait — puis réapparaissait une fraction de seconde plus tard, avec sa ligne « Serveur » intacte. On refermait, il revenait.

La cause : le client prévient le processus interne qu'il ferme la connexion, et celui-ci répond « voilà, ce réseau est hors ligne ». Cette réponse, parfaitement normale, recréait ce que la croix venait de retirer.

Aucun de nos essais automatiques ne le voyait : tous simulaient un interlocuteur qui ne répond rien.

Le journal des versions est maintenant une fenêtre à part

Il s'affichait par-dessus la conversation, sans pouvoir être déplacé ni posé sur un second écran. C'est désormais une vraie fenêtre, indépendante : on peut la mettre où l'on veut, la redimensionner et continuer à discuter pendant qu'on la lit.

Demandé par SerVuS.

Le journal se lit palier par palier, en couleurs

Chaque changement d'une version porte son numéro — 1, 2, 3 —, et la numérotation repart à 1 à la version suivante. Les points les plus importants sont en rouge, ceux qui demandent seulement d'être connus en ambre, les corrections ordinaires en vert. Une légende dit ce que les couleurs veulent dire.

La fenêtre a aussi une vraie barre de défilement sur le côté, accordée au thème sombre — sur un long journal, elle est le seul repère de progression.

/close ferme le réseau, comme la croix

La commande refusait sur une fenêtre « Serveur » — « le tampon serveur ne se ferme pas » — alors que la croix de la même fenêtre fermait bien le réseau. Le même geste marchait à la souris et pas au clavier.

Les trois façons de se déconnecter font maintenant la même chose

Le bouton de la barre, la commande /disconnect et la croix d'un réseau suivaient chacun leur propre chemin. Ils partagent désormais le même ménage — avec une seule différence, voulue : la croix ferme le réseau et l'oublie, tandis que le bouton et la commande le gardent hors ligne pour qu'on puisse s'y reconnecter sans tout ressaisir.

0.6.18

Dix corrections, une seule famille de défaut : une fenêtre, une liste ou un état qui survivait à ce qu'il représentait. Le client montrait quelque chose qu'il ne savait plus vrai.

Se déconnecter ferme vraiment les salons

Après un clic sur Se déconnecter, les salons restaient à l'écran avec la liste des présents affichée — alors qu'on ne recevait plus rien. Ces pseudos étaient ceux d'avant la coupure : le client montrait un état qu'il ne connaissait plus.

Les salons se ferment désormais, quel que soit le chemin employé — le bouton de la barre, la commande /disconnect, ou la croix d'un réseau.

Signalé par SerVuS le 5 septembre 2026.

Pendant une reconnexion, la liste des présents se vide

Quand le lien tombe tout seul, le client retente et garde vos salons ouverts — c'est voulu, vous les retrouvez si la connexion revient. Mais il continuait d'afficher les présents d'avant la coupure, comme si tout le monde était encore là.

La fenêtre reste, la liste se vide. Elle se remplira de nouveau quand le serveur répondra.

Des fenêtres qu'on ne pouvait plus jamais fermer

Un /topic ou un /names sur un salon où vous n'êtes pas entré ouvrait une fenêtre que rien ne pouvait plus refermer — ni une déconnexion, ni un changement de réseau. Elle s'accumulait dans la liste, définitivement.

Quitter le serveur ferme vos salons

Certains serveurs vous renvoient votre propre départ. Le client vous retirait alors de la liste des présents… sans fermer les salons. Vous restiez devant des fenêtres où vous n'étiez plus, avec une liste amputée de vous seul.

Quand le serveur vous met dehors, le client le suit

Un serveur qui ferme votre lien envoie un message d'adieu. Le client l'affichait puis ne faisait rien : si le serveur n'avait pas encore raccroché, vous restiez jusqu'à quatre minutes devant un client qui semblait connecté et ne répondait plus.

Il ferme maintenant le lien tout de suite — sans tenter de se reconnecter, car un serveur qui vous met dehors a une raison.

Le client vous dit quand vos lignes ne partent pas

Si vous écrivez plus vite que le serveur n'accepte, les lignes s'accumulent puis les suivantes sont abandonnées. Le client le notait dans son journal, sans rien vous dire à l'écran. Vous le voyez désormais, avec le nombre de lignes concernées.

La fenêtre « Serveur » de départ se ferme enfin

Celle qui existe avant toute connexion, et qui sert de journal d'ouverture : elle portait une croix qui ne faisait rien. Elle se ferme, dès lors qu'il reste une autre fenêtre à regarder.


0.6.17

La case « télécharger les mises à jour » n'agissait que dans un sens

Dans la fenêtre Connexion, décocher « télécharger les mises à jour automatiquement » laissait l'interrupteur Mise à jour de la barre sur On. Dans l'autre sens, tout marchait — d'où une impression de réglage capricieux.

En réalité la case n'agissait pas du tout : elle n'était lue qu'au moment de se connecter. Elle affichait un état sans jamais le changer, ce qui est pire qu'un réglage absent — on croit avoir décidé quelque chose.

Les deux vues agissent désormais toutes les deux, et si l'enregistrement échoue, la case revient à l'état réel plutôt que de rester sur ce que vous venez de cliquer.

Signalé par SerVuS le 5 septembre 2026.

Une alerte de service qui vous trouve où que vous soyez

Un message d'un service du réseau vous atteint maintenant quel que soit le salon ou la fenêtre où vous êtes.

Parler assez lentement pour ne pas se faire couper

Le client règle sa cadence d'envoi sur ce que le serveur accepte. Une salve de messages — un collage un peu long, une commande qui en produit plusieurs — ne vous fait plus déconnecter pour excès de trafic.


0.6.16

Une modération qui vous SIGNALE, et ne décide jamais à votre place

Une liste de mots vivait dans le projet depuis le 31 août, écrite, commentée — et rien ne la lisait. C'est fait.

Quand vous allumez « Modération : On », le client repère les messages contenant un mot de votre liste, sur les salons où vous êtes opérateur, et vous le dit avec la commande toute prête :

⚠ modération — Quidam : « … » (insulte, gravité 2). Rien n'a été envoyé. Pour agir : /mode #salon -v Quidam

Rien n'est envoyé sans vous. Pas de bouton, pas d'expulsion automatique — c'est délibéré, et c'est même le point le plus important de cette version. Une liste de mots ne voit pas la citation (« il m'a traité de … » est un signalement), ni l'ironie entre gens qui se connaissent, ni la phrase blessante qui n'emploie aucun de ces mots. Une expulsion sur un faux positif coûte plus cher que le message qu'elle empêche. Vous verrez d'abord ce qu'elle repère ; l'automatique, si vous le voulez, viendra après.

Elle ne regarde jamais vos messages privés — vous n'y avez aucun pouvoir de modération — ni vos propres messages, ni les salons où vous n'êtes pas opérateur.

La liste est à vous

Au premier allumage, une liste de départ est copiée dans vos données personnelles (moderation-mots.json). Ouvrez-la, retirez ce qui ne vous convient pas, ajoutez ce qui manque : aucune liste écrite par quelqu'un d'autre ne connaît votre salon. Chaque mot porte sa gravité (1 avertir, 2 retirer la voix, 3 expulser) et un réglage mot_entier qui évite qu'un mot court frappe à l'intérieur d'un mot innocent.

⚠ Si votre fichier devient illisible — une virgule en trop suffit — il n'est pas écrasé : le client repart de la liste de départ pour la séance et vous le dit. Votre travail reste là, à réparer.

La modération est éteinte au départ

Elle le reste tant que vous ne l'allumez pas, et si le fichier de réglages est illisible, elle reste éteinte plutôt que de s'allumer par accident.

0.6.15

Le sujet d'un salon ne passe plus sous le bouton

Signalé par SerVuS, et introduit par la version précédente : un sujet un peu long débordait de son cadre et venait se glisser sous « Options Salon ». Le nom et le sujet restent centrés, le bouton reste à sa place, quelle que soit la longueur du texte.

Le cadre « Serveur » se replie

Les détails de la connexion prenaient toute la hauteur du panneau de gauche, même quand on ne les regardait pas. Une flèche les replie maintenant d'un clic, et la liste défile si elle s'allonge. Votre choix est retenu d'un lancement à l'autre.

Un clic droit sur un pseudo

Sur n'importe quel nom de la liste des présents, le clic droit ouvre un menu :

  • Qui est-ce ? — le WHOIS : nom réel, serveur, salons, inactivité
  • Où est-il ? — le WHO
  • Lui écrire — ouvre la conversation privée, comme le clic gauche

Le résultat s'affiche dans sa propre fenêtre, pas au milieu de la conversation : vous gardez sous les yeux ce que vous étiez en train de lire. La fenêtre dit qu'elle cherche, puis ce qu'elle a trouvé — et le dit aussi quand le serveur ne répond rien.

Écrire en gras, en italique, souligné, en couleur

Une barre est apparue au-dessus de la zone de saisie : G, I, S, et les seize couleurs d'IRC.

Ce sont des interrupteurs qui restent : vous choisissez le rouge une fois, et vous écrivez en rouge jusqu'à ce que vous changiez d'avis — y compris après avoir fermé le client. « Aucune » remet tout à plat.

⚠ La zone de saisie montre ce que vous allez envoyer. Sans cela, on découvre la couleur de son message une fois parti.

📌 C'est différent de l'interrupteur « Couleur Texte : On/Off », qui reste : celui-là décide si vous voyez les couleurs des autres, celui-ci décide de ce que vous envoyez.

Les nouveautés s'affichent après une mise à jour

Cette fenêtre-ci, justement : au premier lancement qui suit une mise à jour, le journal des versions s'ouvre tout seul. Une fois, puis plus jamais jusqu'à la prochaine.

⚠ Une installation neuve ne le voit pas — l'historique d'un logiciel qu'on découvre n'apprend rien à personne. Et si vous sautez plusieurs versions, vous les voyez toutes.


0.6.14

L’en-tête du salon se lit d’un coup d’œil

Demandé par SerVuS : le nom du salon et son sujet sont maintenant centrés dans le cadre, et le bouton « Gérer » s’appelle « Options Salon » — il ne disait pas ce qu’il ouvrait.

Le bouton est aussi plus grand : la cible du doigt a doublé.

Il vous dit d’un regard si vous pouvez agir

Ce bouton mène aux modes et au sujet du salon, mais les modifier demande d’être opérateur. Rien ne le laissait deviner avant d’avoir ouvert le panneau et trouvé ses champs grisés.

Désormais il s’éclaire dès que vous en avez le droit — que vous soyez opérateur du salon, ou opérateur du réseau. Et il s’allume au moment même où quelqu’un vous donne l’op, sans qu’il faille rouvrir le salon.

⚠ Il reste cliquable dans tous les cas : consulter les modes d’un salon n’a jamais demandé de grade, et ce n’est pas cette version qui va le retirer. C’est sa couleur qui change, pas son accès.

📌 Les réseaux qui distinguent le fondateur (~) et l’administrateur (&) de l’opérateur sont pris en compte : ces deux grades ouvrent le bouton, puisqu’ils sont au-dessus de @.


0.6.13

Les deux interrupteurs gardent enfin leur état

Signalé par SerVuS : « si mise à jour en mode On > redémarrage = Mise à jour en mode Off ».

Le réglage était bel et bien écrit sur le disque. Ce qui manquait, c'est qu'on le relise au démarrage : la relecture existait, mais accrochée au remplissage d'un profil de connexion. Or l'ouverture a quatre issues, et trois n'y passaient jamais — le bouton gardait alors la valeur inscrite dans la page.

La couleur du texte se retient désormais elle aussi. Elle ne vivait que le temps d'une session, et c'était un choix assumé — « un confort de lecture, pas un réglage à retenir ». Le vécu a tranché autrement : un confort qu'il faut reposer chaque jour n'en est pas un.

Les deux boutons disent ce qu'ils ont fait

Signalé par SerVuS : « aucun message d'avertissement en cas de modification de mode […] pour savoir si le mode est bien pris ou pas ».

Seul l'échec parlait. Un interrupteur qui change de libellé sans un mot laisse la même question que celui qui ne fait rien — et le doute était fondé, puisque l'état ne survivait pas au redémarrage.

La mémoire prévient au lieu de se contenter d'une couleur

Demandé par SerVuS : « une alerte […] en cas de dépassement de 80 % et une mise en garde arrivant à 70 % ».

La barre changeait de teinte, sans un mot. Deux paliers parlent maintenant, 70 % et 80 %, et le retour au calme se dit une fois. La mesure arrive toutes les deux secondes : rien n'est annoncé tant qu'on reste dans le même palier, et il faut redescendre nettement sous un seuil pour en sortir — sans quoi une machine qui oscille autour de 80 % parlerait des dizaines de fois par minute.

Une seconde garde répond à l'autre moitié de la question — la machine est chargée, mais est-ce moi ? : passé 1 Go, OverScript ne subit plus une charge, il fuit, et le dit.


0.6.12

Le français d'OverScript retrouve ses accents.

Depuis le début, les textes de l'application étaient écrits sans accents et sans apostrophes : « identification envoyee a overnick », « vous etes maintenant operateur IRC », « demande d operateur ». Ce n'était pas un défaut d'affichage — les accents n'avaient jamais été tapés.

Environ 390 textes ont été repris : les menus, les boutons, les infobulles, les messages du fil de conversation, et les réponses du serveur traduites par le client. Ce que vous lisiez devient :

identification envoyée à OverNick vous êtes maintenant opérateur IRC demande d'opérateur envoyée pour SerVuS — la réponse du serveur suit

⚠ Rien d'autre ne change dans cette version. Aucun comportement, aucun réglage : seulement le texte affiché.

📌 Signalé par SerVuS, comme le bouton « Ouvrir le site » de la version précédente. Les retours envoyés depuis l'onglet Aide aboutissent — c'est le deuxième d'affilée.

0.6.11

Le bouton « Ouvrir le site » ouvre enfin le site.

Dans l'onglet Aide, ce bouton menait au point de mise à jour — l'adresse technique que le client interroge pour savoir s'il existe une version plus récente. Le navigateur s'ouvrait donc sur une ligne de texte brut, {"produit":"OverScript","version":…}, au lieu de la page d'accueil.

Signalé depuis le client lui-même, par le formulaire de l'onglet Aide. C'est exactement ce à quoi il sert, et c'est ce qui a permis de le corriger.

⚠ Rien d'autre ne change dans cette version. Si vous n'utilisez pas ce bouton, la 0.6.10 vous convient tout aussi bien.

0.6.10

La mise à jour fonctionne enfin sous Linux.

Jusqu'ici, un poste Linux voyait bien qu'une nouvelle version existait, et le bandeau proposait de l'installer. Ce qui se téléchargeait alors était l'installateur Windows — quatre-vingt-dix mégaoctets — et l'installation était refusée au dernier moment, avec un message expliquant qu'elle n'existe que sous Windows. Il fallait tout reprendre à la main depuis le site.

Désormais, chaque système reçoit son paquet :

  • Windows — l'installateur se lance, remplace le client et le rouvre. Rien ne change.
  • Debian et Ubuntu — le paquet .deb est confié au gestionnaire de paquets de votre bureau, qui vous demandera votre mot de passe comme il le fait pour n'importe quel logiciel. OverScript ne réclame aucun droit d'administrateur, et ne se ferme pas tout seul : fermez-le vous-même avant de valider l'installation.
  • AppImage — la nouvelle version est téléchargée, vérifiée, et son dossier s'ouvre. Il n'existe pas d'installateur pour ce format : remplacez votre fichier par celui-là et rendez-le exécutable. Le message vous dit où il se trouve et sous quel nom.

⚠ Si vous êtes déjà sous Linux avec la 0.6.9, cette mise à jour ne vous parviendra pas toute seule — c'est justement le défaut qu'elle corrige. Prenez la 0.6.10 sur la page Télécharger du site, une fois ; les suivantes arriveront normalement.

Ce qui a été vérifié : un client qui tourne depuis une AppImage se voit proposer une AppImage, jamais un .deb — sans quoi il installerait un second OverScript à côté du sien et rouvrirait l'ancien en croyant s'être mis à jour. Un paquet dont l'empreinte a changé depuis son téléchargement n'est confié à personne. Et rien n'est jamais exécuté : un .deb est remis au système, une AppImage n'est que déposée.

⚠ macOS n'est toujours pas là, pour la même raison qu'avant : un paquet Mac doit être signé par Apple pour s'ouvrir sans être annoncé comme « endommagé ».

0.6.9

OverScript existe maintenant pour Linux.

Deux formes, selon ce que vous voulez faire :

  • Sans rien installer — un fichier .AppImage unique. Rendez-le exécutable et lancez-le : il tourne sur n'importe quelle distribution, sans droits d'administrateur et sans rien laisser sur la machine. C'est l'équivalent de la version portable de Windows.
  • Installé pour de bon — un paquet .deb pour Debian et Ubuntu, avec son entrée dans le menu, son icône, et une désinstallation propre par le gestionnaire de paquets.

Les deux se téléchargent depuis la page Télécharger du site.

Ce qui a été vérifié avant de les mettre en ligne : le paquet s'installe dans une Debian vierge, il réclame et obtient les seize bibliothèques dont il a besoin, l'application démarre et sa fenêtre s'affiche, et la désinstallation ne laisse rien derrière elle.

⚠ Aucun bureau particulier n'est imposé. GNOME, KDE, XFCE, Cinnamon, MATE — tous conviennent, sous X11 comme sous Wayland. Ce qu'il faut est un affichage graphique, ce qui va de soi pour un client de discussion.

⚠ macOS n'est pas encore là, et ce n'est pas un oubli : un paquet Mac doit être signé par Apple pour s'ouvrir sans être annoncé comme « endommagé ». Tant que cette signature n'existe pas, mieux vaut ne rien proposer que proposer quelque chose qui fait peur au premier lancement.

0.6.8

Dix demandes, et la fenêtre cesse de ramer quand la conversation s'allonge.

Les pseudonymes retrouvent leur symbole dans le fil. Un @, un % ou un + s'affichait dans la liste des présents mais disparaissait devant chaque message : impossible de voir qui parlait avec quel grade sans aller vérifier à côté.

Les couleurs IRC s'affichent. Le client les ignorait complètement — le gras, l'italique, le souligné et les seize couleurs passaient en texte brut, ou pire, laissaient leurs codes visibles. Un interrupteur Couleur Texte permet de tout éteindre d'un clic pour qui préfère le texte nu.

Un onglet Serveur se ferme, par une croix comme les autres. Fermer un réseau ferme aussi ses salons et ses privés, sans laisser d'onglets orphelins.

Chaque serveur se replie : un chevron masque ses salons quand la liste devient longue. Le salon actif reste visible, même replié — sinon on perdrait de vue ce qu'on est en train de lire.

La fenêtre List ne se referme plus toute seule en entrant dans un salon, et elle a ses trois boutons : réduire, agrandir, fermer.

Un interrupteur Mise à Jour, à côté de l'aide, pour couper la recherche automatique sans aller dans les réglages.

Les barres de la bannière s'animent, à la taille et aux couleurs qu'elles avaient déjà.

Une barre de mémoire, en direct. Elle montre où en est la MACHINE, et nomme à côté la part qu'OverScript prend. Deux seuils la font passer à l'avertissement puis à l'alerte. ⚠ Faute de mesure, elle DISPARAÎT au lieu de retomber à zéro : une jauge vide se lirait « tout va bien », ce qu'on ne sait justement pas.

Un limiteur pour les avalanches. Quand une même source parle trop vite, ses messages cessent de s'afficher — mais rien n'est jeté et rien n'est coupé. Le silence s'annonce à son début et à sa fin, avec le nombre de messages passés : un client qui devient muet sans le dire est indiscernable d'un client en panne. La limite est par source, jamais globale — sans quoi un seul importun ferait taire tout le salon.

Et l'affichage n'est plus quadratique : au-delà de quelques centaines de lignes, chaque nouveau message redessinait tout le fil. La fenêtre ralentissait d'autant plus qu'on l'avait utilisée.

0.6.7

Ce que le serveur vous répond en entrant dans un salon se lit enfin.

Quand un salon vous renvoie ailleurs, on vous le dit. Sur certains réseaux, demander ##chat vous dépose en réalité dans ##chat-overflow. Jusqu'ici la seule trace était une ligne brute au milieu de l'écran : on croyait être là où l'on avait demandé, et l'on parlait à un salon qu'on n'avait pas choisi. Désormais : « ##chat vous a renvoyé vers ##chat-overflow : vous n'êtes PAS dans ##chat ».

Et l'âge d'un salon s'affiche en français, au lieu d'un horodatage brut.

/server -m n'ouvre plus de fenêtre pour rien. Il ajoute le réseau à la fenêtre où vous êtes — ce que celle-ci sait faire depuis qu'elle porte plusieurs serveurs. La fenêtre séparée reste possible, sous /server -w, pour qui travaille sur deux écrans.

⚠ Ces deux défauts ont été trouvés sur un vrai réseau, pas au banc. Ils arrivent à chaque entrée dans un salon, et aucun des six cents contrôles du projet ne les voyait.


0.6.6

Deux corrections visibles, et beaucoup de mesure derrière.

Le journal ne trahit plus vos conversations, ni vos clefs de salon. Le mode discret écrivait pourtant le texte de chaque message, privés compris ; et MODE #salon +k <clef> partait en clair. (Déjà décrit en 0.6.3, publié ici pour la première fois.)

Un bouton qui annonçait « Télécharger » ouvrait en fait une page web. Il dit désormais ce qu'il fait.

Vous pouvez oublier un seul mot de passe. L'écran annonçait « mot de passe : serveur, opérateur » sans jamais proposer de les retirer — le seul recours était « Oublier », qui emporte le profil entier.

Chaque profil peut s'ouvrir au démarrage, et plusieurs à la fois : chacun dans son propre onglet. Sinon le panneau se pré-remplit avec le dernier profil employé, et attend votre clic.

Ce qui a changé sans se voir

Cinq parties du client n'étaient gardées par rien, et le contrôle complet les avait nommées. Elles le sont maintenant :

  • le fichier qui ouvre la fenêtre — bac à sable, isolation, refus de naviguer ;
  • la vérification de mise à jour, qui tourne chez vous toutes les heures ;
  • les commandes que vous tapez : /join, /msg, /oper, /quit… trois branches sur vingt étaient éprouvées ;
  • l'envoi du panneau de connexion, seul endroit où un mot de passe tapé traverse l'écran ;
  • ce qui s'ouvre au démarrage.

263 constats sur la vraie fenêtre contre 172 en 0.6.1, et 241 atteintes volontaires au code pour vérifier qu'ils mordent. Un mot de passe ne part plus qu'au serveur enregistré dans son profil.

0.6.5

Rien ne change à l'usage — tout change à la mesure.

Deux parties du client n'étaient gardées par rien, et le contrôle complet les avait nommées. Elles le sont maintenant.

Le fichier qui ouvre la fenêtre est enfin exécuté par un banc. Ses 415 lignes n'étaient lues que comme du texte : un réglage de sécurité modifié y serait passé sans que rien ne rougisse. Le banc le fait désormais tourner et regarde ce qu'il construit — bac à sable, isolation, absence d'accès système dans la page, refus de naviguer, refus d'ouvrir une seconde fenêtre.

Huit atteintes volontaires à ces réglages ont été essayées : les huit sont détectées. Aucune ne l'était ce matin.

Et l'envoi des rapports entre dans la passe de vérification. C'était le seul fichier du client à en être absent — et le seul dont l'absence n'était signalée nulle part. Douze atteintes posées, onze détectées ; la douzième bloque le banc au lieu de le faire échouer, ce qui est aussi une détection, et c'est écrit.

0.6.4

Oublier un seul mot de passe. L'écran annonçait « mot de passe : serveur, opérateur » depuis toujours, et aucun bouton ne permettait de les retirer : le seul recours était « Oublier », qui emporte le profil entier. Trois boutons apparaissent maintenant, un par mot de passe réellement retenu.

⚠ Le code existait du début à la fin — canal, implémentation, tout — et rien ne l'appelait. C'est le défaut récurrent de ce projet, retrouvé dans le coffre.

Un mot de passe ne part plus qu'au serveur qui l'a reçu

L'interface choisissait à la fois l'adresse du serveur et le profil du coffre, sans qu'aucun contrôle ne les relie. Rien n'empêchait, en principe, de demander une connexion vers un hôte en présentant le profil d'un autre — et le mot de passe déchiffré serait parti là-bas.

⚠ Ce n'était pas exploitable : la page est notre propre code, sans accès au réseau ni au système, sous une politique de contenu stricte. Mais une garde qui n'existe que « parce que l'autre côté est sain » n'est pas une garde.

Le secret d'un profil ne sert désormais que sur l'hôte enregistré dans ce profil. La connexion part quand même — sans mot de passe, ce que le serveur dira lui-même — et le refus est écrit au journal : un secret qui ne part pas sans qu'on sache pourquoi se cherche une heure du mauvais côté.

0.6.3

Le journal ne trahit plus vos conversations

Le mode discret ne l'était pas. --journal-discret promettait « les évènements, sans les conversations » — et écrivait pourtant le texte de chaque message sur 120 caractères, privés compris. Mesuré sur un journal réel : 103 lignes en portaient.

Hors mode brut, ces champs ne laissent plus que leur longueur. Ce qui décrit l'échange — le salon, l'auteur, le canal — reste lisible : c'est la seule raison d'être de cette trace.

La clef d'un salon partait en clair. MODE #salon +k <clef> ne passait par aucun des deux masquages, alors que celle d'un JOIN était masquée depuis longtemps. La clef atterrissait deux fois dans le journal.

⚠ La garde était posée sur un chemin et pas sur son voisin — c'est le motif qui coûte le plus cher à ce projet.

L'outil qui devait attraper l'accident d'hier en était aveugle

Tools/blessures-restantes.js existe pour repérer une modification de test oubliée dans le code. Il ne pouvait pas voir celle qui a été publiée : sa règle exigeait que le texte d'origine ait disparu, or cette modification-là ajoutait une ligne sans rien retirer.

Il distingue désormais ce qu'il sait de ce qu'il ne peut pas savoir, et il refuse de répondre « intact » sur une question qu'il n'a pas su poser. Et il tourne maintenant avant chaque construction — il n'était appelé par rien.

Il a trouvé au passage une vérification devenue caduche par la refonte de la 0.6.0, qui aurait fait accuser du code juste.

0.6.2

🔴 Un correctif qui prime sur le reste

Le contenu chiffré du coffre traversait vers l'interface, dans les 0.6.0 et 0.6.1. Une seule ligne, glissée dans le code qui projette un profil vers l'écran, rendait toute la liste blanche inatteignable : les mots de passe chiffrés et les clefs de salon partaient avec le reste.

⚠ Ils restaient chiffrés, et l'interface n'a jamais su les lire — mais ce matériel n'a rien à faire de ce côté, et c'est la règle que ce coffre existe pour tenir.

C'est aussi ce qui cassait la liste des profils. Le panneau de connexion levait en la construisant, restait muet, et gardait ses valeurs par défaut : d'où l'impression qu'OverScript « ouvre toujours le même serveur malgré le profil enregistré ».

Rien à faire de votre côté : aucune donnée n'est sortie de votre machine, et vos profils sont intacts.

Les profils par serveur

Chaque profil porte son serveur — c'était déjà le cas dans le coffre, mais le démarrage ne s'en servait pas.

  • Une case « Ouvrir ce serveur au demarrage », par profil. Plusieurs peuvent la porter : chacun s'ouvre dans son propre onglet, ce que la 0.6.0 vient tout juste de rendre possible.
  • Sinon, le panneau se pré-remplit avec le dernier profil employé, et attend votre clic.

⚠ La différence est voulue : se connecter tout seul envoie un pseudo et un nom réel avant que personne ait relu. Cela ne se fait que sur une case cochée exprès. L'ASV, lui, ne part jamais sans être retapé.

Ce qui a permis à ce défaut de sortir

Deux bancs l'auraient vu — celui du coffre et celui du rendu. Aucun des deux ne tournait avec npm test : il leur faut Electron. Deux versions ont été publiées sans qu'ils aient tourné.

La garde vit désormais dans un banc qui tourne, et aucun paquet ne peut plus être construit sans que les trois suites passent d'abord.

0.6.1

Quand on vous appelle, ça se voit — et ça dit où.

Le salon où votre pseudo a été prononcé clignote trois fois, puis garde sa pastille jusqu'à ce que vous l'ouvriez. L'onglet Serveur porte un point : vous savez qu'on vous a appelé « quelque part là-dessous » sans déplier chaque réseau. Et une ligne apparaît là où vous êtes :

HL : Toto vous a appelé sur Overtchat · #!Overtchat!

⚠ Trois battements, pas une pulsation sans fin : un salon qui clignote indéfiniment devient un décor qu'on cesse de voir. Ce qui doit durer, c'est l'information, pas le mouvement.

⚠ Les appels d'un même salon se groupent en une seule ligne, qui se réécrit : « Toto et 2 autres vous ont appelé sur #test ». Dix minutes d'absence donneraient sinon trente lignes, et la trentième n'apprendrait rien de plus que la première. Ouvrir le salon referme le groupe.

Le pseudo surveillé est celui du réseau, pas un nom réglé quelque part. Vous êtes SerVuS ici et SerVuS_ ailleurs : les deux marchent, et la comparaison suit la casse annoncée par chaque serveur.

Un salon marqué s'efface dès que vous le regardez, quel que soit le chemin. La marque ne partait qu'au clic ; arriver par /msg, par l'annuaire ou en fermant l'onglet voisin y laissait la pastille allumée.

Les pannes laissent enfin une trace

Une erreur du client n'écrivait rien dans le journal. Ni une exception non gérée, ni une promesse rejetée sans catch — la forme la plus silencieuse, et la plus fréquente ici. C'est ce qui avait rendu la 0.4.3 muette : 513 constats verts, un client qui ne démarrait pas, et rien à relire.

Elles y vont désormais avec leur pile, sans rien afficher à l'écran : une fenêtre d'erreur à chaque hoquet apprend à cliquer « ok » sans lire.

0.6.0

Plusieurs réseaux dans une seule fenêtre — pour de vrai cette fois.

Se connecter à un second serveur ne ferme plus le premier. Chaque onglet Serveur porte sa propre connexion, ses propres salons, son propre pseudo, et ce que vous tapez part sur le réseau que vous regardez.

⚠ La 0.5.0 annonçait déjà cela, et c'était faux. L'affichage savait grouper plusieurs réseaux ; rien ne pouvait en créer un second. La fonction qui ouvre une connexion commençait par fermer la précédente — une seule ligne, mais elle annulait tout le reste. C'est le défaut que SerVuS a signalé deux fois : « si je lance une nouvelle connexion, ça me déconnecte ma fenêtre active ».

Ce qui change concrètement :

  • /server -m garde son sens — une fenêtre de plus — mais le panneau de connexion ajoute désormais un réseau au lieu de remplacer celui en cours.
  • /quit ne ferme plus que le réseau où vous êtes. Il vidait l'écran de tous les autres, ce qui ne se voyait pas tant qu'il n'y en avait qu'un.
  • Fermer la fenêtre ferme proprement tous ses réseaux. Sans cela, chaque connexion laissait une socket ouverte et un client fantôme sur le serveur.

⚠ Rien n'empêche d'ouvrir deux fois le même serveur. C'est voulu : deux pseudos sur un même réseau est un usage courant.

⚠ Ce qui reste à faire, et qu'il vaut mieux savoir

Le réseau visé par une commande est celui de l'onglet regardé, annoncé au moment où vous changez d'onglet. Porter la cible sur chaque commande serait plus robuste — une commande envoyée dans la fraction de seconde qui suit un changement d'onglet pourrait viser le réseau d'avant. Cela demande de reprendre une vingtaine d'appels des deux côtés du client ; le défaut corrigé ici était bien plus grave.

Les profils restent globaux : ils ne se rattachent pas encore à un serveur donné. C'est le chantier suivant.

0.5.2

« réservé : non » sur un pseudo qui l'est. Le client posait bien la question au serveur — c'est ce que corrigeait la 0.5.1 — mais il lisait mal la réponse. Le numérique dont il déduisait la réservation se lit, sur ce réseau, « vous êtes identifié pour ce pseudo » : le serveur ne l'envoie donc jamais tant que vous ne l'êtes pas, et son absence ne dit rien d'une réservation. De cette absence, le client concluait « non ».

Il applique désormais la seule règle qui vaille sur tous les serveurs : être identifié entraîne être réservé, et jamais l'inverse. Tant que rien ne l'établit, la ligne affiche « … » — on ne sait pas, et on le dit.

Un rapport d'incident n'est plus perdu quand le site ne répond pas. Il est gardé sur votre disque, survit à la fermeture du client, et repart tout seul dès que la connexion revient. L'écran distingue les deux cas : un site muet n'est pas un refus, et un rapport en attente vous est annoncé comme tel.

⚠ Un site qui répond non — texte trop long, refus — n'est pas rejoué : la réponse ne changerait pas, et vous promettre un envoi qui n'arrivera jamais serait pire que de le dire tout de suite.

Le contrôle de mise à jour laisse une trace dans le journal. Il n'en laissait aucune : savoir si le minuteur battait encore demandait d'attendre le tour suivant. L'écran, lui, garde son silence — un client qui annonce « je vérifie » toutes les heures apprend à être ignoré.

⚠ Une annonce de la 0.5.0 était fausse, et elle est retirée

La 0.5.0 annonçait « plusieurs réseaux dans une seule fenêtre ». L'affichage sait les grouper ; rien ne peut en créer un second. Une fenêtre porte une seule connexion, et /server -m ouvre donc une nouvelle fenêtre — c'est tout ce que le client sait faire aujourd'hui.

Ce qui avait été constaté, c'était le groupement à l'écran, sur des réseaux fabriqués par un banc. Jamais la voie qui en produirait deux vrais. Le chantier est rouvert, et la mesure qui manquait est nommée : /server -m doit produire deux sessions vivantes dans une fenêtre.

0.5.1

Le cadre Serveur disait « identifié : non » alors que vous l'étiez. Le client ne demandait jamais ses propres modes au serveur : il ne voyait votre identification que si le serveur la lui annonçait spontanément. Quand elle a eu lieu avant votre arrivée — identification automatique, ou reconnexion — rien ne venait plus le dire, et l'affichage restait faux. Il pose désormais la question.

Une ligne « réservé » apparaît, distincte d'« identifié ». Les deux ne disent pas la même chose : un pseudo peut être enregistré sans que vous y soyez identifié — c'est justement l'état où la protection finit par vous renommer.

⚠ Elle affiche « … » tant que le serveur n'a pas répondu. Annoncer « non » avant d'avoir demandé serait le défaut que cette version corrige.

Le PONG du serveur ne s'affiche plus dans les salons. Il apparaissait au milieu des conversations : la réponse au maintien de connexion n'était pas traitée, et tombait dans l'affichage brut.

0.5.0

Plusieurs réseaux dans une seule fenêtre. C'était le défaut le plus gênant au quotidien : /server fermait votre connexion en cours, et /server -m ouvrait une fenêtre de plus. Vous deviez donc choisir entre perdre un serveur et empiler les fenêtres.

Désormais, chaque réseau apparaît dans la même fenêtre, avec ses salons en retrait sous lui — la forme d'un client IRC classique. Vous passez de l'un à l'autre d'un clic.

Tout ce qui dépend du réseau suit celui que vous regardez : le pseudo affiché devant la saisie, votre grade dans le salon, les modes que le serveur autorise, votre statut d'opérateur. Écrire dans un salon envoie donc bien au bon réseau, ce qui paraît évident et ne l'était pas.

⚠ Le cadre Serveur décrit maintenant le réseau du salon ouvert. En passant d'un réseau à l'autre, ses informations changent — c'est voulu.

0.4.6

Vous pouvez signaler un problème sans quitter l'application. Le panneau Aide porte un nouveau volet « Signaler un problème » : vous écrivez ce qui s'est passé, et cela arrive directement chez nous.

⚠ Votre journal n'est jamais envoyé. Il peut contenir vos conversations. Ne partent que votre texte, votre version, votre système et votre architecture — de quoi savoir où chercher, rien de plus.

Et rien ne part tout seul. L'envoi demande un clic, jamais une erreur : un client qui téléphone à son éditeur dès qu'il trébuche est un client qu'on n'installe pas.

Préparation de la version macOS. La construction pour Mac est configurée — image disque et archive, pour les Mac Apple comme Intel. Elle ne peut pas être faite depuis Windows (Apple réserve les outils nécessaires à son système), et se fait donc sur place ; MACOS.md explique comment, et ce à quoi s'attendre.

⚠ Un blocage a été trouvé au passage : l'icône du projet faisait 256 px, et la construction Mac en exige 512 au minimum. Elle est désormais produite en 1024, sans rien changer pour Windows.

0.4.5

Le numéro de version est affiché en permanence, à côté du nom en haut à gauche — « OverScript v0.4.5 » — et repris dans le cadre Serveur. C'est le premier renseignement demandé quand on signale quelque chose ; il fallait jusqu'ici ouvrir le panneau d'aide ou remonter tout le fil.

Le cadre Serveur dit aussi votre système (Windows, macOS ou Linux, avec l'architecture) et la version du logiciel serveur, telle que celui-ci l'annonce à la connexion. Les deux questions que l'on pose toujours en premier sont donc côte à côte, lisibles sans ouvrir de panneau.

OverScript cherche désormais les mises à jour toutes les heures, et plus seulement au démarrage. Un client IRC reste ouvert des jours : une version sortie entre-temps passait inaperçue jusqu'au prochain lancement.

⚠ Il ne redit pas deux fois la même chose. Une version déjà signalée ne fait pas revenir le bandeau à chaque tour — en particulier après un clic sur « Plus tard ». Au prochain lancement, en revanche, elle est de nouveau proposée : un refus n'est pas définitif.

Et le cadre Serveur est enfin surveillé. Il n'était couvert par aucun contrôle — pas même les quatre lignes ajoutées la veille (identification, opérateur, hôte, ident). Huit constats l'éprouvent maintenant sur la fenêtre réelle.

0.4.4

L'écran de connexion ne s'ouvrait plus du tout. À chaque démarrage, la 0.4.3 affichait « l'écran d'ouverture n'a pas pu se préparer » et s'arrêtait là : plus de fenêtre de connexion, plus de profils, plus rien — il ne restait que la commande /connect. C'est corrigé.

La cause tient en une ligne. La refonte des cadres de la 0.4.3 a emporté un élément de la page, coffre-etat, que le code continuait d'écrire. Le premier accès rendait null, et toute la préparation de l'écran s'arrêtait là.

Et surtout, ce défaut ne pourra plus revenir sans qu'on le sache. Un nouveau banc croise tous les identifiants que le code va chercher — ils sont 84 — avec ceux que la page porte vraiment, et refuse le moindre écart. Il tourne avec les autres, à chaque fois.

⚠ Pourquoi rien ne l'avait vu : l'erreur était attrapée et transformée en message à l'écran, donc aucune trace ne remontait à la console — et le banc qui charge la vraie page écoute justement la console. La gestion d'erreur soignée avait masqué le défaut au banc.

0.4.3

Le bandeau de mise à jour restait affiché en permanence, vide. Un bouton « Plus tard » et un cadre vert sans texte, à chaque ouverture. Il devait rester caché tant qu'il n'y a rien à dire — il l'est.

L'écran de connexion ne déborde plus, et il respire. Le nom du profil sortait du cadre ; l'ensemble était trop à l'étroit. Le panneau est plus large et le débordement est corrigé.

Les cases « s'identifier » et « devenir opérateur » se lisent enfin. La case était à droite, loin de son intitulé, avec l'avertissement empilé dedans. Elles suivent maintenant la même présentation que les autres cases de l'écran : case à gauche, intitulé court, explication dessous.

Le réglage des mises à jour a quitté le bloc « Coffre » — il y disparaissait si vous ne cochiez pas « Retenir ce profil », alors qu'il ne concerne pas ce serveur mais l'application.

« Aide » rejoint « Connexion » et « Journaux » au lieu d'être relégué à l'autre bout de la barre.

Le cadre « Serveur » dit maintenant si vous êtes identifié et si vous êtes opérateur, avec votre hôte et votre ident tels que les autres les voient.


0.4.2

Le bandeau de mise à jour existe enfin — et il reste à l'écran.

Le bouton était bien construit, mais il était ajouté dans la conversation courante : le premier changement d'onglet l'effaçait. Et le message qui l'annonçait partait dans l'onglet « serveur », celui qu'on ne regarde plus une fois connecté. Il y a maintenant un bandeau en haut de la fenêtre, qui ne dépend d'aucun onglet.

Le client télécharge la mise à jour lui-même, avec l'avancement en mégaoctets, puis propose « Installer la mise à jour ». Si le site ne donne pas de quoi télécharger, le bouton ouvre la page — comme avant.

Et une case pour tout télécharger sans rien demander, dans le panneau de connexion. ⚠ Elle ne couvre que le téléchargement : l'installation ferme OverScript, et fermer votre client au milieu d'une conversation ne sera jamais automatique. C'est un réglage de l'application, pas de ce serveur : il vaut pour tous vos profils.


0.4.1

L'identification automatique fonctionne enfin sur le réseau Overtchat. Elle abandonnait à chaque connexion en disant qu'OverNick « ne se déclare pas service réseau » — alors que le serveur le déclarait bel et bien, à la ligne d'avant. Le client écoutait un numéro de réponse que ce serveur n'emploie pas.

Et « Devenir opérateur automatiquement » agit, au lieu de ne rien faire. La case se laissait cocher, le nom et le mot de passe se rangeaient au coffre, et il ne se passait rien — pas même un refus. Pire : la case se rouvrait décochée, si bien qu'enregistrer les réglages effaçait le choix sans le dire.

⚠ Si vous aviez coché « Devenir opérateur automatiquement » avant cette version, vérifiez qu'elle est toujours cochée : une visite aux réglages a pu l'éteindre.

Un service usurpé est un peu plus difficile à faire passer. Le client acceptait une réponse dont il ne lisait pas le texte ; sur les serveurs de cette famille, la même réponse sert à annoncer un simple volontaire à l'entraide. Il lit le texte désormais — et il reconnaît les trois formes sous lesquelles ce réseau annonce un service, selon que c'est le serveur ou les services eux-mêmes qui répondent.


0.4.0

Le panneau de gestion du salon ne propose plus que ce que vous pouvez réellement faire.

Jusqu'ici, il s'ouvrait en entier dès que vous aviez un grade dans le salon — un simple +v suffisait à rendre toutes les cases cliquables. Vous pouviez donc cocher « sur invitation seulement », voir la case bouger, et recevoir un refus du serveur.

Désormais, chaque champ s'ouvre selon le grade qu'il demande vraiment, et un champ éteint dit pourquoi : survolez-le, il vous répond « demande au moins « @ » (Opérateurs) » ou « demande d'être opérateur du réseau ».

⚠ Ce n'est pas une protection, et il ne faut pas le lire ainsi. C'est le serveur qui refuse ; le panneau évite seulement de vous proposer ce qui échouera. Un champ ouvert n'est pas une promesse que l'action passera.

D'où vient cette connaissance — et c'est le point qui compte : le serveur l'annonce lui-même, à la connexion. OverScript ne porte aucune table de « quel mode demande quel grade ». Il lit ce qu'on lui dit.

⚠ Sur un réseau qui n'annonce rien — c'est-à-dire partout ailleurs qu'Overtchat, pour l'instant — rien ne change : le panneau se comporte exactement comme avant. C'était la condition pour que ce confort n'enferme pas OverScript dans un seul réseau.

Aussi : OverScript sait maintenant que vous êtes opérateur du réseau, ce qu'il ignorait complètement. Le panneau vous ouvre donc ce que votre grade réseau vous permet, même sans @ dans le salon — comme le serveur le fait déjà — et la note du panneau le rappelle.


0.3.0

Le serveur d'en face n'est plus cru sur parole, et la fenêtre de gestion du salon dit enfin la vérité.

Corrigé — la fenêtre de gestion du salon

  • ⚠⚠ Elle montrait toutes les cases décochées sur un salon qui avait des modes. OverScript ne demandait jamais les modes en entrant dans un salon, et ne savait pas lire la réponse quand elle venait. Vous voyiez donc un salon « sans aucun mode », et décocher ce qui n'était pas coché envoyait une commande de travers. Les modes sont désormais demandés à l'entrée, et affichés tels qu'ils sont.
  • ⚠⚠ Un mode changé pendant que la fenêtre est ouverte ne s'y voyait pas. Il fallait la refermer et la rouvrir — et rien ne le disait.
  • ⚠⚠ Elle pouvait annoncer « sans grade dans ce salon » alors que vous êtes opérateur, et griser toutes ses cases. Elle comparait les pseudonymes lettre à lettre, alors que le serveur, lui, considère par exemple [nico] et {nico} comme le même pseudonyme.
  • Deux modes portaient exactement le même libellé (r et R), et le texte était faux pour l'un des deux. Douze modes qui n'avaient aucun libellé en ont un.

Ajouté

  • Un bouton « Gérer » dans l'en-tête du salon, et la commande /salon. La fenêtre existait depuis le 21/08 mais ne s'ouvrait que par un double-clic sur le titre — un geste que rien n'annonçait. Le double-clic continue de marcher.

Sécurité

  • OverScript ne croit plus le serveur sur parole. Un client IRC se connecte à une machine que vous ne contrôlez pas, et la croyait jusqu'ici dès la première ligne. Trois choses changent, et vous ne verrez aucune d'elles tant que le serveur se tient bien :
  • Un salon très peuplé ne fait plus gonfler la mémoire sans fin. La liste des présents a désormais un plafond, comme la liste des salons en avait déjà un. ⚠ Et si elle est coupée, elle le dit — une liste tronquée en silence ferait conclure « cette personne n'est pas là » à quelqu'un qui ne la voit pas.
  • Un serveur qui annonce des règles absurdes n'est plus suivi. S'il prétend que les pseudos peuvent faire un milliard de caractères, OverScript garde la valeur raisonnable. ⚠ Les limites restent larges : elles laissent passer tous les serveurs réels, y compris les plus généreux.
  • Le journal ne peut plus être utilisé pour vous mentir. Un serveur pouvait y glisser des codes qui, à la relecture dans un terminal, effacent l'écran ou réécrivent les lignes déjà affichées. Ils sont désormais rendus lisibles et inertes — l'information n'est pas perdue, elle est simplement désarmée.

Corrigé

  • Le mot de passe du service et celui d'opérateur servent enfin. Vous les saisissiez au formulaire de connexion, ils étaient bien retenus… et rien ne les employait : il fallait taper /identify puis /oper à chaque fois. OverScript s'en charge désormais, dans cet ordre.

⚠ Deux cases, deux décisions. « S'identifier automatiquement » existait ; « Devenir opérateur automatiquement » est nouvelle. Ni l'une ni l'autre n'est cochée d'office : un mot de passe qui part sans que personne regarde se décide, il ne s'hérite pas d'un profil recopié.

  • ⚠⚠ Quand ça ne peut pas marcher, OverScript le DIT. C'était le vrai défaut : si le nom du service ou le nom d'opérateur manquait, il ne se passait rien du tout — ni envoi, ni message. On croyait à une panne, on recommençait. Chaque refus nomme maintenant ce qui manque et le volet où le remplir.

⚠ Le piège venait de la disposition de l'écran : les noms vivent dans « Réglages du serveur », les mots de passe dans « Coffre ». Deux volets repliés — on remplissait le second sans avoir ouvert le premier. Le formulaire refuse désormais d'enregistrer un mot de passe sans le nom qui va avec, et ouvre le volet en question.

  • L'opérateur vient après l'identification, jamais avant. Sur beaucoup de réseaux le bloc oper exige un pseudo déjà identifié : dans l'autre ordre, la demande était refusée pour une raison qui n'avait rien à voir avec le mot de passe — et le message du serveur ne le disait pas.

Changé

  • La mise à jour se fait depuis le client, sans passer par le navigateur. Le bouton « Télécharger la version… » télécharge vraiment : il affiche l'avancement en mégaoctets, vérifie que le fichier reçu est bien celui annoncé, puis devient « Installer et redémarrer ». OverScript se ferme alors, s'installe et se rouvre à jour.

⚠ Deux clics, pas un. Télécharger ne ferme rien ; c'est le second bouton qui ferme le client, et il le dit. Une conversation en cours ne s'interrompt pas parce qu'on a voulu voir la taille du fichier.

⚠ Si le site annonce une version sans donner de quoi la vérifier, rien ne change : le bouton ouvre la page de téléchargement, comme avant. Cette voie reste la solution de repli de toutes les autres.


0.2.0

Le client sait quand il vieillit, et /list ne noie plus la conversation.

Ajouté

  • Le client dit sa version. Elle s'affiche sur la première ligne, au démarrage : OverScript 0.1.0 — Electron …, Node …. Jusqu'ici il annonçait la version d'Electron et celle de Node, jamais la sienne — il n'y avait donc aucun moyen de dire quelle version on utilisait en signalant un problème.
  • Il vérifie s'il existe mieux, au démarrage, auprès du site du projet. Quand une version plus récente est publiée, il l'écrit dans le fil avec ce qui change, et propose un bouton qui ouvre la page de téléchargement dans votre navigateur.
  • Ce journal des versions, que vous lisez.
  • /list s'affiche dans un panneau, et non plus dans la conversation. Sur un grand réseau, la liste des salons compte plusieurs centaines de lignes : elle chassait de l'écran ce que vous étiez en train de lire. Le panneau se filtre par nom ou par sujet, et se referme.
  • Un double-clic sur un salon de cette liste vous y emmène. C'est déjà le geste qui ouvre le panneau d'un salon depuis son en-tête — rien de nouveau à apprendre.
  • Trois lignes de service ne débordent plus dans le fil. AWAY, TAGMSG et INVITE étaient demandées au serveur sans être traitées : elles arrivaient en continu et noyaient la conversation. Les deux premières se taisent désormais ; une invitation, elle, se montre — elle est rare et vous est adressée.
  • Le bouton de la barre dit ce qu'il fait. Pendant une reconnexion en boucle, il affichait « Se connecter » alors qu'il n'y avait rien à connecter : il n'y avait donc aucun moyen visible d'arrêter. Il propose maintenant « Arreter ».
  • Un refus se dit. Quitter un salon, changer de pseudo ou envoyer un message pouvait échouer sans un mot — cela ressemblait à « rien ne se passe », et on recommençait. Chaque refus porte désormais sa raison.

Ce que la vérification ne fait pas

  • Elle ne télécharge et n'installe rien. Vous cliquez, votre navigateur s'ouvre, vous décidez.
  • Elle se tait quand elle échoue. Pas de réseau, en avion, pare-feu : le client s'ouvre normalement et n'écrit rien. Un logiciel qui se plaint à chaque ouverture apprend à être ignoré.
  • Elle n'envoie rien sur vous. La question posée au site est une requête sans paramètre ; la version qui s'exécute est comparée chez vous, pas chez nous.
  • ⚠ Elle exige HTTPS. Sur une liaison en clair, n'importe quel intermédiaire pourrait remplacer l'adresse de téléchargement par la sienne.

0.1.0

La première version. Un client IRC de bureau pour Windows, aux couleurs de Service-Overtchat.

Ce qu'il sait faire

  • Se connecter en TLS vérifié, avec les trois comptes à rebours qui évitent de rester pendu : l'établissement, l'enregistrement, et le silence.
  • Une fenêtre par réseau — /server -m. ⚠ Elle ne se connecte pas toute seule : le panneau s'ouvre pré-rempli, parce que le nom réel porte l'ASV et mérite d'être relu avant de partir.
  • Un coffre à mots de passe, qui retient les secrets d'identification, ceux d'opérateur et les clefs de salon. ⚠ Il ne les rend jamais à l'interface : elle peut savoir qu'un secret existe, le poser, l'oublier — jamais le lire.
  • Un sondage du service d'identification qui propose sans jamais choisir. Un mot de passe envoyé au mauvais pseudo part chez celui qui le porte, et il a pu le prendre exprès.
  • La complétion au Tab pour les pseudos et les salons, le grade affiché devant le pseudo, le panneau de salon au double-clic sur l'en-tête.
  • Un journal sur disque, dont l'emplacement est dit à l'écran au démarrage — le piège le plus coûteux du projet est un journal qu'on cherche au mauvais endroit.

Ce qu'il ne fait pas, et c'est voulu

  • L'interface ne peut pas fabriquer une commande IRC. Elle demande un verbe et son reste ; le processus principal tient une liste blanche et refuse en le disant.
  • Rien n'est présumé du serveur : les grades, les types de salon, la comparaison des pseudos et les modes dérivent tous de ce que le serveur annonce à la connexion.
  • Aucune fenêtre ne s'ouvre vers l'extérieur. Un lien collé dans un salon ne peut pas emmener l'application ailleurs.

Ce qu'il faut savoir

  • ⚠ Le journal écrit les conversations sur le disque — c'est le comportement par défaut, choisi volontairement tant que rien n'est stable. --journal-discret donne le comportement sobre.
  • Sur ce réseau, les salons se créent sur demande : rejoindre un salon non déclaré rend une réponse qui renvoie au formulaire, ce n'est pas une panne.