$ the-wire · showcase
Static routes short-circuit, Active Job handlers work in non-main Ractors
By RepoJournal · Filed · About Rails · Composed from the cited sources · methodology
Rails spent the day on request-path CPU and Ractor isolation: static routes skip pattern matching, unlogged structured events skip construction, and Active Job's rescue_from, retry_on and discard_on now survive ractorize!.
Short-circuit route matching for static paths rails/rails
Journey::Routes now precomputes enough to identify static paths such as GET /posts from method and path alone, instead of walking the GTG simulator, running the route's pattern regexp and extracting params. amatsuda's motivation is that this cost is mostly CPU and is paid on every request to the many static routes a typical app carries: index, new, nested collections, admin pages, health checks.
Make Active Job's exception handlers work in non-main Ractors rails/rails
After ractorize!, a job raising in a non-main Ractor failed with Ractor::IsolationError on rescue_handlers, or on after_discard_procs when nothing handled the error, so rescue_from, retry_on and discard_on simply did not work there. rescue_from now makes its handler procs shareable when ActiveSupport::Ractors.unshareable_proc_action is set, as callbacks already do, and the change extends to con...
Don't build structured events that no subscriber will consume rails/rails
Every request emits action_controller.request_started and request_completed, and the log subscriber was discarding them when the logger's level was set above theirs, after the controller subscriber had already built the params-filtered payload, the reporter had resolved it into an event hash with tags, context and timestamp, and caller_locations had been captured. Those events are no longer bui...
Remove the unused `left_side` association from the habtm join model rails/rails
has_and_belongs_to_many's generated join model has declared a belongs_to :left_side back to the owner since ad7b5efb55b, but its only reader was middle_options[:source], which had no effect because the middle association is a plain has_many with no :through. kamipo removes the association outright, a follow-up to the earlier removal of left_reflection storage; nothing in an app could have depen...
+ cli: make -r/--require global and support custom backends rails/lemans
lemans shipped 1.5.2, and the CLI work in the same push makes -r/--require a global flag and adds support for custom backends. The README now points at lemans-remote and lemans-viewer, while the Meta Muse fix attaches a prompt_cache_key to each run and reuses it when a failed run is restarted.