clay-server 2.26.0 → 2.26.1-beta.1
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 +79 -52
- package/package.json +1 -1
package/lib/public/app.js
CHANGED
|
@@ -4388,8 +4388,12 @@ import { initDebate, handleDebatePreparing, handleDebateStarted, handleDebateRes
|
|
|
4388
4388
|
if (dhBar) dhBar.remove();
|
|
4389
4389
|
var dbBadges = document.querySelectorAll(".debate-header-badge");
|
|
4390
4390
|
for (var dbi = 0; dbi < dbBadges.length; dbi++) dbBadges[dbi].remove();
|
|
4391
|
-
// Clean up
|
|
4391
|
+
// Clean up all debate mode banners if debate is not active on this session
|
|
4392
|
+
if (debateFloorMode) exitDebateFloorMode();
|
|
4393
|
+
if (debateConcludeMode) exitDebateConcludeMode();
|
|
4392
4394
|
if (debateEndedMode) exitDebateEndedMode();
|
|
4395
|
+
var dbBanner = document.getElementById("debate-floor-banner");
|
|
4396
|
+
if (dbBanner) dbBanner.remove();
|
|
4393
4397
|
}
|
|
4394
4398
|
scrollToBottom();
|
|
4395
4399
|
// Scroll to tool element if navigating from file edit history
|
|
@@ -5478,7 +5482,7 @@ import { initDebate, handleDebatePreparing, handleDebateStarted, handleDebateRes
|
|
|
5478
5482
|
|
|
5479
5483
|
// --- Debate ---
|
|
5480
5484
|
case "debate_preparing":
|
|
5481
|
-
showDebateSticky("preparing", msg);
|
|
5485
|
+
if (!replayingHistory) showDebateSticky("preparing", msg);
|
|
5482
5486
|
handleDebatePreparing(msg);
|
|
5483
5487
|
break;
|
|
5484
5488
|
|
|
@@ -5491,7 +5495,7 @@ import { initDebate, handleDebatePreparing, handleDebateStarted, handleDebateRes
|
|
|
5491
5495
|
break;
|
|
5492
5496
|
|
|
5493
5497
|
case "debate_started":
|
|
5494
|
-
showDebateSticky("live", msg);
|
|
5498
|
+
if (!replayingHistory) showDebateSticky("live", msg);
|
|
5495
5499
|
if (replayingHistory) {
|
|
5496
5500
|
renderDebateStarted(msg);
|
|
5497
5501
|
} else {
|
|
@@ -5538,11 +5542,11 @@ import { initDebate, handleDebatePreparing, handleDebateStarted, handleDebateRes
|
|
|
5538
5542
|
break;
|
|
5539
5543
|
|
|
5540
5544
|
case "debate_conclude_confirm":
|
|
5541
|
-
showDebateConcludeConfirm(msg);
|
|
5545
|
+
if (!replayingHistory) showDebateConcludeConfirm(msg);
|
|
5542
5546
|
break;
|
|
5543
5547
|
|
|
5544
5548
|
case "debate_user_floor":
|
|
5545
|
-
showDebateUserFloor(msg);
|
|
5549
|
+
if (!replayingHistory) showDebateUserFloor(msg);
|
|
5546
5550
|
break;
|
|
5547
5551
|
|
|
5548
5552
|
case "debate_user_floor_done":
|
|
@@ -5555,11 +5559,11 @@ import { initDebate, handleDebatePreparing, handleDebateStarted, handleDebateRes
|
|
|
5555
5559
|
|
|
5556
5560
|
case "debate_resumed":
|
|
5557
5561
|
handleDebateResumed(msg);
|
|
5558
|
-
showDebateSticky("live", msg);
|
|
5562
|
+
if (!replayingHistory) showDebateSticky("live", msg);
|
|
5559
5563
|
break;
|
|
5560
5564
|
|
|
5561
5565
|
case "debate_ended":
|
|
5562
|
-
showDebateSticky("ended", msg);
|
|
5566
|
+
if (!replayingHistory) showDebateSticky("ended", msg);
|
|
5563
5567
|
if (replayingHistory) {
|
|
5564
5568
|
renderDebateEnded(msg);
|
|
5565
5569
|
} else {
|
|
@@ -5896,8 +5900,8 @@ import { initDebate, handleDebatePreparing, handleDebateStarted, handleDebateRes
|
|
|
5896
5900
|
handleDmSend: function () { handleDmSend(); },
|
|
5897
5901
|
isDebateEndedMode: function () { return debateEndedMode; },
|
|
5898
5902
|
handleDebateEndedSend: function () { handleDebateEndedSend(); },
|
|
5899
|
-
isDebateConcludeMode: function () { return
|
|
5900
|
-
handleDebateConcludeSend:
|
|
5903
|
+
isDebateConcludeMode: function () { return debateConcludeMode; },
|
|
5904
|
+
handleDebateConcludeSend: function () { handleDebateConcludeSend(); },
|
|
5901
5905
|
isDebateFloorMode: function () { return debateFloorMode; },
|
|
5902
5906
|
handleDebateFloorSend: function () { handleDebateFloorSend(); },
|
|
5903
5907
|
isMateDm: function () { return dmMode && dmTargetUser && dmTargetUser.isMate; },
|
|
@@ -7222,17 +7226,77 @@ import { initDebate, handleDebatePreparing, handleDebateStarted, handleDebateRes
|
|
|
7222
7226
|
var debateHandRaiseOpen = false;
|
|
7223
7227
|
|
|
7224
7228
|
function showDebateConcludeConfirm(msg) {
|
|
7225
|
-
|
|
7226
|
-
scrollToBottom();
|
|
7229
|
+
showDebateConcludeMode();
|
|
7227
7230
|
}
|
|
7228
7231
|
|
|
7229
7232
|
var debateFloorMode = false;
|
|
7233
|
+
var debateConcludeMode = false;
|
|
7234
|
+
|
|
7235
|
+
function showDebateConcludeMode() {
|
|
7236
|
+
removeDebateBottomBar();
|
|
7237
|
+
debateConcludeMode = true;
|
|
7238
|
+
var inputArea = document.getElementById("input-area");
|
|
7239
|
+
if (inputArea) {
|
|
7240
|
+
inputArea.classList.add("debate-floor-mode");
|
|
7241
|
+
inputArea.style.display = "";
|
|
7242
|
+
}
|
|
7243
|
+
var existingBanner = document.getElementById("debate-floor-banner");
|
|
7244
|
+
if (existingBanner) existingBanner.remove();
|
|
7245
|
+
var banner = document.createElement("div");
|
|
7246
|
+
banner.id = "debate-floor-banner";
|
|
7247
|
+
banner.className = "debate-floor-banner";
|
|
7248
|
+
banner.innerHTML = iconHtml("check-circle") + " <span>The moderator is ready to conclude</span>" +
|
|
7249
|
+
'<button class="debate-floor-done-btn debate-floor-end-btn" id="debate-floor-end-btn">End Debate</button>';
|
|
7250
|
+
if (inputArea && inputArea.parentNode) {
|
|
7251
|
+
inputArea.parentNode.insertBefore(banner, inputArea);
|
|
7252
|
+
}
|
|
7253
|
+
refreshIcons();
|
|
7254
|
+
var endBtn = document.getElementById("debate-floor-end-btn");
|
|
7255
|
+
if (endBtn) {
|
|
7256
|
+
endBtn.addEventListener("click", function () {
|
|
7257
|
+
if (ws && ws.readyState === 1) {
|
|
7258
|
+
ws.send(JSON.stringify({ type: "debate_conclude_response", action: "end" }));
|
|
7259
|
+
}
|
|
7260
|
+
exitDebateConcludeMode();
|
|
7261
|
+
});
|
|
7262
|
+
}
|
|
7263
|
+
var inputEl = document.getElementById("input");
|
|
7264
|
+
if (inputEl) {
|
|
7265
|
+
inputEl._origPlaceholder = inputEl._origPlaceholder || inputEl.placeholder;
|
|
7266
|
+
inputEl.placeholder = "Add a direction to continue the debate...";
|
|
7267
|
+
inputEl.focus();
|
|
7268
|
+
}
|
|
7269
|
+
scrollToBottom();
|
|
7270
|
+
}
|
|
7271
|
+
|
|
7272
|
+
function exitDebateConcludeMode() {
|
|
7273
|
+
debateConcludeMode = false;
|
|
7274
|
+
var inputArea = document.getElementById("input-area");
|
|
7275
|
+
if (inputArea) inputArea.classList.remove("debate-floor-mode");
|
|
7276
|
+
var banner = document.getElementById("debate-floor-banner");
|
|
7277
|
+
if (banner) banner.remove();
|
|
7278
|
+
var inputEl = document.getElementById("input");
|
|
7279
|
+
if (inputEl && inputEl._origPlaceholder) {
|
|
7280
|
+
inputEl.placeholder = inputEl._origPlaceholder;
|
|
7281
|
+
delete inputEl._origPlaceholder;
|
|
7282
|
+
}
|
|
7283
|
+
}
|
|
7284
|
+
|
|
7285
|
+
function handleDebateConcludeSend() {
|
|
7286
|
+
var text = inputEl.value.trim();
|
|
7287
|
+
if (ws && ws.readyState === 1) {
|
|
7288
|
+
ws.send(JSON.stringify({ type: "debate_conclude_response", action: "continue", text: text }));
|
|
7289
|
+
}
|
|
7290
|
+
inputEl.value = "";
|
|
7291
|
+
exitDebateConcludeMode();
|
|
7292
|
+
showDebateBottomBar("live");
|
|
7293
|
+
}
|
|
7230
7294
|
|
|
7231
7295
|
var debateEndedMode = false;
|
|
7232
7296
|
|
|
7233
7297
|
function showDebateEndedMode(msg) {
|
|
7234
|
-
debateEndedMode = true;
|
|
7235
7298
|
removeDebateBottomBar();
|
|
7299
|
+
debateEndedMode = true;
|
|
7236
7300
|
var inputArea = document.getElementById("input-area");
|
|
7237
7301
|
if (inputArea) {
|
|
7238
7302
|
inputArea.classList.add("debate-floor-mode");
|
|
@@ -7296,9 +7360,9 @@ import { initDebate, handleDebatePreparing, handleDebateStarted, handleDebateRes
|
|
|
7296
7360
|
}
|
|
7297
7361
|
|
|
7298
7362
|
function showDebateUserFloor(msg) {
|
|
7299
|
-
debateFloorMode = true;
|
|
7300
7363
|
// Remove debate bottom bar and show input area in floor mode
|
|
7301
7364
|
removeDebateBottomBar();
|
|
7365
|
+
debateFloorMode = true;
|
|
7302
7366
|
var inputArea = document.getElementById("input-area");
|
|
7303
7367
|
if (inputArea) {
|
|
7304
7368
|
inputArea.classList.add("debate-floor-mode");
|
|
@@ -7469,44 +7533,6 @@ import { initDebate, handleDebatePreparing, handleDebateStarted, handleDebateRes
|
|
|
7469
7533
|
ws.send(JSON.stringify({ type: "debate_stop" }));
|
|
7470
7534
|
}
|
|
7471
7535
|
});
|
|
7472
|
-
} else if (mode === "conclude") {
|
|
7473
|
-
bar.innerHTML =
|
|
7474
|
-
'<div class="debate-bottom-inner debate-bottom-conclude">' +
|
|
7475
|
-
'<div class="debate-bottom-conclude-label">' + iconHtml("check-circle") + ' The moderator is ready to conclude. End the debate?</div>' +
|
|
7476
|
-
'<textarea class="debate-bottom-conclude-input" id="debate-bottom-conclude-input" rows="3" placeholder="Or add a direction to continue..."></textarea>' +
|
|
7477
|
-
'<div class="debate-bottom-conclude-actions">' +
|
|
7478
|
-
'<button class="debate-bottom-continue" id="debate-bottom-continue">Continue</button>' +
|
|
7479
|
-
'<button class="debate-bottom-end" id="debate-bottom-end">End Debate</button>' +
|
|
7480
|
-
'</div>' +
|
|
7481
|
-
'</div>';
|
|
7482
|
-
|
|
7483
|
-
inputArea.parentNode.insertBefore(bar, inputArea);
|
|
7484
|
-
inputArea.style.display = "none";
|
|
7485
|
-
refreshIcons();
|
|
7486
|
-
|
|
7487
|
-
var textArea = document.getElementById("debate-bottom-conclude-input");
|
|
7488
|
-
document.getElementById("debate-bottom-end").addEventListener("click", function () {
|
|
7489
|
-
if (ws && ws.readyState === 1) {
|
|
7490
|
-
ws.send(JSON.stringify({ type: "debate_conclude_response", action: "end" }));
|
|
7491
|
-
}
|
|
7492
|
-
removeDebateBottomBar();
|
|
7493
|
-
});
|
|
7494
|
-
document.getElementById("debate-bottom-continue").addEventListener("click", function () {
|
|
7495
|
-
var text = textArea ? textArea.value.trim() : "";
|
|
7496
|
-
if (ws && ws.readyState === 1) {
|
|
7497
|
-
ws.send(JSON.stringify({ type: "debate_conclude_response", action: "continue", text: text }));
|
|
7498
|
-
}
|
|
7499
|
-
removeDebateBottomBar();
|
|
7500
|
-
showDebateBottomBar("live");
|
|
7501
|
-
});
|
|
7502
|
-
if (textArea) {
|
|
7503
|
-
textArea.addEventListener("keydown", function (e) {
|
|
7504
|
-
if (e.key === "Enter" && !e.shiftKey) {
|
|
7505
|
-
e.preventDefault();
|
|
7506
|
-
document.getElementById("debate-bottom-continue").click();
|
|
7507
|
-
}
|
|
7508
|
-
});
|
|
7509
|
-
}
|
|
7510
7536
|
}
|
|
7511
7537
|
}
|
|
7512
7538
|
|
|
@@ -7526,8 +7552,9 @@ import { initDebate, handleDebatePreparing, handleDebateStarted, handleDebateRes
|
|
|
7526
7552
|
var handBar = document.getElementById("debate-hand-raise-bar");
|
|
7527
7553
|
if (handBar) handBar.remove();
|
|
7528
7554
|
debateHandRaiseOpen = false;
|
|
7529
|
-
// Clean up floor/ended modes
|
|
7555
|
+
// Clean up floor/conclude/ended modes
|
|
7530
7556
|
if (debateFloorMode) exitDebateFloorMode();
|
|
7557
|
+
if (debateConcludeMode) exitDebateConcludeMode();
|
|
7531
7558
|
if (debateEndedMode) exitDebateEndedMode();
|
|
7532
7559
|
// Restore input area
|
|
7533
7560
|
var inputArea = document.getElementById("input-area");
|