--dryRun fails for navigate callbacks and startNavigation/endNavigation
Mantenedores costumam responder em até 1 dia
Ninguém assumiu esta issue ainda.
Avaliação
- Dificuldade
- 2/5
- Tempo estimado
- 1-3 horas
- Facilidade para iniciantes
- 78/100
- Tipo de issue
- Bug
- Clareza
- Claramente especificada
- Status de atividade
- Ativa
- Stack de tecnologia
- cli, typescript
- Domínio
- cli, testing-qa
Direção de pesquisa
Comece com UserFlowMock em packages/cli/src/lib/commands/collect/utils/user-flow/user-flow.mock.ts. Faça navigate chamar o requestor quando for uma função e, caso contrário, chamar page.goto. Em seguida, adicione os métodos startNavigation e endNavigation, no estilo no-op, que apenas registram em log, seguindo o padrão de startTimespan e endTimespan. Está concluído quando um caso e2e em dry-run com navigate baseado em callback e outro com startNavigation/endNavigation são concluídos sem gravar um relatório e sem gerar um erro de protocolo.
Escrita pelo modelo de indexação a partir do texto da issue.
Descrição
Problem
collect --dryRun fails for any flow that navigates with a callback, or calls startNavigation/endNavigation. It fails before writing any report.
UserFlowMock (packages/cli/src/lib/commands/collect/utils/user-flow/user-flow.mock.ts) stands in for Lighthouse's UserFlow in a dry run:
-
navigate(requestor)always callspage.goto(requestor). Whenrequestoris a function, as inflow.navigate(async () => page.click('a')), Chrome rejects it:ProtocolError: Protocol error (Page.navigate): Invalid parameters Failed to deserialize params.url - BINDINGS: mandatory field missing at position 50 -
It has no
startNavigationorendNavigationmethods. A flow that calls them, or a recording withstartNavigation/endNavigationsteps, cannot run.
Reproduction
user-flow 0.21.6, with no Lighthouse config:
// user-flows/click.uf.mts
export default {
flowOptions: { name: 'Click' },
interactions: async ({ flow, page, collectOptions }) => {
await flow.navigate(collectOptions.url);
await flow.navigate(async () => {
await page.click('a');
});
},
};
npx user-flow collect --url https://example.com --ufPath ./user-flows --dryRun
flow.navigate(collectOptions.url) alone dry-runs fine.
Proposed fix
In UserFlowMock:
navigate: run the callback whenrequestoris a function, otherwisepage.goto(requestor);- add
startNavigationandendNavigation, which only log, likestartTimespanandendTimespan.
Tests: a dry-run e2e case with a callback navigate and with startNavigation/endNavigation.
Context: these are how @push-based/lighthouse-soft-navigation measures soft navigations, so dry runs of those flows fail today.
- Linguagem predominante
- HTML
- Estrelas
- 131
- Forks
- 7
- Merge médio
- 7h 58min
- PRs com merge (30d)
- 42
Preparar o ambiente
Este projeto não oferece contêiner de desenvolvimento, Dockerfile nem guia de contribuição, então a configuração fica por sua conta: 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 push-based/user-flow
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 66/100
push-based/user-flow#356 ·
Mantenedores costumam responder em até 1 dia
-
Dificuldade 5/5 Mais de uma semana Facilidade para iniciantes 24/100
push-based/user-flow#285 ·
Mantenedores costumam responder em até 1 dia
-
Dificuldade 4/5 3-5 dias Facilidade para iniciantes 35/100
push-based/user-flow#272 · 1 comentário ·
Mantenedores costumam responder em até 1 dia
-
nx-plugin - init command adds `"PLUGIN_NAME": "^0.0.0"` to `package.json`Talvez livre de novo @ChristopherPHolder assumiu há 1211 dias e não há nenhum pull request aberto. Abertabug DX
push-based/user-flow#248 · 1 responsável ·
Mantenedores costumam responder em até 1 dia
-
Dificuldade 3/5 1-2 dias Facilidade para iniciantes 35/100
push-based/user-flow#247 · 1 comentário ·
Mantenedores costumam responder em até 1 dia
Todas as issues de push-based/user-flow
Issues semelhantes
-
bug
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 85/100
Mantenedores costumam responder em até 1 dia
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 62/100
Mantenedores costumam responder em até 1 dia
-
automated documentation maintenance
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 76/100
github/gh-aw-mcpg#16482 ·
Mantenedores costumam responder em até 1 dia
-
[Bug]: get_guide returns its text only in the content block; the structured result has no guide textAberta
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 75/100
Mantenedores costumam responder em até 1 dia
-
model configuration recoverability
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 72/100
vybestack/llxprt-code#4092 · 1 comentário ·
Mantenedores costumam responder em até 1 dia