Transcript tab does not scroll to new turns

Ouverte
#592 1 commentaire 0 réactions 1 personne assignée Voir sur GitHub

Les mainteneurs répondent en général sous 1 jour

@henrylee1003 y travaille déjà.

Depuis le 5/11/2026.

  • #615 par @henrylee1003 — ouverte

Évaluation

Cette issue n'a pas encore été évaluée.

Description

When the transcript is longer than the Transcript tab, new turns are added below the visible area and the panel does not move. To read what Jim just said, the candidate has to scroll down by hand after every turn.
Step with release codetrial 0.1.0 (b2c2bc9), Chrome 156, Windows 11:

  1. Start an interview and open the Transcript tab.
  2. Talk with Jim until the transcript overflows the panel.
  3. Keep talking without touching the panel.

While the transcript grew from 6 to 14 entries, scrollHeight went from 997 to 2266, scrollTop stayed at 334, and no scroll event fired. The newest entry was never visible.

Cause: #transcript-panel scrolls because of the .side-panel and .interview-sidebar .side-panel rules in web/styles.css, which were written for the problem panel. createTranscriptView in web/render.js never sets scrollTop, and selectTab in web/interview.js only toggles visibility.

Proposal: follow new turns by default, stop when the candidate scrolls up, and resume when they scroll back to the bottom. A growing interim line also stays in view. While the tab is hidden the follow state does not change, and opening the tab shows the end if it was following. Only panel.scrollTop is set, so the page itself does not scroll.

Questions:

  1. web/captions.js has CAPTION_END_SLACK_PX for the same at-end check, but it is not exported. Should I export it, or define a separate constant in web/render.js?
  2. Should this rule go in the Captions section of docs/avatar-contract.md, or somewhere else?

Tests: unit tests in tests/browser/render.test.js, and a Playwright test at 1280x720 and 900x700.
If this scope is acceptable, please assign this issue to me.

Langage dominant
Rust
Étoiles
223
Forks
148
Merge moyen
1 j 7 h
PR mergées (30 j)
225

Préparer son environnement

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Autres issues de sysprog21/codetrial

Toutes les issues de sysprog21/codetrial

Issues similaires

Plus d'issues Rust

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.