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.