Skip to content

fix(web): prevent transcript drafts from disappearing during saves - #3503

Merged
richiemcilroy merged 1 commit into
CapSoftware:mainfrom
AksharP5:transcript-save-lock
Nov 3, 2026
Merged

richiemcilroy merged 1 commit into
CapSoftware:mainfrom
AksharP5:transcript-save-lock

Conversation

@AksharP5

@AksharP5 AksharP5 commented Oct 28, 2026 •

Copy link
Copy Markdown
Contributor

Transcript edits typed while an earlier save was pending could disappear when that save completed. Another cue's editor could also be opened and then closed by the earlier request.

Pause text editing and cue edit buttons until the save settles. After a failed save, the existing draft remains available to retry or cancel.

Using the same delayed save:

Interaction Before After
Type more text after clicking Save Input is accepted, then discarded on completion Editing pauses until completion
Open another cue during the save Its draft can be discarded by the earlier save Edit buttons pause until completion
Save fails without switching cues Original draft remains editable Draft remains editable for retry or cancel

66 focused transcript tests and two additional real-action/storage-boundary probes pass. Both loss reproductions and the pending-save regressions fail on baseline. Full workspace typecheck and scoped Biome pass. The regression already runs in the existing CI web-test step.

Tests mount the actual components in jsdom and use fixtures at auth, database and storage boundaries. No live browser/S3 session was exercised. Independent GPT-6 Astra HIGH review passed exact commit 3f756035e93569017b3d30b0312b053eab348c10, rerunning all 66 focused cases and both action/storage probes, plus seven additional checks for failed requests, retry/cancel, repeated clicks, cue seeking, refreshes and save-transition row updates.

At 1,200 cues, the pending transition updates 1,199 other rows to disable their edit controls. Success already updates 1,200 rows in both versions; failure adds another 1,199 updates to restore controls. These are jsdom render counts, not browser latency measurements. Typing and cue-selection memoization remain covered.

Closes #3502.

RetriggerView in GreptileConfidence Score: 5/5

The PR appears safe to merge; no actionable issues were found.

Summary

Pauses transcript editing while a save is pending so that completion cannot discard newer typing or close another cue’s editor.

  • Transcript edits pause while a save is pending.

No actionable issues found. Review was static; tests and browser checks were not run.

Acknowledged trade-off: AksharP5 documented extra row updates when save state changes, with render counts rather than browser latency measurements.

Reviews (1) · Last reviewed commit: "fix(web): prevent transcript drafts from..." · Reviewed by Greptile

@vercel

vercel Bot commented Oct 28, 2026

Copy link
Copy Markdown
Contributor

The latest updates on your projects. Learn more about Vercel for GitHub.

1 Skipped Deployment
Project Deployment Actions Updated
cap-status Skipped Skipped Oct 28, 2026 4:44am UTC

@vercel
vercel Bot temporarily deployed to Preview – cap-status October 28, 2026 04:44 Inactive
@richiemcilroy
richiemcilroy merged commit 78b5120 into CapSoftware:main Nov 3, 2026
31 of 32 checks passed

This branch was previously deployed

1 inactive deployment
Preview – cap-status — 3f756035 Deployed Oct 28, 2026 by vercel[bot]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Pending transcript saves discard later typing

2 participants