From 2816ca52dc855109e6a3d1866e935cc3dab48809 Mon Sep 17 00:00:00 2001 From: Matchu Date: Sat, 29 Jul 2023 10:14:58 -0700 Subject: [PATCH] Fix file reloading in a Vagrant environment During this upgrade process, `rails server` hasn't been updating its logic when files changed, so every change had to be accompanied by a restart. This turned out to be because Vagrant's networked filesystem to share between the host and guest systems doesn't support the filesystem update events Rails is listening for. So, we switch to a simpler file watcher that does more work but doesn't depend on the filesystem events! --- config/environments/development.rb | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/config/environments/development.rb b/config/environments/development.rb index e5acc054..4aef6ba6 100644 --- a/config/environments/development.rb +++ b/config/environments/development.rb @@ -31,6 +31,20 @@ OpenneoImpressItems::Application.configure do config.assets.debug = true config.react.variant = :development + + # Fix file reloading in a Vagrant environment. + # The `ActiveSupport::EventedFileUpdateChecker` is faster, but doesn't work + # correctly for Vagrant's networked folders! + # https://stackoverflow.com/a/36616931 + # + # TODO: In the future, if we don't expect the use of Vagrant or similar tech + # anymore, we could remove this for a minor dev perf improvement. We're on + # Vagrant now because it's hard to get older Ruby running on many modern + # systems, but later on that could change! + # + # NOTE: But I also see that this might be the default anyway in current + # Rails? idk when that changed... so maybe just delete this later? + config.file_watcher = ActiveSupport::FileUpdateChecker end LocalImpressHost = 'betanewimpress.openneo.net'