[PATCH RFC 04/11] review-tui: poll every revision on u/U updates
Christian Brauner <[email protected]> Sat, 18 Jul 2026 00:37:40 +0200
| Newsgroups | org.kernel.linux.tools |
|---|---|
| Message-ID | <[email protected]> |
Hook update_revision_message_counts() into the per-series update loop so all known versions of a tracked series get new-mail detection, not just the tracked revision. Revisions discovered by update_series_tracking() moments earlier are picked up in the same pass because the poller re-reads the catalog. Assisted-by: LLM Signed-off-by: Christian Brauner (Amutable) <[email protected]> --- src/b4/review_tui/_modals.py | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/src/b4/review_tui/_modals.py b/src/b4/review_tui/_modals.py index 51e6b4e..5943426 100644 --- a/src/b4/review_tui/_modals.py +++ b/src/b4/review_tui/_modals.py @@ -2828,6 +2828,26 @@ class UpdateAllScreen(ModalScreen[Dict[str, Any]]): if r.get('counts_updated'): self._result['followup_updated'] += 1 + # Poll non-tracked revisions for new mail; revisions + # discovered by update_series_tracking moments ago are + # picked up because the poller re-reads the catalog. + try: + rc = b4.review.tracking.update_revision_message_counts( + self._identifier, [series], topdir=self._topdir + ) + self._result['revision_counts_updated'] = self._result.get( + 'revision_counts_updated', 0 + ) + rc.get('updated', 0) + except liblore.OperationCancelledError: + self._cancelled = True + break + except Exception as ex: + logger.debug( + 'Per-revision count update failed for %s: %s', + series.get('change_id', ''), + ex, + ) + self.app.call_from_thread(self._update_progress, i + 1, subject) return self._result -- 2.53.0