shadok-ai 0.2.69 → 0.2.71

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/package.json +1 -1
  2. package/public/index.html +13 -0
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "shadok-ai",
3
- "version": "0.2.69",
3
+ "version": "0.2.71",
4
4
  "main": "dist/session.js",
5
5
  "scripts": {
6
6
  "test": "node --import tsx --test test/*.ts .claude/skills/shadok-ai-agents/test/*.test.mjs",
package/public/index.html CHANGED
@@ -3802,6 +3802,13 @@
3802
3802
  t.cwd = msg.cwd || "(server directory)";
3803
3803
  if (!t.customName) t.nameEl.textContent = basename(msg.cwd || "") || "agent " + t.id;
3804
3804
  t.launchMsg = msg; // remembered so a dropped link can reconnect
3805
+ // Le choix « miroir » voyage dans le message de lancement : le serveur
3806
+ // l'enregistre au `ready`. L'ONGLET doit le savoir aussi, sinon le premier
3807
+ // `persistChannels` repousse sa valeur par défaut (false) et écrase ce que
3808
+ // le serveur vient d'écrire — l'agent n'était alors jamais mirorré, et
3809
+ // seule la bascule du menu marchait. Ici plutôt que chez l'appelant :
3810
+ // launchTab est l'entonnoir de TOUS les chemins de création.
3811
+ if (typeof msg.mirror === "boolean") setMirror(t, msg.mirror, false);
3805
3812
  t.closing = false; // set when the user closes the tab (no reconnect then)
3806
3813
  t.reconnectAttempts = 0;
3807
3814
  openLink(t);
@@ -4236,6 +4243,12 @@
4236
4243
  // ended would come back to life against the *new* session and resend
4237
4244
  // yesterday's text forced. A new session answers no old question.
4238
4245
  retirePaceConfirm(t);
4246
+ // A reload broadcasts a transient "working" (restart in progress) that is
4247
+ // closed by this "ready" — the fresh process is idle again. Drop that
4248
+ // highlight here (setTabMood repaints the favicon too); a real turn
4249
+ // re-asserts it with its own "working". Without this the channel stayed
4250
+ // lit "working" after every reload.
4251
+ if (t.btnEl.classList.contains("working")) setTabMood(t, null);
4239
4252
  setTabState(t, "ready", "ready");
4240
4253
  persistChannels();
4241
4254
  // Reattaching between turns: restore the last turn's time rather than