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(...@@ -25,6 +25,9 @@ export async function stageShowcaseAgentActivity(
25 ios: { allowAlert: true, allowBadge: true, allowSound: true },25 ios: { allowAlert: true, allowBadge: true, allowSound: true },
26 });26 });
27 if (!permission.granted) return `notification permission ${permission.status}`;27 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
29 if (Platform.OS === "android") {32 if (Platform.OS === "android") {
30 return (33 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....@@ -63,14 +63,14 @@ multiplies the run by six; only the native build is shared.
6363
64The default matrix is:64The default matrix is:
6565
66| Output folder | Capture target | Upload dimensions | Store slot |66| Output folder | Capture target | Upload dimensions | Store slot |
67| ------------------------------------- | ------------------------- | ----------------- | ----------------------------------------- |67| ------------------------------------- | ---------------------------- | ----------------- | ----------------------------------------- |
68| `apple/iphone-6.9/dark/t3-code/` | iPhone 17 Pro Max | 1320×2868 | App Store Connect iPhone 6.9-inch |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 |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 |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 |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 |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 |73| `google-play/tablet-10/dark/t3-code/` | Pixel AVD at 800dp width | 1440×2560 | Google Play 10-inch tablet, portrait 9:16 |
7474
75Each target captures thread, terminal, review, thread list, and environments, and every target but75Each target captures thread, terminal, review, thread list, and environments, and every target but
76the iPad also captures agent activity. Each palette folder's five or six screenshots satisfy the configured Apple limit of 1–10, Google76the 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 = {...@@ -104,7 +104,9 @@ const config: ShowcaseConfig = {
104 {104 {
105 id: "iphone-6.9",105 id: "iphone-6.9",
106 platform: "ios",106 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",
108 simulatorDeviceType: "com.apple.CoreSimulator.SimDeviceType.iPhone-17-Pro-Max",110 simulatorDeviceType: "com.apple.CoreSimulator.SimDeviceType.iPhone-17-Pro-Max",
109 appearance: "dark",111 appearance: "dark",
110 theme: DEFAULT_SHOWCASE_THEME,112 theme: DEFAULT_SHOWCASE_THEME,
scripts/mobile-showcase.ts+14
...@@ -838,6 +838,20 @@ async function suppressIosSystemFollowUps(udid: string): Promise<void> {...@@ -838,6 +838,20 @@ async function suppressIosSystemFollowUps(udid: string): Promise<void> {
838838
839async function normalizeIosSimulator(appearance: ShowcaseAppearance, udid: string): Promise<void> {839async function normalizeIosSimulator(appearance: ShowcaseAppearance, udid: string): Promise<void> {
840 await runCommand("xcrun", ["simctl", "ui", udid, "appearance", appearance]);840 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 ]);
841 await runCommand("xcrun", [855 await runCommand("xcrun", [
842 "simctl",856 "simctl",
843 "status_bar",857 "status_bar",