authorgravatar for julius0216@outlook.comJulius Marminge <julius0216@outlook.com> 2026-09-24 17:18:05-07:00
committergravatar for noreply@github.comGitHub <noreply@github.com> 2026-09-24 17:18:05-07:00
log9c524d57718e639a6abe0a5fa3cbf6e9b086df86
tree227dd65520d0f7f7d7ab8722738b5d39f577d38f
parent8d7b5e998c72b4674326cbac7d23bafe9b222668
signature Signed by PGP key B5690EEEBB952194

fix(mobile): capture a lit 6.9-inch lock screen in the agent-activity showcase (#13522)

Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>

4 files changed, 28 insertions(+), 9 deletions(-)

apps/mobile/src/features/showcase/stageShowcaseAgentActivity.ts+3
......@@ -25,6 +25,9 @@ export async function stageShowcaseAgentActivity(
2525 ios: { allowAlert: true, allowBadge: true, allowSound: true },
2626 });
2727 if (!permission.granted) return `notification permission ${permission.status}`;
28 // A previous appearance's pass left its alert delivered; it would stack
29 // under the new one.
30 await Notifications.dismissAllNotificationsAsync();
2831
2932 if (Platform.OS === "android") {
3033 return (
docs/operations/mobile-app-store-screenshots.md+8-8
......@@ -63,14 +63,14 @@ multiplies the run by six; only the native build is shared.
6363
6464The default matrix is:
6565
66| Output folder | Capture target | Upload dimensions | Store slot |
67| ------------------------------------- | ------------------------- | ----------------- | ----------------------------------------- |
68| `apple/iphone-6.9/dark/t3-code/` | iPhone 17 Pro Max | 1320×2868 | App Store Connect iPhone 6.9-inch |
69| `apple/iphone-6.5/dark/t3-code/` | disposable iPhone 14 Plus | 1284×2778 | App Store Connect iPhone 6.5-inch |
70| `apple/ipad-13/dark/t3-code/` | iPad Pro 13-inch (M5) | 2752×2064 | App Store Connect iPad 13-inch, landscape |
71| `google-play/phone/dark/t3-code/` | Pixel AVD at 420 dpi | 1080×1920 | Google Play phone, portrait 9:16 |
72| `google-play/tablet-7/dark/t3-code/` | Pixel AVD at 600dp width | 1080×1920 | Google Play 7-inch tablet, portrait 9:16 |
73| `google-play/tablet-10/dark/t3-code/` | Pixel AVD at 800dp width | 1440×2560 | Google Play 10-inch tablet, portrait 9:16 |
66| Output folder | Capture target | Upload dimensions | Store slot |
67| ------------------------------------- | ---------------------------- | ----------------- | ----------------------------------------- |
68| `apple/iphone-6.9/dark/t3-code/` | disposable iPhone 17 Pro Max | 1320×2868 | App Store Connect iPhone 6.9-inch |
69| `apple/iphone-6.5/dark/t3-code/` | disposable iPhone 14 Plus | 1284×2778 | App Store Connect iPhone 6.5-inch |
70| `apple/ipad-13/dark/t3-code/` | iPad Pro 13-inch (M5) | 2752×2064 | App Store Connect iPad 13-inch, landscape |
71| `google-play/phone/dark/t3-code/` | Pixel AVD at 420 dpi | 1080×1920 | Google Play phone, portrait 9:16 |
72| `google-play/tablet-7/dark/t3-code/` | Pixel AVD at 600dp width | 1080×1920 | Google Play 7-inch tablet, portrait 9:16 |
73| `google-play/tablet-10/dark/t3-code/` | Pixel AVD at 800dp width | 1440×2560 | Google Play 10-inch tablet, portrait 9:16 |
7474
7575Each target captures thread, terminal, review, thread list, and environments, and every target but
7676the iPad also captures agent activity. Each palette folder's five or six screenshots satisfy the configured Apple limit of 1–10, Google
scripts/mobile-showcase.config.ts+3-1
......@@ -104,7 +104,9 @@ const config: ShowcaseConfig = {
104104 {
105105 id: "iphone-6.9",
106106 platform: "ios",
107 simulator: "iPhone 17 Pro Max",
107 // A disposable device lands on the newest runtime, whose default lock
108 // screen wallpaper suits both appearances; a stock one may be older.
109 simulator: "T3 Showcase iPhone 17 Pro Max",
108110 simulatorDeviceType: "com.apple.CoreSimulator.SimDeviceType.iPhone-17-Pro-Max",
109111 appearance: "dark",
110112 theme: DEFAULT_SHOWCASE_THEME,
scripts/mobile-showcase.ts+14
......@@ -838,6 +838,20 @@ async function suppressIosSystemFollowUps(udid: string): Promise<void> {
838838
839839async function normalizeIosSimulator(appearance: ShowcaseAppearance, udid: string): Promise<void> {
840840 await runCommand("xcrun", ["simctl", "ui", udid, "appearance", appearance]);
841 // Always-on displays (Pro Max) dim a locked screen instead of turning it
842 // off, which the lock-screen wake cannot tell from a lit one. Without it the
843 // locked display goes dark and the wake lights it fully.
844 await runCommand("xcrun", [
845 "simctl",
846 "spawn",
847 udid,
848 "defaults",
849 "write",
850 "com.apple.springboard",
851 "SBEnableAlwaysOn",
852 "-bool",
853 "false",
854 ]);
841855 await runCommand("xcrun", [
842856 "simctl",
843857 "status_bar",