Repository navigation
iOS e2e gate: terminal driver, two-machine workflow draft, and four connectivity-gate fixes #15457
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
azooz2003-bit
wants to merge
16
commits into
main
Choose a base branch
from
feat-ios-e2e-gate
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Changes from all commits
Commits
Show all changes
16 commits
Select commit
Hold shift + click to select a range
5fed793
Fix four automation-blocking regressions in the iOS connectivity gate
azooz2003-bit 87eec29
Add the iOS e2e gate: two-machine workflow draft and terminal driver
azooz2003-bit c4d0985
Merge main into iOS e2e gate
austinywang 125e7d7
Fix iOS e2e workflow guard requirements
austinywang 64b1d5f
Fix iOS e2e workflow review blockers
azooz2003-bit a529cee
Use guard-compatible workflow trigger syntax
austinywang 7dc2cfe
Merge remote-tracking branch 'origin/feat-ios-e2e-gate' into feat-ios…
austinywang 68e8e7f
ci(ios-e2e): run a fresh per-run backend on a Blacksmith Linux runner
lawrencecchen 3b9b40a
Merge commit '31014dcd486779cda1ef0924fea9c5583cab1b2c' into feat-ios…
lawrencecchen f216bca
ci(ios-e2e): keep the PR trigger note outside the on: block
lawrencecchen 036ae77
Run iOS E2E Mac and simulator on one runner
azooz2003-bit 258b36d
Merge remote e2e updates with one-runner relay flow
azooz2003-bit 020cec8
Include backend port lease helper in CI
azooz2003-bit f3800a9
Keep iOS E2E backend client in cmux repo
azooz2003-bit 95537e2
Install AXe for iOS E2E runner
azooz2003-bit e15f57c
Fix GCP backend status output
azooz2003-bit File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
Large diffs are not rendered by default.
Oops, something went wrong.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
26 changes: 26 additions & 0 deletions
26
...es/iOS/CmuxMobileShellUI/Sources/CmuxMobileShellUI/MobileWhatsNewPresentationPolicy.swift
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,26 @@ | ||
| import SwiftUI | ||
|
|
||
| /// Composition-level policy for the one-time What's New launch sheet. | ||
| /// | ||
| /// Debug automation can suppress the launch presentation while keeping the | ||
| /// catalog and acknowledgement state intact. The policy is supplied by the | ||
| /// app composition root so the catalog model remains independent of process | ||
| /// environment variables. | ||
| public struct MobileWhatsNewPresentationPolicy: Sendable { | ||
| public var suppressLaunchPresentation: Bool | ||
|
|
||
| public init(suppressLaunchPresentation: Bool = false) { | ||
| self.suppressLaunchPresentation = suppressLaunchPresentation | ||
| } | ||
| } | ||
|
|
||
| private struct MobileWhatsNewPresentationPolicyKey: EnvironmentKey { | ||
| static let defaultValue = MobileWhatsNewPresentationPolicy() | ||
| } | ||
|
|
||
| public extension EnvironmentValues { | ||
| var mobileWhatsNewPresentationPolicy: MobileWhatsNewPresentationPolicy { | ||
| get { self[MobileWhatsNewPresentationPolicyKey.self] } | ||
| set { self[MobileWhatsNewPresentationPolicyKey.self] = newValue } | ||
| } | ||
| } |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🎯 Functional Correctness | 🟡 Minor | ⚡ Quick win
Keep live transport classification tied to the selected path.
When no path has
isSelected, this fallback returns an unselected path. The consumer inios/cmuxPackage/Sources/cmuxFeature/MobileIrxRuntimeComposition+Settings.swift, Lines 42–55, can then report that path as.director.managedRelay. Iroh usesis_selected()to identify the selected path. (docs.rs) KeepselectedPath()nil until Iroh reports a selection, or expose an available-path hint separately. The first change preserves Iroh’s selection state as the source of truth and prevents false live transport reports.As per path instructions: “Explain the symptom, structural root cause, class of bugs, the single source of truth that should own the behavior, and the first migration cut that would prove the architecture.”
🤖 Prompt for AI Agents
Source: Path instructions