Skip to content

Extend Done display to 15 minutes and show up to 5 Live Activity banner rows#3761

Merged
juliusmarminge merged 1 commit into
mainfrom
t3code/la-done-ttl-banner-rows
Jul 7, 2026
Merged

Extend Done display to 15 minutes and show up to 5 Live Activity banner rows#3761
juliusmarminge merged 1 commit into
mainfrom
t3code/la-done-ttl-banner-rows

Conversation

@juliusmarminge

@juliusmarminge juliusmarminge commented Jul 7, 2026

Copy link
Copy Markdown
Member

Follow-up to #3685, server-side only (relay deploy, no app rebuild — the banner layout already renders five rows; the server was the limiter).

  • TERMINAL_AGENT_ACTIVITY_DISPLAY_TTL_MS 5 → 15 minutes: finished threads keep their Done/Failed row on the card longer. The 30-minute cron prune still outlives the display window.
  • MAX_ACTIVITY_ROWS 3 → 5 (exported from agentActivityPayloads.ts); makeAggregateState's hand-rolled slice(0, 3)s now use the shared constant. Active agents keep slot priority over finished ones, but "3 working + 1 done" now shows the Done row instead of crowding it out.
  • The expanded Dynamic Island intentionally stays at 3 rows — its ~160pt height budget clips a fourth.
  • Tests updated to the new boundaries (16-minute-old completion drops, 5-active slot priority, 5-row payload bound). Worst-case payload at 5 sanitized rows stays under the 4KB Live Activity limit; realistic payloads sit under 2.5KB.

🤖 Generated with Claude Code


Note

Low Risk
Server-side relay tuning of display TTL and row limits with matching test updates; no auth or data-model changes, deploy-only for clients.

Overview
Relay-only follow-up that aligns iOS Live Activity payloads with the client banner (five rows) and keeps Done/Failed rows visible longer.

TERMINAL_AGENT_ACTIVITY_DISPLAY_TTL_MS goes from 5 to 15 minutes, so recently finished threads stay on the aggregate card before they drop off. MAX_ACTIVITY_ROWS is raised from 3 to 5, exported from agentActivityPayloads.ts, and wired through makeAggregateState and sanitization instead of hard-coded slice(0, 3). Active agents still fill slots first; with five slots, more in-flight work fits on the lock-screen banner without crowding out completions.

Tests are adjusted for the new TTL boundary (~16 minutes drops stale Done rows), five active rows in slot-priority cases, and APNs payload caps at five sanitized activities.

Reviewed by Cursor Bugbot for commit 189943a. Bugbot is set up for automated code reviews on this repo. Configure here.

Note

Extend Done/Failed display to 15 minutes and show up to 5 Live Activity banner rows

  • Increases TERMINAL_AGENT_ACTIVITY_DISPLAY_TTL_MS from 5 to 15 minutes in AgentActivityPublisher.ts, keeping finished threads visible longer while other agents are active.
  • Increases MAX_ACTIVITY_ROWS from 3 to 5 in agentActivityPayloads.ts to match the Live Activity banner's capacity (expanded Dynamic Island still shows top 3).
  • Updates makeAggregateState to use MAX_ACTIVITY_ROWS instead of hardcoded slices of 3 for both active-only and active+terminal paths.
  • Behavioral Change: aggregate payloads now include up to 5 activities instead of 3, and completed threads remain eligible for display for 15 minutes instead of 5.

Macroscope summarized 189943a.

The banner layout already renders five rows; the server capped aggregates
at three. Raise MAX_ACTIVITY_ROWS to 5 (shared constant, exported) and
bump TERMINAL_AGENT_ACTIVITY_DISPLAY_TTL_MS from 5 to 15 minutes so
finished threads stay visible longer. The expanded Dynamic Island keeps
its three-row height budget; the 30-minute cron prune still outlives the
display window.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@coderabbitai

coderabbitai Bot commented Jul 7, 2026

Copy link
Copy Markdown

Important

Review skipped

Auto reviews are disabled on this repository. Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Repository UI

Review profile: CHILL

Plan: Pro

Run ID: 568281a1-5e5d-488a-b783-432952459468

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch t3code/la-done-ttl-banner-rows

Comment @coderabbitai help to get the list of available commands.

@github-actions github-actions Bot added vouch:trusted PR author is trusted by repo permissions or the VOUCHED list. size:S 10-29 changed lines (additions + deletions). labels Jul 7, 2026
@macroscopeapp

macroscopeapp Bot commented Jul 7, 2026

Copy link
Copy Markdown
Contributor

Approvability

Verdict: Approved

Simple configuration changes adjusting UI display parameters - extending the terminal activity display time from 5 to 15 minutes and increasing max activity rows from 3 to 5. Tests are updated accordingly. Low-risk, self-contained changes.

You can customize Macroscope's approvability policy. Learn more.

@juliusmarminge juliusmarminge merged commit 6e42231 into main Jul 7, 2026
16 checks passed
@juliusmarminge juliusmarminge deleted the t3code/la-done-ttl-banner-rows branch July 7, 2026 09:00
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size:S 10-29 changed lines (additions + deletions). vouch:trusted PR author is trusted by repo permissions or the VOUCHED list.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant