Load comment actions only when a conversation opens #839

Closed
opened 2026-08-14 16:50:24 +00:00 by timmy · 0 comments
Owner

Problem

The optional comment-actions chunk is awaited during global dashboard initialization. Its 10-second feature-loader timeout can therefore delay offline readiness, clocks, and the first live My Work request for every operator—even when they never edit or delete a comment.

User flow

Load the core dashboard and live data without requesting comment actions. When an issue, pull request, or Update conversation is displayed, paint the conversation first, then single-flight load and hydrate owned-comment Edit/Delete controls. If loading fails, reading/reply/planning remain usable and the operator can retry inline.

Acceptance criteria

  • Startup reaches first live-data fetch without appending or awaiting the comment-actions script.
  • Issue, pull, and Update conversations render before requesting the optional chunk.
  • Concurrent conversation opens trigger one shared load.
  • Successful load hydrates owned-comment controls exactly once.
  • Failure preserves conversation and primary actions, exposes retry, and a later retry can succeed.
  • Existing comment authorization/audit behavior and full test suite remain green.

Evidence / non-duplication

frontend/dashboard.js currently awaits commentActionFeatures.run(...) before storage readiness and initial fetch; frontend/feature-loader.js allows a 10-second timeout. Full issue history (423 issues) and recent commits contain no interaction-gated comment-action loading. #575 introduced comment actions and #619 made optional service-worker caching failure-isolated, but neither removes this runtime launch dependency.

## Problem The optional `comment-actions` chunk is awaited during global dashboard initialization. Its 10-second feature-loader timeout can therefore delay offline readiness, clocks, and the first live My Work request for every operator—even when they never edit or delete a comment. ## User flow Load the core dashboard and live data without requesting comment actions. When an issue, pull request, or Update conversation is displayed, paint the conversation first, then single-flight load and hydrate owned-comment Edit/Delete controls. If loading fails, reading/reply/planning remain usable and the operator can retry inline. ## Acceptance criteria - Startup reaches first live-data fetch without appending or awaiting the comment-actions script. - Issue, pull, and Update conversations render before requesting the optional chunk. - Concurrent conversation opens trigger one shared load. - Successful load hydrates owned-comment controls exactly once. - Failure preserves conversation and primary actions, exposes retry, and a later retry can succeed. - Existing comment authorization/audit behavior and full test suite remain green. ## Evidence / non-duplication `frontend/dashboard.js` currently awaits `commentActionFeatures.run(...)` before storage readiness and initial fetch; `frontend/feature-loader.js` allows a 10-second timeout. Full issue history (423 issues) and recent commits contain no interaction-gated comment-action loading. #575 introduced comment actions and #619 made optional service-worker caching failure-isolated, but neither removes this runtime launch dependency.
timmy self-assigned this 2026-08-14 16:50:24 +00:00
timmy closed this issue 2026-08-14 17:03:10 +00:00
Sign in to join this conversation.
No Milestone
No project
No Assignees
1 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: stackchain/stackchain-dashboard#839
No description provided.