Bug: Infinite loop in rc-apps watch

Aperta
#174 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

  • #175 di @qualcuno — chiusa senza merge

Valutazione

Difficoltà
4/5
Tempo stimato
3-5 giorni
Idoneità per principianti
45/100
Tipo di issue
Bug
Chiarezza
Abbastanza chiara
Stato di attività
Ferma
Stack tecnologico
node.js, typescript
Ambito
cli, tooling

Direzione di ricerca

Start at the rc-apps watch entry point and inspect how .rcappsconfig and its ignoredFiles patterns are passed to the file watcher. Reproduce on Windows/WSL2 with an empty dist/ directory, then verify that generated dist/ artifacts and node_modules/ changes no longer trigger repeated builds or deployments.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

Description

The rc-apps watch command enters an infinite build loop on Windows/WSL2 environments. This happens because the file watcher triggers on build artifacts (in dist/) or dependency changes (node_modules/), creating a cycle:
Change -> Build -> Update dist/ -> Change Detected -> Build ...

This occurs even when dist/** is added to .rcappsconfig, suggesting chokidar ignore patterns are not behaving as expected in this environment or the default ignores are insufficient.

Steps to Reproduce

  1. Setup:
    • Create a new app and setup .rcappsconfig
    • Ensure dist/ folder does not exist or is empty.
  2. Execution:
    • Run rc-apps watch .
  3. Observation:
    • The CLI packages and deploys the app successfully.
    • Immediately after, it detects a change (likely the new dist/ artifact) and deploys again.
    • This loop continues indefinitely.
    • Logs shows:
Image
  1. Failure of Mitigation:
    • Adding **/node_modules/** , dist/** and **/dist/** to .rcappsconfig ignoredFiles does not stop the loop in this environment.

Environment Details

  • OS: Windows (WSL2 / Ubuntu)
  • Node Version: v22.16.0
  • Rocket.Chat Server: v7.13.2
  • CLI Version: 1.13.0 wsl-x64 node-v20.19.6
Lingua principale
TypeScript
Stelle
49
Fork
40
Metriche di merge delle PR
Nessuna PR unita negli ultimi 30g

Preparare l'ambiente

Questo progetto non fornisce container di sviluppo, Dockerfile né guida per i contributori, quindi l'ambiente è a tuo carico: parti dal suo README e consulta la nostra guida al primo contributo per i passaggi generali.

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di RocketChat/Rocket.Chat.Apps-cli

Tutte le issue di RocketChat/Rocket.Chat.Apps-cli

Issue simili

Altre issue su TypeScript

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.