Define precise disableCache trigger points for uncacheable operations
Mantenedores costumam responder em até 1 dia
Ninguém assumiu esta issue ainda.
Avaliação
- Dificuldade
- 4/5
- Tempo estimado
- 3-5 dias
- Facilidade para iniciantes
- 52/100
- Tipo de issue
- Bug
- Clareza
- Razoavelmente clara
- Status de atividade
- Pouca atividade
- Stack de tecnologia
- javascript, rust
- Domínio
- build-system, tooling
Direção de pesquisa
Rastreie o caminho de inicialização/escuta do servidor HTTP do Vite, o caminho de inicialização do watcher, os caminhos genéricos de criação/configuração do servidor e vite_task_client::Client::disable_cache(). Verifique que o modo de execução cacheable do Vitest não realiza listening nem watching, enquanto os modos API/server e watch optam por não fazê-lo em seus limites de operação. Depois que a semântica estiver coberta, reverta o workaround no-op de PR #481 e restaure a solicitação efetiva do cliente.
Escrita pelo modelo de indexação a partir do texto da issue.
Descrição
Problem
disableCache() currently has an imprecise contract in practice. Tool integrations can call it while configuring a server because the configuration may later lead to an uncacheable operation. That is too early.
The observed failure mode is Vite/Vitest: a task can create a Vite server for transforms or test execution without actually listening on a port or watching the filesystem. If disableCache() fires during server/config setup, cacheable tasks such as vitest run are reported as Not cached: the task opted out of caching even though no uncacheable operation happened.
Principle
disableCache() should be called immediately before the concrete operation that makes the task uncacheable, not when reading configuration that might eventually lead to such an operation.
Concrete examples:
- Listening on a port should disable caching immediately before the listen/bind operation.
- Observing the filesystem should disable caching immediately before the watcher starts observing paths.
- Creating/configuring an object that might later listen or watch should not disable caching by itself.
Temporary workaround
PR #481 makes vite_task_client::Client::disable_cache() a no-op so false opt-outs stop affecting downstream task caching while the real fix is designed and shipped.
Real solution
Move the Vite/Vitest integration points to operation boundaries:
- In Vite, call
disableCache()from the HTTP server start/listen path immediately before binding a port. - In Vite, call
disableCache()from the watcher start path immediately before filesystem observation begins. - Do not call
disableCache()from generic server creation/config resolution paths. - Verify Vitest
runwithout watch/API does not listen or watch and therefore remains cacheable. - Verify Vitest API/server mode and watch mode still opt out because they perform uncacheable operations.
After those semantics are implemented and covered, revert the vite-task client no-op workaround and restore disableCache() as an effective client request.
- Linguagem predominante
- Rust
- Estrelas
- 473
- Forks
- 44
- Merge médio
- 1d 7min
- PRs com merge (30d)
- 56
Preparar o ambiente
Inicia o contêiner de desenvolvimento do projeto no navegador, com a sua própria conta do GitHub.
- Sem Dockerfile nem arquivo Docker Compose
- Sem modelo de pull request
- Ler o guia de contribuição
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 voidzero-dev/vite-task
-
Windows: automatic filesystem tracking makes Git/MSYS sh.exe fail with MapViewOfFileEx error 487Aberta
Dificuldade 5/5 Mais de uma semana Facilidade para iniciantes 18/100
voidzero-dev/vite-task#830 ·
Mantenedores costumam responder em até 1 dia
-
Dificuldade 4/5 3-5 dias Facilidade para iniciantes 35/100
voidzero-dev/vite-task#822 ·
Mantenedores costumam responder em até 1 dia
-
Let tools mark cache directories with CACHEDIR.TAGTalvez já em andamento @lifeiscontent assumiu há 8 dias. Aberta
Dificuldade 4/5 3-5 dias Facilidade para iniciantes 35/100
voidzero-dev/vite-task#793 ·
Mantenedores costumam responder em até 1 dia
-
Preview cache hits without running tasksTalvez já em andamento @lifeiscontent assumiu há 9 dias. Aberta
Dificuldade 4/5 3-5 dias Facilidade para iniciantes 52/100
voidzero-dev/vite-task#791 ·
Mantenedores costumam responder em até 1 dia
-
Built-in tool tasks miss the cache after the workspace movesTalvez já em andamento @lifeiscontent assumiu há 9 dias. Aberta
Dificuldade 3/5 1-2 dias Facilidade para iniciantes 67/100
voidzero-dev/vite-task#790 ·
Mantenedores costumam responder em até 1 dia
Todas as issues de voidzero-dev/vite-task
Issues semelhantes
-
C-bug
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 78/100
rust-lang/rust-analyzer#23501 ·
Mantenedores costumam responder em até 1 dia
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 76/100
Mantenedores costumam responder em até 1 dia
-
[Bug]: Web chat input doesn't regain focus after a reply finishesTalvez já em andamento @GaijinSystems assumiu hoje. Aberta
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 76/100
zeroclaw-labs/zeroclaw#11658 ·
Mantenedores costumam responder em até 2 dias
-
good first issue help wanted
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 72/100
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 82/100
bytecodealliance/wasm-tools#2768 ·
Mantenedores costumam responder em até 1 dia