Skip to content

Speaker name field loses focus after one character on the role-mapping screen #1277

Description

@seekmistar01

Area

prototype/speaker-role-mapping.html — the screen that consumes the layout-first start handoff and assigns each placed video a podcast role.

Problem

Editing Speaker name is broken: you can only enter one character at a time.

The name field is an <input data-field="name"> wired to an input listener that calls updateTrack(), which unconditionally calls render(). render() rebuilds every track row with tracksElement.replaceChildren(...), destroying and recreating the very <input> the creator is typing in. So after the first keystroke the field is replaced, focus and caret are lost, and the next character does not land — the creator must click back into the field for each letter.

Steps to reproduce

  1. Open prototype/speaker-role-mapping.html (the seeded tracks land with generic names like "Host video" / "Guest video").
  2. Click into Speaker name and type Dana Brooks.
  3. Only D is entered; focus is dropped. Each further character requires re-clicking the field.

Expected

Typing a speaker name updates live without losing focus, exactly like a normal text field. Labeling speakers is the core action of this screen.

Suggested fix

A name only affects the summary copy (issue titles); it does not change the badges or the readiness gate (those depend on role/sig/decision). Split render() into a full rebuild plus a summary-only refresh, and route field === "name" edits to the summary refresh so the track rows (and the focused input) are left intact. Role/signal/decision changes (<select> elements, plus the role->suggested reset) keep the full rebuild.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions