ActivityKit - Live Activity countdown needs Wallet - Upgraded Boarding Pass Live Activity-style behavior

Hi,

We need Wallet Boarding Pass Live Activity style countdown inside Live Activity.

Requirements

  • Show only hours+minutes (no seconds ever).
  • Format examples (Turkish locale concept):
    • T > 60 min: "1sa 14d" (HHh MMm)
    • T < 60 min: "58d"
  • At exactly zero show a single final zero value (e.g. "0d").
  • Do NOT show seconds or any upward (elapsed) counting after zero.
  • When remaining time < 0 immediately replace display with status text (e.g. "ON TIME").
  • Never display negative or increasing elapsed time.

Discovered Current Timer Methods (Observed)

  1. Method 1 (Text(date, style: .relative)):
    • After reaching target it continues counting UP (should stop).
    • Seconds appear automatically once remaining < 1 hour.
  2. Method 2 (Text(date, style: .timer)):
    • After reaching target it continues counting UP (should stop).
    • Seconds are always visible from start.
  3. Method 3 (Text(timerInterval: Date.now ... targetDate, countsDown: true)):
    • Stops at target (no upward counting) but seconds are always visible; cannot limit to single zero then freeze before status swap.

Requested Enhancement Provide a behavior where the countdown displays hours+minutes, renders a single zero-minute value at the boundary (no seconds), then transitions to supplied status text.

Request Public API or configuration to:

  1. Select displayed units (hours, minutes only).
  2. Stop automatic updating after rendering the zero frame (prevent upward counting).
  3. Prevent post-target elapsed counting (no positive re-growth).
  4. Allow immediate swap-to-text after zero (remaining < 0) while permitting a single zero display at the boundary.

Why Align UX with Wallet; need predictable single zero then status, no seconds, no elapsed confusion.

Thank you.

ActivityKit - Live Activity countdown needs Wallet - Upgraded Boarding Pass Live Activity-style behavior
 
 
Q