feat: mailbox-centric activity view, reduce log noise from empty polling cycles

Agent-Logs-Url: https://github.com/christianlouis/InboxConverge/sessions/1a78a249-127f-4a73-a454-3c6bafbf6e58

Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com>
This commit is contained in:
copilot-swe-agent[bot]
2026-03-28 18:45:38 +00:00
parent ccd74c34b6
commit dd4532f660
8 changed files with 229 additions and 117 deletions
@@ -297,6 +297,10 @@ async def list_account_runs(
account_id: int,
page: int = Query(1, ge=1),
page_size: int = Query(20, ge=1, le=100),
has_emails: Optional[bool] = Query(
None,
description="When true, only return runs that fetched at least one email",
),
current_user: User = Depends(get_current_active_user),
db: AsyncSession = Depends(get_db),
):
@@ -314,6 +318,8 @@ async def list_account_runs(
)
base = select(ProcessingRun).where(ProcessingRun.mail_account_id == account_id)
if has_emails is True:
base = base.where(ProcessingRun.emails_fetched > 0)
total = (
await db.execute(select(func.count()).select_from(base.subquery()))
).scalar_one()