Skip to content

fix: preserve profile recovery guidance and repair browser validation - #695

Merged
pedronauck merged 2 commits into
mainfrom
fix/loop-record-navigation-ci
Oct 6, 2026
Merged

pedronauck merged 2 commits into
mainfrom
fix/loop-record-navigation-ci

Conversation

@pedronauck

@pedronauck pedronauck commented Oct 6, 2026 •

Copy link
Copy Markdown
Member

What & why

A orientação de recuperação de um perfil desaparecia enquanto o navegador tentava registrar novamente o cliente de janelas. O shard Web 3 capturou o tooltip com o ID correto e depois sua remoção durante o retry, embora o perfil continuasse indisponível. O estado agora preserva o último erro durante tentativas automáticas, retomadas por visibilidade e retries explícitos; sucesso ou troca de workspace/perfil limpam o erro.

A validação também corrige três precondições dos E2Es existentes:

  • Tasks aguarda o conteúdo do Loop aparecer antes de clicar novamente no dock; o trace da main mostrou o clique prematuro minimizando Tasks enquanto ela ainda estava focada.
  • O PTY usado pelo CLI responde à consulta DA1 exigida pelo Fish. Sem um emulador respondendo, o shell demorava cerca de dez segundos para executar a entrada, excedendo a detecção aproximada do journal.
  • O TUI real é compilado antes de entrar no HOME isolado; executar go run lá criava um cache Go somente leitura que impedia o teardown.

As assertivas, os prazos e o shell padrão dos cenários permanecem iguais. O E2E de recuperação de perfil não foi alterado.

Implementação e verificação executadas com Codex.

How you verified it

  • Regressão de registro na suíte proprietária: os três casos novos falham antes da correção; os 12 testes passam depois, via Turbo na raiz.
  • CLI com Fish: dez reproduções falharam com o fixture anterior. Os dois cenários de terminal corrigidos passaram três vezes cada (6/6, 45,3s) com binário diagnóstico.
  • React Doctor: 100/100. CodeRabbit aprovou o head e0d85d929; nenhuma discussão de revisão está pendente.
  • CI final do head e0d85d92959c7da8c063b9f2f042e92574037f88: 33 checks aprovados e 17 skips condicionais esperados, sem pendências/falhas. Run 37437218903. Os quatro shards Web passaram; desktop passou 30/30, incluindo a medição real de uma hora. Restauração de 12 janelas: 319 ms, mantendo o limite de 500 ms.
  • make gate final passou (Web lint sem warnings/erros, typecheck, testes e codegen). O shard Web 4 oficial passou integralmente (73/73, 15,4 min), com binário normal, incluindo Tasks, CLI/Fish (174 ms) e TUI (2,8 s); o shard 3 também passou (54/54, 9 min), incluindo o E2E-031 original. A CI Linux do head e0d85d929 confirmou o mesmo shard (54/54, 9,3 min; job 112182264103). O primeiro shard local confirmou Tasks e revelou as duas falhas de fixture descritas acima (71 passes, 2 falhas).
  • Cinco execuções locais do E2E de perfil anterior passaram; o trace Linux e a regressão determinística comprovam a falha de duração do erro, sem inferir reprodução local por timing.

Impact

A mudança de produção se restringe à duração da orientação Web durante retry. Ferramentas nativas, contratos CLI/HTTP/UDS, hooks, configuração, dados persistidos e isolamento por workspace/perfil permanecem compatíveis. Nota de release, cenários QA, relatório e auditoria de impacto atualizados. Skills oficiais e site mantêm seus contratos.

  • make gate passes locally; delivery also requires all current-head required CI checks green
  • New or changed behavior is covered by the existing owning suites
  • If an agent wrote or co-wrote this, I named it above and verified the result myself

@vercel

vercel Bot commented Oct 6, 2026 •

Copy link
Copy Markdown

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

Project Deployment Actions Updated
compozy-site Ready Ready Preview Oct 6, 2026 8:39am UTC

Request Review

@coderabbitai

coderabbitai Bot commented Oct 6, 2026 •

Copy link
Copy Markdown
Contributor

Review in Change Stack →

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration
  • Configuration used: Repository: compozy/compozy/.coderabbit.yaml
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: 49749174-7151-45ad-a365-d0ab914604b1
📥 Commits

Reviewing files that changed from the base of the PR and between 8620cec and e0d85d9.

⛔ Files ignored due to path filters (7)
  • .release-notes/profile-recovery-guidance.md is excluded by !**/*.md
  • docs/_memory/change-impact.md is excluded by !**/*.md
  • docs/qa/reports/2026-10-05-dependency-upgrades.md is excluded by !**/*.md
  • docs/qa/scenarios/ET-profile-operations-recovery.md is excluded by !**/*.md
  • docs/qa/scenarios/ET-terminal-cli-public-contract.md is excluded by !**/*.md
  • docs/qa/scenarios/ET-terminal-stream-resilience.md is excluded by !**/*.md
  • web/e2e/__tests__/terminal.spec.ts is excluded by !web/e2e/**
📒 Files selected for processing (2)
  • web/src/systems/os/hooks/__tests__/use-window-manager-client.test.tsx
  • web/src/systems/os/hooks/window-manager-client-registration-store.ts

Included review availability: This review used your included allowance. Your plan provides up to 8 included reviews per hour; 7 remain after this review.


Walkthrough

Registration recovery attempts now retain the original error while registration is pending. Successful registration clears the error. Tests cover timer-based, visibility-based, and explicit recovery.

Changes

Registration recovery

Layer / File(s) Summary
Preserve errors during registration recovery
web/src/systems/os/hooks/window-manager-client-registration-store.ts, web/src/systems/os/hooks/__tests__/use-window-manager-client.test.tsx
The registering context now permits an error. Visibility resume, explicit recovery, and retry elapsed transitions retain the stored error. Tests verify that the error remains during registration and clears after success.

Priority: ⬇️ Low

Estimated code review effort: 2 (Simple) | ~10 minutes

Change: Bug fix

Merge Risk: ⚪ Minimal · up to e0d85

The change keeps the profile recovery guidance visible while registration retries are pending and clears it after success. No merge-blocking risk was identified in the reviewed changes.

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff. Analyzed 0 functions across 2…
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly summarizes both main changes: preserving profile recovery guidance during retries and repairing browser validation.
✨ Finishing Touches
📝 Generate docstrings
  • Commit to this branch
  • Create a new PR
🧪 Generate unit tests (beta)
  • Commit to this branch
  • Create a new PR
  • Autopilot · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

coderabbitai[bot]
coderabbitai Bot previously approved these changes Oct 6, 2026
@github-actions

github-actions Bot commented Oct 6, 2026 •

Copy link
Copy Markdown
Contributor

React Doctor found no new issues. 🎉

Reviewed by React Doctor for commit e0d85d9.

@greptile-apps

greptile-apps Bot commented Oct 6, 2026 •

Copy link
Copy Markdown

RetriggerConfidence Score: 5/5

[Medium risk] Fixes profile recovery display and terminal test fixtures.

The reviewed changes appear safe to merge, subject to the repository’s required current-head CI checks.

Summary

The PR keeps profile-recovery guidance visible while window-manager registration retries, and adjusts existing browser-test fixtures and navigation timing.

  • Adds hook coverage for timer, visibility-resume, and explicit retries.
  • Updates terminal E2E fixtures to answer DA1 queries and build the TUI before entering the isolated home.
  • Waits for visible Loop detail before the Tasks test returns through the dock.
Diagram
%%{init: {'theme': 'neutral'}}%%
flowchart LR
  Failure[Registration fails] --> Waiting[Retain error while waiting]
  Waiting --> Retry[Retry registration; retain guidance]
  Retry -->|Failure| Waiting
  Retry -->|Success| Clear[Clear error]
  Waiting -->|Workspace or profile switch| Fresh[Fresh registration state]
  Retry -->|Workspace or profile switch| Fresh
Loading

Reviews (2) · Last reviewed commit: "fix: preserve profile recovery guidance ..."

@pedronauck pedronauck changed the title test: wait for loop detail before returning to tasks fix: preserve profile recovery guidance and repair browser validation Oct 6, 2026
@pedronauck
pedronauck merged commit 3dd014b into main Oct 6, 2026
50 checks passed
@pedronauck
pedronauck deleted the fix/loop-record-navigation-ci branch October 6, 2026 10:04

This branch was successfully deployed

1 active deployment
Preview — e0d85d92 Deployed Oct 6, 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.

1 participant