💬 Console
Loading kontask...
Open full page →
Completed
on 12 Jan 2026, 1:52 am

Output

Fix: Standby Turn Button Now Locks During Processing

Problem

The send button remained clickable while a standby turn was processing, allowing users to potentially send multiple requests before the first one completed.

Solution

Added button locking mechanism to sendStandbyTurn():

  • standbyTurnInProgress flag prevents double-sends
  • send-locked CSS class visually dims the button
  • finally block ensures unlock on success or error

Files Changed

konui/src/console-websocket-client.ts # Active WebSocket path
konui/src/console-streaming.ts        # Legacy SSE path (consistency)

Code Pattern

var standbyTurnInProgress = false;

async function sendStandbyTurn(prompt) {
  if (standbyTurnInProgress) return;  // Guard
  
  standbyTurnInProgress = true;
  submitBtn.classList.add('send-locked');
  
  try {
    // ... fetch and stream ...
  } finally {
    standbyTurnInProgress = false;
    submitBtn.classList.remove('send-locked');
  }
}

Testing Required

Requires konui restart to load the new JavaScript.

  1. Restart konui (or ask user to do it)
  2. Hard refresh the browser
  3. Long-press Send to enter Standby Turn mode
  4. Tap ST Send - button should dim briefly
  5. Button should unlock after response appears
Commit: 6a5aa249

Quick Actions

View Turn
Original Request

No layout configured

Details

Type General
Status Completed
Scope greatvibe
Tags uiconsolestandby-turn
Created 12 Jan 2026, 1:51 am
Updated 12 Jan 2026, 1:52 am
Timing
⏱️ 207.5s
0 tools
TTFE 0% Thinking 100% Tools 0%
Created By claude

📋 Claude's Context

Session ses_286e2e28...

🔗 Git Commit

6a5aa249

Raw Data

{
  "id": "16bf0d31-f81e-422e-921e-35c8362ace1f",
  "type": "general",
  "status": "completed",
  "title": "Fix: Standby Turn Button Now Locks During Processing",
  "description": "Send button now locks during standby turn processing to prevent double-sends",
  "context": {
    "output": "<div style=\"background:#1e1e1e;color:#e0e0e0;padding:20px;border-radius:8px;font-family:'Consolas','Monaco',monospace;\">\n<h2 style=\"font-family:sans-serif;color:#fff;margin:0 0 16px 0;\">Fix: Standby Turn Button Now Locks During Processing</h2>\n\n<div style=\"background:#2d2d2d;padding:16px;border-radius:6px;margin-bottom:16px;\">\n<h3 style=\"color:#98c379;margin:0 0 12px 0;\">Problem</h3>\n<p style=\"margin:0;line-height:1.6;\">The send button remained clickable while a standby turn was processing, allowing users to potentially send multiple requests before the first one completed.</p>\n</div>\n\n<div style=\"background:#2d2d2d;padding:16px;border-radius:6px;margin-bottom:16px;\">\n<h3 style=\"color:#61afef;margin:0 0 12px 0;\">Solution</h3>\n<p style=\"margin:0 0 12px 0;line-height:1.6;\">Added button locking mechanism to <code style=\"background:#3d3d3d;padding:2px 6px;border-radius:4px;\">sendStandbyTurn()</code>:</p>\n<ul style=\"margin:0;padding-left:20px;line-height:1.8;\">\n<li><span style=\"color:#e5c07b;\">standbyTurnInProgress</span> flag prevents double-sends</li>\n<li><span style=\"color:#e5c07b;\">send-locked</span> CSS class visually dims the button</li>\n<li><span style=\"color:#c678dd;\">finally</span> block ensures unlock on success <em>or</em> error</li>\n</ul>\n</div>\n\n<div style=\"background:#2d2d2d;padding:16px;border-radius:6px;margin-bottom:16px;\">\n<h3 style=\"color:#56b6c2;margin:0 0 12px 0;\">Files Changed</h3>\n<pre style=\"margin:0;line-height:1.8;\">\n<span style=\"color:#98c379;\">konui/src/console-websocket-client.ts</span> <span style=\"color:#7f848e;\"># Active WebSocket path</span>\n<span style=\"color:#98c379;\">konui/src/console-streaming.ts</span>        <span style=\"color:#7f848e;\"># Legacy SSE path (consistency)</span>\n</pre>\n</div>\n\n<div style=\"background:#2d2d2d;padding:16px;border-radius:6px;margin-bottom:16px;\">\n<h3 style=\"color:#c678dd;margin:0 0 12px 0;\">Code Pattern</h3>\n<pre style=\"margin:0;line-height:1.6;font-size:12px;\">\n<span style=\"color:#c678dd;\">var</span> <span style=\"color:#e5c07b;\">standbyTurnInProgress</span> = <span style=\"color:#d19a66;\">false</span>;\n\n<span style=\"color:#c678dd;\">async function</span> <span style=\"color:#61afef;\">sendStandbyTurn</span>(prompt) {\n  <span style=\"color:#c678dd;\">if</span> (standbyTurnInProgress) <span style=\"color:#c678dd;\">return</span>;  <span style=\"color:#7f848e;\">// Guard</span>\n  \n  standbyTurnInProgress = <span style=\"color:#d19a66;\">true</span>;\n  submitBtn.classList.<span style=\"color:#61afef;\">add</span>(<span style=\"color:#98c379;\">'send-locked'</span>);\n  \n  <span style=\"color:#c678dd;\">try</span> {\n    <span style=\"color:#7f848e;\">// ... fetch and stream ...</span>\n  } <span style=\"color:#c678dd;\">finally</span> {\n    standbyTurnInProgress = <span style=\"color:#d19a66;\">false</span>;\n    submitBtn.classList.<span style=\"color:#61afef;\">remove</span>(<span style=\"color:#98c379;\">'send-locked'</span>);\n  }\n}\n</pre>\n</div>\n\n<div style=\"background:#2d2d2d;padding:16px;border-radius:6px;margin-bottom:16px;\">\n<h3 style=\"color:#f97316;margin:0 0 12px 0;\">Testing Required</h3>\n<p style=\"margin:0;line-height:1.6;\"><strong>Requires konui restart</strong> to load the new JavaScript.</p>\n<ol style=\"margin:8px 0 0 0;padding-left:20px;line-height:1.8;\">\n<li>Restart konui (or ask user to do it)</li>\n<li>Hard refresh the browser</li>\n<li>Long-press Send to enter Standby Turn mode</li>\n<li>Tap ST Send - button should dim briefly</li>\n<li>Button should unlock after response appears</li>\n</ol>\n</div>\n\n<div style=\"background:#2d2d2d;padding:16px;border-radius:6px;\">\n<span style=\"color:#22c55e;\">✅</span> <strong>Commit:</strong> <code style=\"background:#3d3d3d;padding:2px 6px;border-radius:4px;\">6a5aa249</code>\n</div>\n</div>",
    "requestedAt": "2026-01-12T01:47:00.000Z",
    "requestId": "438b5198-77c4-4207-aabc-2a687fefc216",
    "commitSha": "6a5aa249",
    "choices": [
      {
        "label": "Test it now",
        "value": "I've restarted konui. Enter standby turn mode and test the button locking by sending a message",
        "primary": true
      },
      {
        "label": "View the diff",
        "value": "Show me the git diff for commit 6a5aa249"
      },
      {
        "label": "Run more tests",
        "value": "Run the full konui test suite"
      }
    ],
    "turnTiming": {
      "totalMs": 207493,
      "ttfeMs": 108,
      "thinkingMs": 207383,
      "toolExecutionMs": 0,
      "toolCallCount": 0,
      "thinkingPct": 100,
      "toolsPct": 0,
      "ttfePct": 0
    }
  },
  "createdBy": "claude",
  "createdAt": "2026-01-11T15:51:26.060Z",
  "updatedAt": "2026-01-11T15:52:15.236Z",
  "requestId": "438b5198-77c4-4207-aabc-2a687fefc216",
  "scope": "greatvibe",
  "tags": [
    "ui",
    "console",
    "standby-turn"
  ],
  "sessionId": "ses_286e2e28-97c"
}
Loading timeline...
Loading kontask...
Open full page →
DashboardReportsKontasksOrphansFlowsDecisionsSessionsTelemetryLogs + Go