Lightning.AiAssistant.StuckMessageReaper (Lightning v2.19.0-pre)
View SourceMarks AI chat messages abandoned in :processing as errored.
A message is left :processing forever when its job dies without emitting
telemetry. The main case is a deploy: Oban's watchman gives up after the
grace period, stops the producer, and only then kills the running task - so
the handler that would have reported it is already gone.
Until something clears it the panel stays locked for everyone in that
session, and nothing raises. processing_started_at is written when a
message starts; this is what reads it.