Skip to content

feat: engine-scoped 404 and 500 error pages#89

Merged
eclectic-coding merged 1 commit into
mainfrom
feat/error-pages
May 27, 2026
Merged

feat: engine-scoped 404 and 500 error pages#89
eclectic-coding merged 1 commit into
mainfrom
feat/error-pages

Conversation

@eclectic-coding
Copy link
Copy Markdown
Owner

Closes #50

Summary

  • rescue_from ActiveRecord::RecordNotFound renders the engine's 404 view within the dashboard chrome
  • rescue_from StandardError renders the engine's 500 view in production; re-raises when consider_all_requests_local is true so the Rails debug page is preserved in development
  • Declaration order is intentional — StandardError is declared first so the more-specific RecordNotFound handler (declared last) takes precedence
  • Both error views use existing CSS classes (sqw-page-header, sqw-empty) and include a "Back to Dashboard" link

Test plan

  • bundle exec rake passes (329 examples, 0 failures, no Rubocop offenses)
  • GET /solid_stack/jobs/99999 returns 404 with dashboard chrome
  • 500 page visible by temporarily setting consider_all_requests_local = false in spec/dummy/config/environments/development.rb

🤖 Generated with Claude Code

rescue_from ActiveRecord::RecordNotFound always renders the engine's 404
view within the dashboard chrome. rescue_from StandardError renders the
engine's 500 view in production; re-raises in development so the Rails
debug page is preserved. Declaration order ensures the more-specific
RecordNotFound handler takes precedence over StandardError.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@eclectic-coding eclectic-coding merged commit 6500218 into main May 27, 2026
5 checks passed
@eclectic-coding eclectic-coding deleted the feat/error-pages branch May 27, 2026 11:07
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[v0.9.0] DX: engine-scoped error pages

1 participant