taskplane 0.9.2 → 0.9.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/dashboard/public/app.js
CHANGED
|
@@ -530,7 +530,10 @@ function renderLanesTasks(batch, tmuxSessions) {
|
|
|
530
530
|
// Worker stats from lane state sidecar + telemetry badges
|
|
531
531
|
let workerHtml = "";
|
|
532
532
|
const telemBadges = task.status !== "pending" ? telemetryBadgesHtml(tel) : "";
|
|
533
|
-
|
|
533
|
+
// Reviewer sub-row should only appear under the task currently being reviewed,
|
|
534
|
+
// not all tasks in the lane. The lane-state sidecar is per-lane (shared by all
|
|
535
|
+
// tasks in the lane), so check that the sidecar's current taskId matches this task.
|
|
536
|
+
const reviewerActive = ls && ls.reviewerStatus === "running" && ls.taskId === task.taskId;
|
|
534
537
|
if (ls && ls.workerStatus === "running" && task.status === "running") {
|
|
535
538
|
const elapsed = ls.workerElapsed ? `${Math.round(ls.workerElapsed / 1000)}s` : "";
|
|
536
539
|
const tools = ls.workerToolCount || 0;
|
|
@@ -170,13 +170,15 @@ export function syncTaskOutcomesFromMonitor(
|
|
|
170
170
|
}
|
|
171
171
|
|
|
172
172
|
// Completed tasks => succeeded
|
|
173
|
+
// Use existing endTime if already set — prevents changed=true on every
|
|
174
|
+
// poll tick (lastPollTime differs each tick, causing persist log spam).
|
|
173
175
|
for (const taskId of lane.completedTasks) {
|
|
174
176
|
const existing = outcomes.find(o => o.taskId === taskId);
|
|
175
177
|
changed = upsertTaskOutcome(outcomes, {
|
|
176
178
|
taskId,
|
|
177
179
|
status: "succeeded",
|
|
178
180
|
startTime: existing?.startTime ?? null,
|
|
179
|
-
endTime: monitorState.lastPollTime,
|
|
181
|
+
endTime: existing?.endTime ?? monitorState.lastPollTime,
|
|
180
182
|
exitReason: existing?.exitReason || ".DONE file created by task-runner",
|
|
181
183
|
sessionName: existing?.sessionName || lane.sessionName,
|
|
182
184
|
doneFileFound: true,
|
|
@@ -193,7 +195,7 @@ export function syncTaskOutcomesFromMonitor(
|
|
|
193
195
|
taskId,
|
|
194
196
|
status: "failed",
|
|
195
197
|
startTime: existing?.startTime ?? null,
|
|
196
|
-
endTime: monitorState.lastPollTime,
|
|
198
|
+
endTime: existing?.endTime ?? monitorState.lastPollTime,
|
|
197
199
|
exitReason: existing?.exitReason || "Task failed or stalled",
|
|
198
200
|
sessionName: existing?.sessionName || lane.sessionName,
|
|
199
201
|
doneFileFound: false,
|