Ask: run properly on iPad, with no change to how anything works — layout
adaptation only.
Current state. The app is deliberately iPhone-only:
TARGETED_DEVICE_FAMILY: "1", set at TARGET level in project.yml — with a note
explaining why: xcodegen emits a target default of "1,2" that silently overrides the
project-level value, and that once shipped an archive as iPhone+iPad.
UISupportedInterfaceOrientations is portrait only.
⚠️ The part that makes "no change to how it works" not quite hold. That same note
records what happened last time: enabling iPad "tripped ASC's iPad icon + multitasking
orientation requirements". App Store Connect requires an iPad build to support all four
orientations unless it declares UIRequiresFullScreen. So this is not purely additive:
either the app gains landscape, which every screen has to survive — the chat
transcript, the call UI, the composer with the keyboard up — or
it declares UIRequiresFullScreen, opting out of Split View and Slide Over, which is a
product decision about what "runs on iPad" is worth.
Plus an iPad app icon (AppIcon76x76@2x~ipad already exists in the bundle) and a review
pass on anything assuming a phone-width layout.
Suggested order: decide the multitasking question first, since it determines whether
this is a week of layout work or a build-setting change plus an icon. Nothing here should
touch protocol, storage or call logic.
⚠️ Do not flip TARGETED_DEVICE_FAMILY at project level — read the comment in project.yml first.
**Ask:** run properly on iPad, with no change to how anything works — layout
adaptation only.
**Current state.** The app is deliberately iPhone-only:
- `TARGETED_DEVICE_FAMILY: "1"`, set at TARGET level in `project.yml` — with a note
explaining why: xcodegen emits a target default of `"1,2"` that silently overrides the
project-level value, and that once shipped an archive as iPhone+iPad.
- `UISupportedInterfaceOrientations` is **portrait only**.
**⚠️ The part that makes "no change to how it works" not quite hold.** That same note
records what happened last time: enabling iPad "tripped ASC's iPad icon + multitasking
orientation requirements". App Store Connect requires an iPad build to support **all four
orientations** unless it declares `UIRequiresFullScreen`. So this is not purely additive:
- either the app gains **landscape**, which every screen has to survive — the chat
transcript, the call UI, the composer with the keyboard up — or
- it declares `UIRequiresFullScreen`, opting out of Split View and Slide Over, which is a
product decision about what "runs on iPad" is worth.
Plus an iPad app icon (`AppIcon76x76@2x~ipad` already exists in the bundle) and a review
pass on anything assuming a phone-width layout.
**Suggested order:** decide the multitasking question first, since it determines whether
this is a week of layout work or a build-setting change plus an icon. Nothing here should
touch protocol, storage or call logic.
⚠️ Do not flip `TARGETED_DEVICE_FAMILY` at project level — read the comment in
`project.yml` first.
Done, checked against gitea/main in the 2026-10-16 issue cleanup. 0f06a08c and 12eb447f (0.15.0) set TARGETED_DEVICE_FAMILY 1,2 and all four iPad orientations; MainTabView uses NavigationSplitView, with UITests/IPadLayoutUITests.swift and a universal AppIcon. Shipped in v0.31.0 (634a881a), and App Review tested it on an iPad Air on 2026-09-22.
Done, checked against gitea/main in the 2026-10-16 issue cleanup. 0f06a08c and 12eb447f (0.15.0) set TARGETED_DEVICE_FAMILY 1,2 and all four iPad orientations; MainTabView uses NavigationSplitView, with UITests/IPadLayoutUITests.swift and a universal AppIcon. Shipped in v0.31.0 (634a881a), and App Review tested it on an iPad Air on 2026-09-22.
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Ask: run properly on iPad, with no change to how anything works — layout
adaptation only.
Current state. The app is deliberately iPhone-only:
TARGETED_DEVICE_FAMILY: "1", set at TARGET level inproject.yml— with a noteexplaining why: xcodegen emits a target default of
"1,2"that silently overrides theproject-level value, and that once shipped an archive as iPhone+iPad.
UISupportedInterfaceOrientationsis portrait only.⚠️ The part that makes "no change to how it works" not quite hold. That same note
records what happened last time: enabling iPad "tripped ASC's iPad icon + multitasking
orientation requirements". App Store Connect requires an iPad build to support all four
orientations unless it declares
UIRequiresFullScreen. So this is not purely additive:transcript, the call UI, the composer with the keyboard up — or
UIRequiresFullScreen, opting out of Split View and Slide Over, which is aproduct decision about what "runs on iPad" is worth.
Plus an iPad app icon (
AppIcon76x76@2x~ipadalready exists in the bundle) and a reviewpass on anything assuming a phone-width layout.
Suggested order: decide the multitasking question first, since it determines whether
this is a week of layout work or a build-setting change plus an icon. Nothing here should
touch protocol, storage or call logic.
⚠️ Do not flip
TARGETED_DEVICE_FAMILYat project level — read the comment inproject.ymlfirst.mentioned in issue flamenet-messenger-android#7
mentioned in commit
bd7b7c96e4mentioned in merge request !193
Done, checked against gitea/main in the 2026-10-16 issue cleanup.
0f06a08cand12eb447f(0.15.0) set TARGETED_DEVICE_FAMILY 1,2 and all four iPad orientations; MainTabView uses NavigationSplitView, with UITests/IPadLayoutUITests.swift and a universal AppIcon. Shipped in v0.31.0 (634a881a), and App Review tested it on an iPad Air on 2026-09-22.