Module: Silas::Inbox::Broadcastable
- Extended by:
- ActiveSupport::Concern
- Included in:
- Step, ToolInvocation, Turn
- Defined in:
- app/models/concerns/silas/inbox/broadcastable.rb
Overview
Live trace: after_commit callbacks broadcast the changed row (rendered as
a partial) to the session's Turbo stream. Mirrors ChannelDeliveryJob's
after_commit -> off-loop decouple: the _later broadcasts render in
Turbo's own job, never on the durable loop, and every broadcast is wrapped
so a cable/render failure can NEVER roll back or slow a turn.
Included in Turn/Step/ToolInvocation always; every callback early-returns unless streaming is actually live, so headless hosts pay nothing.