fix(dashboard): restore step/comment fields on slim list and detail tabs
The previous slim listing dropped log, comments, steps, workflowStepResults, and steeringComments from the board task payload. Of those, only `log` is actually heavy (~60 MB across 1200 tasks); everything else combined is under 500 KB and is needed by the board UI: - TaskCard step progress badge reads task.steps - TaskCard comment count badge reads task.comments - Workflow status indicators read task.workflowStepResults Slim mode now drops *only* log. The other JSON columns stay in board payloads, so progress bars and badges render again without forcing a full per-task fetch. Also fix the TaskDetailModal regression where the Activity tab and the Step Progress section read task.log/task.steps from the slim board prop instead of workingTask (the full row loaded via fetchTaskDetail). The prop is the cached slim row from the board, so the activity tab was empty until the user scrolled — now both tabs read workingTask. Updated the slim listTasks regression test to assert the new contract: log is dropped, but steps/comments/workflowStepResults/steeringComments match the full row. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -1083,9 +1083,9 @@ export function TaskDetailModal({
|
||||
) : (
|
||||
<div className="detail-activity">
|
||||
<h4>Activity</h4>
|
||||
{task.log && task.log.length > 0 ? (
|
||||
{workingTask.log && workingTask.log.length > 0 ? (
|
||||
<div className="detail-activity-list">
|
||||
{[...task.log].reverse().map((entry, i) => (
|
||||
{[...workingTask.log].reverse().map((entry, i) => (
|
||||
<div key={i} className="detail-log-entry">
|
||||
<div className="detail-log-header">
|
||||
<span className="detail-log-timestamp">
|
||||
@@ -1180,10 +1180,10 @@ export function TaskDetailModal({
|
||||
</div>
|
||||
<div className="detail-section detail-step-progress">
|
||||
<h4>Progress</h4>
|
||||
{task.steps && task.steps.length > 0 ? (
|
||||
{workingTask.steps && workingTask.steps.length > 0 ? (
|
||||
<div className="step-progress-wrapper">
|
||||
<div className="step-progress-bar">
|
||||
{task.steps.map((step, index) => (
|
||||
{workingTask.steps.map((step, index) => (
|
||||
<div
|
||||
key={index}
|
||||
className={`step-progress-segment step-progress-segment--${step.status}`}
|
||||
@@ -1193,7 +1193,7 @@ export function TaskDetailModal({
|
||||
))}
|
||||
</div>
|
||||
<span className="step-progress-label">
|
||||
{task.steps.filter(s => s.status === "done").length}/{task.steps.length} steps
|
||||
{workingTask.steps.filter(s => s.status === "done").length}/{workingTask.steps.length} steps
|
||||
</span>
|
||||
</div>
|
||||
) : (
|
||||
|
||||
Reference in New Issue
Block a user