Skip to content

Do not show the Exit menu entry on iOS - #3998

Open
ann0see wants to merge 1 commit into
mainfrom
ios/no-exit-on-ios
Open

ann0see wants to merge 1 commit into
mainfrom
ios/no-exit-on-ios

Conversation

@ann0see

@ann0see ann0see commented Nov 15, 2026 •

Copy link
Copy Markdown
Member

Short description of changes

Do not show the Exit entry in the File menu on iOS.

iOS applications are not expected to terminate themselves. The user leaves an app through the home screen or the app switcher, and an app that quits on its own is a common App Store review objection. The entry and the separator before it are now only added on the desktop platforms, so the iOS File menu contains Connection Setup, Load Mixer Channels Setup and Save Mixer Channels Setup.

CHANGELOG: iOS: Removed the Exit entry from the File menu to satisfy Human Interface Guidelines

Context: Fixes an issue?

Fixes #3994 (the Exit item).

Does this change need documentation? What needs to be documented and how?

Possibly on the website, if the iOS page mentions quitting the app. I have not checked.

Status of this Pull Request

Draft. The change itself is small, but the decision behind it is not mine to make: with the entry gone there is no way to quit from inside the app, which is what iOS expects, but it also removes the only in-app way to trigger a clean shutdown, which was how the settings were written on iOS (see #3996). If #3996 is merged that argument goes away.

What is missing until this pull request can be merged?

  • Decision whether the entry should disappear completely or stay reachable somewhere else, for example in the Help menu, for people who want a defined shutdown.
  • Tested on the iPad Pro 11-inch simulator (iOS 27.2) with Qt 6.11.1, on top of Only compile the iOS app delegate for Qt 5 #3988, because main does not launch on iOS with Qt 6 without it: the File menu shows the three remaining entries, no leftover separator, the app stays alive, no crash report.
  • Not tested on a physical device. The desktop menus are untouched, but also not exercised here.

🤖 Used AI: DeepSeek V4.1 Flash, OpenCode

iOS applications are not expected to terminate themselves; the user leaves an
app through the home screen or the app switcher, and an app that quits on its own
is a common App Store review objection.

Hide the entry and its separator in the File menu on iOS only.
@ann0see ann0see added the AI AI generated or potentially AI generated label Nov 15, 2026
@coderabbitai

coderabbitai Bot commented Nov 15, 2026 •

Copy link
Copy Markdown

Explain Change →

No actionable comments were generated in the recent review.

Walkthrough

The File menu separator and Exit action are now excluded from iOS builds. Other platforms retain both menu items.

Changes: iOS File Menu

Layer / File(s) Summary
Platform-specific File menu items
src/clientdlg.cpp
The separator and Exit action are compiled only for non-iOS targets.

Estimated code review effort: 1 (Trivial) | ~5 minutes

Change: Bug fix · Severity of issue fixed: Low

Suggested reviewers: softins, pljones

Merge Risk: Minimal · up to 0aa1e

iOS builds no longer show the Exit menu entry or its separator, which matches the App Review concern in the linked issue. Desktop menus are unchanged. Simulator testing is still outstanding, but the change is small and the merge risk is minimal.

Pre-merge checks: Passed 4

Check name Status Explanation
Title check Passed The title "Do not show the Exit menu entry on iOS" matches the main change: the File menu's Exit entry and its preceding separator are now added only on desktop platforms, not on iOS. It is specific, …
Description check Passed The description follows the repository template. It has a short description of changes, a CHANGELOG entry, a context section that links the fixed issue (#3994), a documentation note, a draft status wi…
Linked Issues check Passed Directly linked issue #3994 lists the File → Exit item as resolved by hiding the entry on iOS in this PR (#3998). The reviewed head of src/clientdlg.cpp wraps both the separator and the E&xit action (…
Out of Scope Changes check Passed The PR summary and the reviewed head show a 4-line change in src/clientdlg.cpp. It adds a platform guard around the File menu separator and the Exit action only. The PR changes no other code and no pu…
Full details: Title check

Explanation

The title "Do not show the Exit menu entry on iOS" matches the main change: the File menu's Exit entry and its preceding separator are now added only on desktop platforms, not on iOS. It is specific, concise, and a teammate scanning history would understand the primary change.

Full details: Description check

Explanation

The description follows the repository template. It has a short description of changes, a CHANGELOG entry, a context section that links the fixed issue (#3994), a documentation note, a draft status with open decisions, and a list of what is missing before merge. The checklist from the template is not ticked, and the AUTOBUILD line is not present, which is acceptable because the template marks that line as optional and the PR only changes platform-specific code. The description is mostly complete.

Full details: Linked Issues check

Explanation

Directly linked issue #3994 lists the File → Exit item as resolved by hiding the entry on iOS in this PR (#3998). The reviewed head of src/clientdlg.cpp wraps both the separator and the E&xit action (SLOT close(), Ctrl+Q) in #if !defined( Q_OS_IOS ), so the iOS File menu contains Connection Setup, Load Mixer Channels Setup and Save Mixer Channels Setup with no leftover separator. Desktop platforms keep both items. The other #3994 checklist items (#3995, #3996, #3997, #3999, #4000, and unlinked items) belong to other pull requests or remain unassigned, so they are not requirements of this PR. No automated test covers the menu, but the requirement is a UI platform guard. The base-side diff could not be read (changed blobs missing from checkout). The head content and the PR summary together establish the change.

Full details: Out of Scope Changes check

Explanation

The PR summary and the reviewed head show a 4-line change in src/clientdlg.cpp. It adds a platform guard around the File menu separator and the Exit action only. The PR changes no other code and no public declarations. This matches the Exit item of #3994 and the PR description. No change is unrelated to the linked issue. The base-side diff could not be read, so the statement about the total diff size depends on the PR summary.

Finishing Touches

Generate unit tests (beta)

  • Commit to this branch
  • Create a new PR
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

Share

Recent review info

Run configuration

  • Source mode: Auto
  • Repository: Unavailable
  • Branch: Unavailable
  • File: No configuration file from this repository applied
  • Commit: Unavailable
  • Layers: Repository UI
  • Review profile: QUIET
  • Plan: Advanced
  • Run ID: 75dd0c96-67e4-405e-a686-d376588020b3
Commits

Reviewing files that changed from the base of the PR and between 2442abc and 0aa1e58.

Files selected for processing: 1

  • src/clientdlg.cpp

Included review availability: This review used your included allowance. Your plan provides up to 4 included reviews per hour; 2 remain after this review.

@ann0see ann0see mentioned this pull request Nov 15, 2026
6 of 16 tasks
@ann0see ann0see added Mobile UI Issues with the UI on mobile platforms iOS iOS runtime issue labels Nov 15, 2026
@ann0see ann0see added this to Tracking Nov 15, 2026
@github-project-automation github-project-automation Bot moved this to Triage in Tracking Nov 15, 2026
@ann0see

ann0see commented Nov 15, 2026

Copy link
Copy Markdown
Member Author

That's a rather quick one. Either accept or reject. I do believe that it doesn't make sense to have an Exit button in iOS...

@ann0see ann0see moved this from Triage to In Progress in Tracking Nov 15, 2026
@ann0see ann0see moved this from In Progress to Backlog in Tracking Nov 15, 2026
@ann0see ann0see added this to the Release 4.0.0 milestone Nov 15, 2026
@ann0see
ann0see marked this pull request as ready for review November 15, 2026 20:47
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

AI AI generated or potentially AI generated iOS iOS runtime issue Mobile UI Issues with the UI on mobile platforms

Projects

Status: Backlog

Development

Successfully merging this pull request may close these issues.

AI bug findings for iOS

1 participant