clay-server 2.14.0-beta.2 → 2.14.0-beta.3

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.
package/lib/public/app.js CHANGED
@@ -1804,6 +1804,32 @@ import { initCommandPalette, handlePaletteSessionSwitch, setPaletteVersion } fro
1804
1804
  }
1805
1805
  }
1806
1806
 
1807
+ // --- Mate pre-thinking (instant dots before server responds) ---
1808
+ var matePreThinkingEl = null;
1809
+ function showMatePreThinking() {
1810
+ removeMatePreThinking();
1811
+ var mateName = dmTargetUser ? (dmTargetUser.displayName || "Mate") : "Mate";
1812
+ var mateAvatar = document.body.dataset.mateAvatarUrl || "";
1813
+ matePreThinkingEl = document.createElement("div");
1814
+ matePreThinkingEl.className = "thinking-item mate-thinking mate-pre-thinking";
1815
+ matePreThinkingEl.innerHTML =
1816
+ '<div class="mate-thinking-row" style="display:flex">' +
1817
+ '<img class="mate-thinking-avatar" src="' + escapeHtml(mateAvatar) + '" alt="">' +
1818
+ '<div class="mate-thinking-body">' +
1819
+ '<span class="mate-thinking-name">' + escapeHtml(mateName) + '</span>' +
1820
+ '<span class="mate-thinking-dots"><span></span><span></span><span></span></span>' +
1821
+ '</div>' +
1822
+ '</div>';
1823
+ addToMessages(matePreThinkingEl);
1824
+ scrollToBottom();
1825
+ }
1826
+ function removeMatePreThinking() {
1827
+ if (matePreThinkingEl) {
1828
+ matePreThinkingEl.remove();
1829
+ matePreThinkingEl = null;
1830
+ }
1831
+ }
1832
+
1807
1833
  // --- Config chip (model + mode + effort) ---
1808
1834
  var configChipWrap = $("config-chip-wrap");
1809
1835
  var configChip = $("config-chip");
@@ -3691,6 +3717,7 @@ import { initCommandPalette, handlePaletteSessionSwitch, setPaletteVersion } fro
3691
3717
  break;
3692
3718
 
3693
3719
  case "thinking_start":
3720
+ removeMatePreThinking();
3694
3721
  startThinking();
3695
3722
  break;
3696
3723
 
@@ -3705,6 +3732,7 @@ import { initCommandPalette, handlePaletteSessionSwitch, setPaletteVersion } fro
3705
3732
 
3706
3733
  case "delta":
3707
3734
  if (typeof msg.text !== "string") break;
3735
+ removeMatePreThinking();
3708
3736
  stopThinking();
3709
3737
  resetThinkingGroup();
3710
3738
  setActivity(null);
@@ -3712,6 +3740,7 @@ import { initCommandPalette, handlePaletteSessionSwitch, setPaletteVersion } fro
3712
3740
  break;
3713
3741
 
3714
3742
  case "tool_start":
3743
+ removeMatePreThinking();
3715
3744
  stopThinking();
3716
3745
  markAllToolsDone();
3717
3746
  if (msg.name === "EnterPlanMode") {
@@ -4531,6 +4560,7 @@ import { initCommandPalette, handlePaletteSessionSwitch, setPaletteVersion } fro
4531
4560
  isMateDm: function () { return dmMode && dmTargetUser && dmTargetUser.isMate; },
4532
4561
  getMateName: function () { return dmTargetUser ? (dmTargetUser.displayName || "Mate") : "Mate"; },
4533
4562
  getMateAvatarUrl: function () { return document.body.dataset.mateAvatarUrl || ""; },
4563
+ showMatePreThinking: function () { showMatePreThinking(); },
4534
4564
  });
4535
4565
 
4536
4566
  // --- STT module (voice input via Web Speech API) ---
@@ -105,6 +105,11 @@ export function sendMessage() {
105
105
  }
106
106
  ctx.ws.send(JSON.stringify(payload));
107
107
 
108
+ // Mate DM: show pre-thinking dots immediately (before server responds)
109
+ if (ctx.isMateDm && ctx.isMateDm()) {
110
+ ctx.showMatePreThinking();
111
+ }
112
+
108
113
  ctx.inputEl.value = "";
109
114
  sendInputSync();
110
115
  clearPendingImages();
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "clay-server",
3
- "version": "2.14.0-beta.2",
3
+ "version": "2.14.0-beta.3",
4
4
  "description": "Web UI for Claude Code. Any device. Push notifications.",
5
5
  "bin": {
6
6
  "clay-server": "./bin/cli.js",