taskplane 0.23.10 → 0.23.12

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.
@@ -1120,8 +1120,18 @@ function renderNoBatch() {
1120
1120
 
1121
1121
  function ensureContentPanels() {
1122
1122
  if (noBatchRendered) {
1123
- // A live batch started — restore panels and reload
1124
- location.reload();
1123
+ // A live batch started — restore panels without full page reload.
1124
+ // Reset the no-batch state and re-show content panels.
1125
+ noBatchRendered = false;
1126
+ const $lanesPanel = document.getElementById("lanes-tasks-panel");
1127
+ const $mergePanel = document.getElementById("merge-panel");
1128
+ if ($lanesPanel) $lanesPanel.style.display = "";
1129
+ if ($mergePanel) $mergePanel.style.display = "";
1130
+ if ($errorsPanel) $errorsPanel.style.display = "";
1131
+ $historyPanel.style.display = "none";
1132
+ viewingHistoryId = null;
1133
+ // Re-render with current data
1134
+ if (currentData) render(currentData);
1125
1135
  }
1126
1136
  }
1127
1137
 
@@ -2267,9 +2267,8 @@ export async function executeOrchBatch(
2267
2267
  const snap = JSON.parse(readFileSync(join(lanesDir, f), "utf-8"));
2268
2268
  const w = snap.worker || {};
2269
2269
  const r = snap.reviewer || {};
2270
- // Key by session name (match lane record) for per-task lookup
2271
- const laneRec = (batchState.lanes || []).find((l: { laneNumber: number }) => l.laneNumber === snap.laneNumber);
2272
- const key = laneRec?.tmuxSessionName || `lane-${snap.laneNumber}`;
2270
+ // Key by lane number for reliable per-task lookup (TP-115)
2271
+ const key = `lane-${snap.laneNumber}`;
2273
2272
  laneTokens.set(key, {
2274
2273
  input: (w.inputTokens || 0) + (r.inputTokens || 0),
2275
2274
  output: (w.outputTokens || 0) + (r.outputTokens || 0),
@@ -2321,9 +2320,9 @@ export async function executeOrchBatch(
2321
2320
  const durationMs = (to.startTime && to.endTime) ? (to.endTime - to.startTime) : 0;
2322
2321
 
2323
2322
  // Get tokens for this lane (cumulative — shared across tasks in same lane)
2324
- // TP-115: V2 sessionName includes role suffix (-worker/-reviewer) but
2325
- // laneTokens is keyed by tmuxSessionName (no suffix). Try both.
2326
- const tokens = laneTokens.get(to.sessionName)
2323
+ // TP-115: Try lane number key first (V2), then sessionName variants (legacy).
2324
+ const tokens = laneTokens.get(`lane-${lane}`)
2325
+ || laneTokens.get(to.sessionName)
2327
2326
  || laneTokens.get(to.sessionName?.replace(/-(?:worker|reviewer)$/, ""))
2328
2327
  || { input: 0, output: 0, cacheRead: 0, cacheWrite: 0, costUsd: 0 };
2329
2328
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "taskplane",
3
- "version": "0.23.10",
3
+ "version": "0.23.12",
4
4
  "description": "AI agent orchestration for pi — parallel task execution with checkpoint discipline",
5
5
  "keywords": [
6
6
  "pi-package",