Skip to content

fix(mobile): render the home screen activity widget - #10350

Open
StiensWout wants to merge 3 commits into
pingdotgg:mainfrom
StiensWout:t3code/fix-widget-iphone-build
Open

fix(mobile): render the home screen activity widget#10350
StiensWout wants to merge 3 commits into
pingdotgg:mainfrom
StiensWout:t3code/fix-widget-iphone-build

Conversation

@StiensWout

@StiensWout StiensWout commented Sep 6, 2026

Copy link
Copy Markdown
Contributor

The iOS home-screen widget stays blank because the app registers only its Live Activity layout. This registers a separate small, medium, and rectangular WidgetKit layout with a black background, compact activity rows, and a safe "No active agents" state.

The existing foreground/sign-in/connection reconciliation publishes the relay snapshot even when Live Activities are disabled or a lock-screen card already exists. Direct connections now publish activity from their existing shell subscriptions, using the shared agent-status projection. Their snapshots override older relay rows for the same environment, completed or removed work clears, and cached activity reads as delayed. Cloud sign-out clears relay data while retaining directly paired environments; failed relay reads retain the last snapshot, and late responses cannot overwrite a newer refresh or account. Timestamp-only changes skip native widget writes. Live Activity rendering is unchanged. Direct updates depend on the app running or resuming; this adds no background polling.

Fixes #6641.

Validation: 53 focused mobile tests pass, mobile typecheck passes, and changed-file lint, formatting, and diff checks pass. CI exposed an unrelated web-test teardown race; the test now cancels queued animation frames before restoring globals. A signed Release build was archived, exported, installed, and launched on an iPhone 15 Pro Max using a personal paid developer team and app/widget App Group profiles. The user confirmed the Agent Activity widget renders correctly. The first device build exposed the missing direct-connection data path. The updated signed archive and IPA export succeeded, signature verification passed, and the update is installed on the same iPhone. After opening the updated app, its native WidgetKit App Group snapshot changed from zero rows to one running agent with the live environment ID, confirming the direct-connection path reaches native widget storage. The user-provided iPhone screenshot below confirms both small and medium widgets display the running agent. The local test build omits the unrelated share extension because of its provisioning issue; this does not change the PR source.

Physical iPhone verification, cropped from the user-provided screenshot:

Small Agent Activity widget showing one running agent

Medium Agent Activity widget showing one running agent

Made with GPT-6 via Codex in T3 Code.

@github-actions github-actions Bot added vouch:trusted PR author is trusted by repo permissions or the VOUCHED list. size:L 100-499 changed lines (additions + deletions). labels Sep 6, 2026
@macroscopeapp

macroscopeapp Bot commented Sep 6, 2026

Copy link
Copy Markdown
Contributor

Approvability

Verdict: Not approved

Macroscope's review found this PR not approvable — This PR adds a new native iOS home-screen widget with multiple layouts, deep links, direct-connection aggregation, and authentication/refresh lifecycle handling. Its substantial user-facing surface and changes to existing mobile reconciliation paths merit human assessment.

Not approved because:

  • Monthly spending limit reached (workspace setting). Approvability relies on correctness review in order to determine eligibility

Review your spending limits in Billing settings. You can add or adjust custom eligibility rules. Learn more.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size:L 100-499 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.

[Bug]: iOS widget broken and displays nothing

1 participant