diff --git a/src/toad/transcript_publication.py b/src/toad/transcript_publication.py index 18bbe3567..aef0c8613 100644 --- a/src/toad/transcript_publication.py +++ b/src/toad/transcript_publication.py @@ -617,7 +617,7 @@ def observe_thread(self, owner: TranscriptPresentation) -> None: ) ) # The shared status may already be published before this view subscribes. - view.thread_observed() + view.consume_thread_presentation() @property def reports_coverage(self): diff --git a/src/toad/widgets/conversation.py b/src/toad/widgets/conversation.py index 59a8c317f..a948197cc 100644 --- a/src/toad/widgets/conversation.py +++ b/src/toad/widgets/conversation.py @@ -462,7 +462,10 @@ def arm_thread_read(self) -> None: """Capture turn token and client authority for the next observed presentation.""" self._thread_read = self.agent_binding.thread_read() - def thread_observed(self, event: core_events.ThreadRowsChanged | None = None) -> None: + def thread_observed(self, event: core_events.ThreadRowsChanged) -> None: + self.consume_thread_presentation() + + def consume_thread_presentation(self) -> None: """Consume this thread's one observed presentation.""" presentation = self.app.coordination_access.thread_status.open( self.status_thread().name