Skip to content

Satellite : fermer la conversation au bouton - #34

Merged
lfpoulain merged 2 commits into
lfpoulain:betafrom
NeuTroNBZh:satellite-bouton-fin
Nov 9, 2026
Merged

lfpoulain merged 2 commits into
lfpoulain:betafrom
NeuTroNBZh:satellite-bouton-fin

Conversation

@NeuTroNBZh

@NeuTroNBZh NeuTroNBZh commented Nov 8, 2026 •

Copy link
Copy Markdown
Contributor

Ticket : #33

But

Fermer une conversation de satellite d'un appui sur le bouton BOOT, sans attendre le silence.

Ce qui change

  • SatelliteHub accepte le message {"type":"session","action":"end"}. Il ne ferme la conversation que si elle appartient à ce satellite et qu'elle est en connecting ou ready ; raison « Fin de conversation au bouton du satellite. », plus une ligne au journal. Le message d'un autre satellite, ou envoyé pendant une conversation du miroir, est ignoré.
  • Documentation : docs/developpement/satellites-protocole.md (nouveau message) et docs/fonctionnalites/satellites.md (bouton BOOT), plus CHANGELOG.md.
  • Compatible avec les firmwares actuels, qui n'envoient jamais ce message.
  • Le message welcome annonce features: ["session_end"] : le firmware sait que ce serveur accepte la fermeture au bouton, et garde sinon l'ancien comportement (le bouton coupe le micro).

Le firmware qui l'envoie est proposé à part, dans cornelius-satellite : pendant une conversation, l'appui bref envoie session / end au lieu de couper le micro.

Vérifications

  • npm run check : OK.
  • tests/satellites.test.ts : 8/8, dont un nouveau test : deux satellites connectés, une conversation ouverte au mot d'appel sur le premier. Le bouton du second ne la ferme pas, celui du premier la ferme avec la bonne raison.

Nouveau message satellite {"type":"session","action":"end"} : envoyé
par le bouton pendant une conversation de ce satellite, il la ferme
(« Fin de conversation au bouton du satellite. ») sans attendre le
silence. Ignoré si la conversation en cours est celle d'un autre
satellite ou du miroir. Le firmware correspondant est proposé dans
cornelius-satellite.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Copilot AI balanced review requested due to automatic review settings November 8, 2026 22:27

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot was unable to review this pull request because the user who requested the review has insufficient remaining quota. Try requesting a review at a lower effort level.

Le firmware ne lie le bouton à la fin de conversation qu'avec un serveur
qui la comprend ; avec un serveur plus ancien, l'appui garde son rôle de
micro. welcome annonce donc features: ["session_end"].

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@NeuTroNBZh

Copy link
Copy Markdown
Contributor Author

Ajout : welcome annonce maintenant features: ["session_end"]. Le firmware ne lie le bouton à la fin de conversation qu'avec un serveur qui l'annonce ; avec un serveur plus ancien, l'appui coupe le micro comme avant, sans jamais devenir sans effet. Test welcome mis à jour, tests/satellites.test.ts 8/8. Le satellite cesse aussi d'envoyer le son dès l'appui, sans attendre la fermeture côté serveur : le bouton reste un bouton de vie privée.

@lfpoulain

Copy link
Copy Markdown
Owner

Merci, c'est dans 0.3.0. Deux restes de doc : docs/reference/confidentialite.md:29 dit encore « Le bouton du satellite coupe son micro », et le corps de la PR ne mentionne pas features: ["session_end"] ajouté au welcome. Le firmware (cornelius-satellite #5) est mergé dans beta.

@NeuTroNBZh

Copy link
Copy Markdown
Contributor Author

Merci ! Les remarques de cette PR sont reprises dans #42 (avec celles de #26, #34, #36 et #38).

lfpoulain pushed a commit that referenced this pull request Nov 9, 2026
…délai

Remarques faites sur #26, #34, #36 et #38 (fusionnées dans 0.3.0) :
- #26 : la couleur demandée et la couleur relue sont comparées à pleine
  intensité (Home Assistant relit [128, 0, 128] en [255, 0, 255]) ; le
  faux Home Assistant des tests relit comme lui ; test de la route admin
  POST /control avec rgbColor ; architecture.md cite couleur et blanc.
- #34 : confidentialite.md, le bouton coupe le micro en veille et ferme
  la conversation pendant une conversation.
- #36 : le délai propre au satellite est pris à satelliteWake, un
  changement vaut pour la conversation suivante (satellites.md,
  administration.md).
- #38 : sonneries et voix partagent le volume du codec
  (board_set_volume → esp_codec_dev_set_out_vol) : au volume 0, l'outil
  le rappelle et la doc le dit ; la fiche du satellite suit un réglage
  vocal (resynchronisée sur la liste rechargée hors réglage en cours).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants