Two problems in check_upstream! (lib/ruby_native/cli/preview.rb:36):
puts "Rails server is reachable at #{@upstream}, but #{CONFIG_PATH} returned #{response.code}."
puts ""
puts "Make sure the ruby_native gem is installed and mounted:"
puts " https://rubynative.com/docs/install"
1. The link 404s
There is no /docs/install page. The install and mount instructions live at /docs/setup. Swept every rubynative.com/docs/ link in lib/, exe/, and README.md against the pages in the platform repo, and this is the only broken one.
2. The suggested cause is usually wrong
Any non-2xx lands on the "gem is not installed and mounted" message, but a correctly installed gem returns 500 for plenty of ordinary reasons. Pending migrations is the common one: ActiveRecord::PendingMigrationError fails the request before the engine's route is ever reached, so the app is unbootable in a browser too. Anyone who follows the message goes and re-verifies a mount that was already fine.
Suggested copy
Reserve the mount hint for 404, which is what an unmounted engine actually returns, and point 5xx at the app itself:
Rails server is reachable at http://localhost:3000, but /native/config.json returned 500.
Your Rails app returned an error. Open http://localhost:3000 in a browser
and fix what it reports, then try again. Pending migrations are a common cause:
bin/rails db:migrate
Splitting on response.code keeps both messages accurate without guessing. Worth checking the same pattern in wait_for_tunnel, which polls the same path.
Two problems in
check_upstream!(lib/ruby_native/cli/preview.rb:36):1. The link 404s
There is no
/docs/installpage. The install and mount instructions live at/docs/setup. Swept everyrubynative.com/docs/link inlib/,exe/, andREADME.mdagainst the pages in the platform repo, and this is the only broken one.2. The suggested cause is usually wrong
Any non-2xx lands on the "gem is not installed and mounted" message, but a correctly installed gem returns 500 for plenty of ordinary reasons. Pending migrations is the common one:
ActiveRecord::PendingMigrationErrorfails the request before the engine's route is ever reached, so the app is unbootable in a browser too. Anyone who follows the message goes and re-verifies a mount that was already fine.Suggested copy
Reserve the mount hint for 404, which is what an unmounted engine actually returns, and point 5xx at the app itself:
Splitting on
response.codekeeps both messages accurate without guessing. Worth checking the same pattern inwait_for_tunnel, which polls the same path.