rails / spring-watcher-listen

MIT License
64 stars 35 forks source link

Incompatible with Spring 4.1.2 #36

Closed tdeo closed 9 months ago

tdeo commented 9 months ago

The newest release of Spring (4.1.2) and particularly this commit makes this watcher broken:

NoMethodError: undefined method `synchronize' for #<Spring::Watcher::Listen:0x00000001062a2e50 ...
...

/Users/thierry/.asdf/installs/ruby/3.2.2/lib/ruby/gems/3.2.0/gems/spring-watcher-listen-2.1.0/lib/spring/watcher/listen.rb:61:in `changed'
/Users/thierry/.asdf/installs/ruby/3.2.2/lib/ruby/gems/3.2.0/gems/listen-3.8.0/lib/listen/event/config.rb:28:in `call'
/Users/thierry/.asdf/installs/ruby/3.2.2/lib/ruby/gems/3.2.0/gems/listen-3.8.0/lib/listen/event/processor.rb:117:in `block in _process_changes'
/Users/thierry/.asdf/installs/ruby/3.2.2/lib/ruby/gems/3.2.0/gems/listen-3.8.0/lib/listen/thread.rb:26:in `rescue_and_log'
/Users/thierry/.asdf/installs/ruby/3.2.2/lib/ruby/gems/3.2.0/gems/listen-3.8.0/lib/listen/event/processor.rb:116:in `_process_changes'
/Users/thierry/.asdf/installs/ruby/3.2.2/lib/ruby/gems/3.2.0/gems/listen-3.8.0/lib/listen/event/processor.rb:25:in `block in loop_for'
/Users/thierry/.asdf/installs/ruby/3.2.2/lib/ruby/gems/3.2.0/gems/listen-3.8.0/lib/listen/event/processor.rb:20:in `loop'
...

I believe this call to synchronize should be changed to @mutex.synchronize to mimic what happened in that commit

byroot commented 9 months ago

I just released Spring 4.1.3 which should fix this issue.

tdeo commented 9 months ago

Thank you very much for the reactivity 🙏