clay-server 2.11.0-beta.21 → 2.11.0-beta.22

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.
@@ -313,11 +313,14 @@
313
313
  min-width: unset;
314
314
  height: auto !important;
315
315
  width: auto !important;
316
+ max-width: 200px;
316
317
  }
317
318
 
318
319
  .sticky-note.minimized .sticky-note-spacer {
319
320
  color: inherit;
320
321
  opacity: 1;
322
+ overflow: hidden;
323
+ text-overflow: ellipsis;
321
324
  }
322
325
 
323
326
  .sticky-note.minimized .sticky-note-header button {
@@ -2405,7 +2405,7 @@ export function renderUserStrip(allUsers, onlineUserIds, myUserId, dmFavorites,
2405
2405
  e.stopPropagation();
2406
2406
  toggleDmUserPicker(addBtn);
2407
2407
  });
2408
- addBtn.addEventListener("mouseenter", function () { showIconTooltip(addBtn, "Add user"); });
2408
+ addBtn.addEventListener("mouseenter", function () { showIconTooltip(addBtn, "Add DM favorite"); });
2409
2409
  addBtn.addEventListener("mouseleave", hideIconTooltip);
2410
2410
  container.appendChild(addBtn);
2411
2411
  refreshIcons();
@@ -260,7 +260,7 @@ function renderMiniMarkdown(text) {
260
260
 
261
261
  function syncTitle(noteEl, text) {
262
262
  var spacer = noteEl.querySelector(".sticky-note-spacer");
263
- if (spacer) spacer.textContent = getTitle(text);
263
+ if (spacer) spacer.textContent = getTitle(text) || "Untitled";
264
264
  }
265
265
 
266
266
  // --- HTML-to-Markdown reverse conversion (for contenteditable) ---
@@ -356,7 +356,7 @@ function renderNote(data) {
356
356
 
357
357
  var spacer = document.createElement("div");
358
358
  spacer.className = "sticky-note-spacer";
359
- spacer.textContent = getTitle(data.text);
359
+ spacer.textContent = getTitle(data.text) || "Untitled";
360
360
  header.appendChild(spacer);
361
361
 
362
362
  var addBtn = document.createElement("button");
@@ -74,10 +74,12 @@ function createTerminalManager(opts) {
74
74
  var session = terminals.get(id);
75
75
  if (!session) return false;
76
76
 
77
+ // Skip scrollback replay if already subscribed (e.g. create then activate)
78
+ var alreadySubscribed = session.subscribers.has(ws);
77
79
  session.subscribers.add(ws);
78
80
 
79
- // Replay scrollback
80
- if (session.scrollback.length > 0) {
81
+ // Replay scrollback only for newly attached clients
82
+ if (!alreadySubscribed && session.scrollback.length > 0) {
81
83
  var replay = session.scrollback.join("");
82
84
  sendTo(ws, { type: "term_output", id: id, data: replay });
83
85
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "clay-server",
3
- "version": "2.11.0-beta.21",
3
+ "version": "2.11.0-beta.22",
4
4
  "description": "Web UI for Claude Code. Any device. Push notifications.",
5
5
  "bin": {
6
6
  "clay-server": "./bin/cli.js",