redwood icon indicating copy to clipboard operation
redwood copied to clipboard

[Bug?]: Dev server builds break after multiple consecutive filesystem saves

Open shivghai opened this issue 7 months ago • 6 comments

What's not working?

Happening to everyone on my team.

I don't know if this also happens with the web side [Edit - it does not], but if you save an API-side file consecutively (>10x times), the build loop for the dev server breaks and after this state, any changes to the api side aren't reflected in the running code.

This makes for a VERY VERY VERY painful dev experience.

The first error I see on server logs is this: Screenshot 2024-06-25 at 9 18 56 AM

After that, any changes on the api side aren't reflected and we have to kill the server to have those changes be reflected. The server still runs with the old code.

This is very very consistent. I think this may happen with large Redwood apps (see https://github.com/redwoodjs/redwood/issues/9237 for another example of an issue that my team saw first, presumably because we actually have a large production app).

How do we reproduce the bug?

Save a file (I can 100% repro with API side changes) multiple times consecutively

What's your environment? (If it applies)

yarn rw info:

  System:
    OS: macOS 13.6
    Shell: 5.9 - /bin/zsh
  Binaries:
    Node: 20.11.1 - /private/var/folders/8y/99byt5ms31d1z8jgjfmyvcg80000gn/T/xfs-018abefd/node
    Yarn: 3.2.1 - /private/var/folders/8y/99byt5ms31d1z8jgjfmyvcg80000gn/T/xfs-018abefd/yarn
  Databases:
    SQLite: 3.39.5 - /usr/bin/sqlite3
  Browsers:
    Chrome: 126.0.6478.115
    Safari: 16.6
  npmPackages:
    @redwoodjs/auth-auth0-setup: 7.5.0 => 7.5.0 
    @redwoodjs/cli-data-migrate: 7.5.0 => 7.5.0 
    @redwoodjs/core: 7.5.0 => 7.5.0 
  redwood.toml:
    [web]
      sourceMap = true
      title = "Ultralight Labs"
      bundler = "webpack"
      port = "${PORT:8910}"
      host = "0.0.0.0"
      apiUrl = "/api"
      includeEnvironmentVariables = [
           REDACTED
      ] # any ENV vars that should be available to the web side, see https://redwoodjs.com/docs/environment-variables#web
    [api]
      port = "${PORT:8911}"
      host = "0.0.0.0"
    [browser]
      open = false
    [generate]
      tests = false
      stories = false
    [notifications]
      versionUpdates = ["latest"]

Are you interested in working on this?

  • [x ] I'm interested in working on this

shivghai avatar Jun 25 '24 13:06 shivghai