Lightning.AiAssistant.StuckMessageReaper (Lightning v2.19.0-pre)

View Source

Marks 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.