Resume rows no longer bold matched letters
Mantenedores costumam responder em até 1 dia
Ninguém assumiu esta issue ainda.
Avaliação
- Dificuldade
- 3/5
- Tempo estimado
- 1-2 dias
- Facilidade para iniciantes
- 76/100
- Tipo de issue
- Bug
- Clareza
- Razoavelmente clara
- Status de atividade
- Ativa
- Stack de tecnologia
- go
- Domínio
- cli, documentation, testing-qa
Direção de pesquisa
Start in internal/tui3/resume.go at roster.rank and roster.rows, then compare hit painting in internal/tui3/palette.go and picker.rowHit in internal/tui3/picker.go. Run the listed tmux /resume capture and inspect the existing unit and e2e coverage. Done means matching indexes render bold while selection and truncation remain intact, controls stay bold, and the manual page and change entry are updated.
Escrita pelo modelo de indexação a partir do texto da issue.
Descrição
What happened
Cosmetic REGRESSION seen on commit 17ae56d34 (staging-20260921-17ae56d3496f) on 2026-09-21. Lane B1, item B1-08, typed ba in /resume; the matching Bash row had no bold escape sequence. On v0.3.0 (9258f7052), the capture contained:
\e[1mBash\e[0m
/model and settings search still bold their matched letters. The regression is likely related to docs/changes/unreleased/1321-fuzzy-match-highlight.md.
Replication
Deterministic (no model).
No no-model reproduction is established; lane B1 seeded the saved conversation with a live model.
Field (real models).
Set OPENROUTER_API_KEY, seed one saved conversation under a fresh home, then capture /resume:
root="$(mktemp -d)"; export CODEAF_HOME="$root/home"; repo="$root/repo"
mkdir -p "$CODEAF_HOME" "$repo" && git -C "$repo" init -q
git -C "$repo" -c user.name=Test -c [email protected] commit --allow-empty -m base
cd "$repo" && codeaf chat --no-host --yolo --model deepseek/deepseek-v4-flash --once "say Bash"
tmux new-session -d -s resume-style -x 160 -y 44 "cd '$repo' && CODEAF_HOME='$CODEAF_HOME' codeaf chat --no-host --yolo"
tmux send-keys -t resume-style '/resume' Enter 'ba'; tmux capture-pane -ep -t resume-style
Today the matching row contains plain Bash, not \e[1mBash\e[0m.
Budget under one minute and $0.01. As controls, type the same fragment in /model and settings search and capture their bold matched letters.
Where
roster.rank and roster.rows in internal/tui3/resume.go score and render resume matches. Compare the established hit painting in paintHit in internal/tui3/palette.go and picker.rowHit in internal/tui3/picker.go. This identifies the rendering seam, not a proven cause.
The fix
Render the matched characters in each /resume result with the same bold styling used by /model and settings search, while preserving selection and truncation behavior.
Acceptance
- e2e: Through
/resumein a tmuxcodeaf chat, typeba, capture ANSI output, assert the matching row contains\e[1mBash\e[0m, and exit 0. - e2e: Through
/modeland settings search in the same tmux session, assert their matchingBashtext remains bold after navigating and resizing. - Unit: Resume-row rendering receives fuzzy hit indexes and emits bold spans for exactly those indexes, including a noncontiguous-match case.
- The manual page
internal/manual/chat/home.mddescribes highlighted/resumematches, and the change entry'sinvalidatesnames the old belief that scoring a resume row also painted its hit.
Filed from the 2026-09-21 staging verification of 17ae56d34; the lane reports, frames and e2e logs are in the owner's handoff folder for this promotion.
- Linguagem predominante
- Go
- Estrelas
- 115
- Forks
- 14
- Merge médio
- 9h 37min
- PRs com merge (30d)
- 755
Preparar o ambiente
Ainda não verificamos os arquivos de configuração deste projeto. Comece pelo README e veja nosso guia da primeira contribuição para os passos gerais.
Primeiros passos
- Leia a issue inteira e depois o guia de contribuição do projeto.
- Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
- Faça um fork do repositório e trabalhe em uma branch.
- Abra um pull request que referencie o número da issue.
Mais de Agent-Field/CodeAF
-
area:chat bug sev:papercut
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 86/100
Agent-Field/CodeAF#1592 ·
Mantenedores costumam responder em até 1 dia
-
area:headless bug sev:critical
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 88/100
Agent-Field/CodeAF#1566 · 1 responsável ·
Mantenedores costumam responder em até 1 dia
-
area:chat feature
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 88/100
Agent-Field/CodeAF#1510 ·
Mantenedores costumam responder em até 1 dia
-
area:tests bug
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 82/100
Agent-Field/CodeAF#1489 ·
Mantenedores costumam responder em até 1 dia
-
area:chat bug good first issue sev:papercut
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 78/100
Agent-Field/CodeAF#1470 ·
Mantenedores costumam responder em até 1 dia
Todas as issues de Agent-Field/CodeAF
Issues semelhantes
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 88/100
rossoctl/context-guru#346 ·
Mantenedores costumam responder em até 1 dia
-
Dificuldade 1/5 Menos de uma hora Facilidade para iniciantes 90/100
prime-radiant-inc/evener#2883 ·
Mantenedores costumam responder em até 1 dia
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 88/100
gravitational/teleport#69805 ·
Mantenedores costumam responder em até 11 dias
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 72/100
Mantenedores costumam responder em até 1 dia
-
Under Poisson sampling, the `PLDAccountant` composes the inner event both before and after samplingAberta
Dificuldade 2/5 Meio dia Facilidade para iniciantes 78/100
google/differential-privacy#496 ·