Skip to content

feat(ENG-367): the transcription wait becomes a screen, and resuming lands in the right place - #157

Merged
henokteixeira merged 1 commit into
mainfrom
henok/eng-367-wait
Jul 31, 2026
Merged

feat(ENG-367): the transcription wait becomes a screen, and resuming lands in the right place#157
henokteixeira merged 1 commit into
mainfrom
henok/eng-367-wait

Conversation

@henokteixeira

Copy link
Copy Markdown
Contributor

Closes ENG-367.

The loading animation already existed

PreparingSession (ENG-337) is the olive waiting screen with the bead-comet running along the cord — already used for three other waits in the flow. Nothing new was drawn; this reuses it, which is what "alguma animação já feita" asked for.

What changed

1. The wait is the screen, not a word per card. While the STT job runs, the review's body is the waiting state instead of 41 cards each saying "transcrevendo" — with the whole review already there to be edited while the text was still going to change.

2. It is a body swap, not a screen swap. The aria-live region stays mounted in both states. A live region created at the same time as its content is not announced, so replacing the whole tree would have lost the drafts announcement silently. I hit exactly that while building it: my first version early-returned a separate <section>, and the existing a11y test caught it — the region was a different DOM node before and after, so the announcement never fired. The test earned its keep.

3. Failure does not trap anyone. Only running waits. failed and the give-up timeout open the review, where each card carries its own retry — typing by hand always resolves (§8.7, no dead end).

4. Resuming. With every question answered or recorded, reopening dropped you on the last interview question, inviting a re-record of an answer that already existed. It now opens the review — or its wait, if transcription is still running. With a question still open, the interview is still the right place, unchanged.

Tests

The old per-card "transcrevendo" test is rewritten to the new behaviour: while the job runs there are zero cards, no answer field, and the live region is still mounted. The conversation resume test flips from "reopens on the last question" to "never back on the interview".

Gates: typecheck 0, lint 0 errors, test 1329 passed / 144 files, golden 16 passed, e2e 13 passed.

Note: branched off main before #156 (ENG-369) merged. Different regions of report/index.tsx, so they should not conflict.

… o lugar

Nada indicava que a transcrição estava rodando além da palavra 'transcrevendo'
dentro de cada um dos 41 cartões — com a revisão inteira já lá para ser mexida
enquanto o texto ainda ia mudar.

Agora o miolo da revisão é a espera enquanto o job roda, com o cometa de contas
que já servia às outras esperas do fluxo (ENG-337). Não é troca de tela: a
região aria-live fica montada nos dois estados, senão o anúncio dos rascunhos
se perderia calado — uma região criada junto com o conteúdo não é anunciada.

Falha e estouro de prazo NÃO seguram ninguém: a revisão abre e cada cartão traz
seu 'tentar de novo'. Só 'running' espera.

E a retomada: com tudo respondido, reabrir caía na última pergunta da entrevista,
convidando a regravar o que já existia. Agora vai para a revisão.
Copilot AI review requested due to automatic review settings July 30, 2026 17:51
@linear-code

linear-code Bot commented Jul 30, 2026

Copy link
Copy Markdown

ENG-367

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

@henokteixeira henokteixeira self-assigned this Jul 31, 2026
@henokteixeira
henokteixeira merged commit 0d66da4 into main Jul 31, 2026
7 checks passed
@henokteixeira
henokteixeira deleted the henok/eng-367-wait branch July 31, 2026 01:59
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.

2 participants