Skip to content

ruby_native preview: broken /docs/install link and misleading cause for a non-2xx config response #87

Description

@joemasilotti

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    Status
    In progress

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions