celld dev watcher is missing Access-event filter
denniseijpe opened ·
I tried the celld dev command, but kept getting endless repeating:
```sh ● change detected; rebuilding the application ● restarting the application ready http://127.0.0.1:8787 ```
I'm running CachyOS linux.
I let gpt-5.6-sol have a go at it, to check whether it's caused by `notify 8.2`. It came up with a Linux-specific fix:
## gpt-5.6-sol
Instrumenting ProjectWatcher showed that notify emits Access(Open(Any)) events while celld/esbuild reads project files:
```text Access(Open(Any)) package.json Access(Open(Any)) tsconfig.json Access(Open(Any)) dist/index.js Access(Open(Any)) assets/index.html ```
next_relevant_change() treats every non-ignored event as a change. Rebuilding reads these files again, creating the loop. The .celld directory ignore works correctly and is unrelated.
Filtering access events fixes the issue:
```rust if !matches!(event.kind, notify::EventKind::Access(_)) && event.paths.iter().any(|path| { !ignored_project_path(&self.project, path) }) ```
## Result After applying this filter, celld remains stable.
Thanks for building celld. It's awesome.
- BA
Thanks for the report. This is now fixed and will be released in the next version.
bartlomiejureferenced fd7b96b993f52 months ago on GitHub
bartlomiejureferenced b61356b29deb2 months ago on GitHub
bartlomiejureferenced 7ac68e0bd2a72 months ago on GitHub
bartlomiejureferenced 10cb1303dac72 months ago on GitHub