Skip to content

Commit 5bdf364

Browse files
committed
Merge branch 'trunk' into issue/7946-authenticated-webkit-vc
2 parents 678bfe0 + 1bc1f8f commit 5bdf364

File tree

125 files changed

+3600
-1209
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

125 files changed

+3600
-1209
lines changed

CHANGELOG.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,9 @@
11
<!--
22
Contains editorialized release notes. Raw release notes should go into `RELEASE-NOTES.txt`.
33
-->
4+
## 11.0
5+
Even though this release doesn’t have any surprising new features, we still put a lot of love into it! We fixed a few bugs and made several improvements to make your experience smoother.
6+
47
## 10.9
58
This release includes a lot more stability fixes to help you log in much easier. You can now connect your WordPress.com account with Jetpack and access your store that much faster. We've also updated our app to support devices with iOS 15+ only. Please update your device to iOS 15 to continue to use the app.
69

CodeGeneration/Sourcery/Copiable/Models+Copiable.swifttemplate

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -183,7 +183,7 @@ let specsToGenerate: [CopiableSpec] = matchingTypes.map { type in
183183
}
184184

185185
return CopiableSpec(
186-
name: type.name,
186+
name: type.globalName,
187187
accessLevelWithSpacePostfix: type.accessLevel == "internal" ? "" : "\(type.accessLevel) ",
188188
properties: propSpecs
189189
)

CodeGeneration/Sourcery/Fakes/Fakes.swifttemplate

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,7 @@ let specsToGenerate: [FakeableSpec] = matchingTypes.map { type in
6969
)
7070
}
7171

72-
return FakeableSpec(name: type.name, accessLevelWithSpacePostfix: accessLevel, content: .initializer(propSpecs))
72+
return FakeableSpec(name: type.globalName, accessLevelWithSpacePostfix: accessLevel, content: .initializer(propSpecs))
7373
}
7474
-%>
7575
<%#

Experiments/Experiments/ABTest.swift

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,15 @@ public enum ABTest: String, CaseIterable {
1616
/// Experiment ref: pbxNRc-1S0-p2
1717
case aaTestLoggedOut = "woocommerceios_explat_aa_test_logged_out_202211"
1818

19+
/// A/B test to measure the sign-in success rate when only WPCom login is enabled.
20+
/// Experiment ref: pbxNRc-27s-p2
21+
///
22+
case abTestLoginWithWPComOnly = "woocommerceios_login_wpcom_only"
23+
24+
/// A/B test for the Products Onboarding banner on the My Store dashboard.
25+
/// Experiment ref: pbxNRc-26F-p2
26+
case productsOnboardingBanner = "woocommerceios_products_onboarding_first_product_banner"
27+
1928
/// Returns a variation for the given experiment
2029
public var variation: Variation {
2130
ExPlat.shared?.experiment(rawValue) ?? .control
@@ -26,9 +35,9 @@ public enum ABTest: String, CaseIterable {
2635
/// When adding a new experiment, add it to the appropriate case depending on its context (logged-in or logged-out experience).
2736
public var context: ExperimentContext {
2837
switch self {
29-
case .aaTestLoggedIn202210:
38+
case .aaTestLoggedIn202210, .productsOnboardingBanner:
3039
return .loggedIn
31-
case .aaTestLoggedOut:
40+
case .aaTestLoggedOut, .abTestLoginWithWPComOnly:
3241
return .loggedOut
3342
case .null:
3443
return .none

Experiments/Experiments/DefaultFeatureFlagService.swift

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ public struct DefaultFeatureFlagService: FeatureFlagService {
1818
case .shippingLabelsOnboardingM1:
1919
return buildConfig == .localDeveloper || buildConfig == .alpha
2020
case .newToWooCommerceLinkInLoginPrologue:
21-
return true
21+
return false
2222
case .loginPrologueOnboarding:
2323
return true
2424
case .loginErrorNotifications:
@@ -33,24 +33,24 @@ public struct DefaultFeatureFlagService: FeatureFlagService {
3333
return true
3434
case .searchProductsBySKU:
3535
return true
36-
case .orderCreationSearchCustomers:
37-
return buildConfig == .localDeveloper || buildConfig == .alpha
3836
case .wpcomSignup:
39-
guard isFeatureFlagEnabled(.simplifiedLoginFlowI1) else {
40-
return buildConfig == .localDeveloper || buildConfig == .alpha
41-
}
42-
// To disable automatically sending signup link for unknown email IDs
4337
return false
4438
case .inAppPurchases:
4539
return buildConfig == .localDeveloper || buildConfig == .alpha
4640
case .storeCreationMVP:
4741
return buildConfig == .localDeveloper || buildConfig == .alpha
48-
case .simplifiedLoginFlowI1:
49-
return buildConfig == .localDeveloper || buildConfig == .alpha
5042
case .justInTimeMessagesOnDashboard:
5143
return buildConfig == .localDeveloper || buildConfig == .alpha
5244
case .productsOnboarding:
5345
return buildConfig == .localDeveloper || buildConfig == .alpha
46+
case .performanceMonitoring,
47+
.performanceMonitoringCoreData,
48+
.performanceMonitoringFileIO,
49+
.performanceMonitoringNetworking,
50+
.performanceMonitoringViewController,
51+
.performanceMonitoringUserInteraction:
52+
// Disabled by default to avoid costs spikes, unless in internal testing builds.
53+
return buildConfig == .alpha
5454
default:
5555
return true
5656
}

Experiments/Experiments/FeatureFlag.swift

Lines changed: 35 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -70,10 +70,6 @@ public enum FeatureFlag: Int {
7070
///
7171
case searchProductsBySKU
7272

73-
/// Enables the Search Customers functionality in the Order Creation screen
74-
///
75-
case orderCreationSearchCustomers
76-
7773
/// Enables signing up for a WP.com account.
7874
///
7975
case wpcomSignup
@@ -86,16 +82,46 @@ public enum FeatureFlag: Int {
8682
///
8783
case storeCreationMVP
8884

89-
/// Temporary feature flag for the simplified login flow.
90-
/// TODO: replace with A/B testing.
91-
///
92-
case simplifiedLoginFlowI1
93-
9485
/// Just In Time Messages on Dashboard
9586
///
9687
case justInTimeMessagesOnDashboard
9788

9889
/// Hides products onboarding development.
9990
///
10091
case productsOnboarding
92+
93+
// MARK: - Performance Monitoring
94+
//
95+
// These flags are not transient. That is, they are not here to help us rollout a feature,
96+
// but to serve a safety switches to granularly turn off performance monitoring if it looks
97+
// like we are consuming too many events.
98+
99+
/// Whether to enable performance monitoring.
100+
///
101+
case performanceMonitoring
102+
103+
/// Whether to enable performance monitoring for Core Data operations.
104+
///
105+
/// - Note: The app will ignore this if `performanceMonitoring` is `false`
106+
case performanceMonitoringCoreData
107+
108+
/// Whether to enable performance monitoring for file IO operations.
109+
///
110+
/// - Note: The app will ignore this if `performanceMonitoring` is `false`
111+
case performanceMonitoringFileIO
112+
113+
/// Whether to enable performance monitoring for networking operations.
114+
///
115+
/// - Note: The app will ignore this if `performanceMonitoring` is `false`
116+
case performanceMonitoringNetworking
117+
118+
/// Whether to enable performance monitoring for user interaction events.
119+
///
120+
/// - Note: The app will ignore this if `performanceMonitoring` is `false`
121+
case performanceMonitoringUserInteraction
122+
123+
/// Whether to enable performance monitoring for `UIViewController` life-cycle events.
124+
///
125+
/// - Note: The app will ignore this if `performanceMonitoring` is `false`.
126+
case performanceMonitoringViewController
101127
}

Fakes/Fakes/Hardware.generated.swift

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -12,10 +12,10 @@ extension CardBrand {
1212
.visa
1313
}
1414
}
15-
extension CardPresentReceiptParameters {
15+
extension Hardware.CardPresentReceiptParameters {
1616
/// Returns a "ready to use" type filled with fake values.
1717
///
18-
public static func fake() -> CardPresentReceiptParameters {
18+
public static func fake() -> Hardware.CardPresentReceiptParameters {
1919
.init(
2020
amount: .fake(),
2121
formattedAmount: .fake(),
@@ -27,10 +27,10 @@ extension CardPresentReceiptParameters {
2727
)
2828
}
2929
}
30-
extension CardPresentTransactionDetails {
30+
extension Hardware.CardPresentTransactionDetails {
3131
/// Returns a "ready to use" type filled with fake values.
3232
///
33-
public static func fake() -> CardPresentTransactionDetails {
33+
public static func fake() -> Hardware.CardPresentTransactionDetails {
3434
.init(
3535
last4: .fake(),
3636
expMonth: .fake(),
@@ -44,10 +44,10 @@ extension CardPresentTransactionDetails {
4444
)
4545
}
4646
}
47-
extension Charge {
47+
extension Hardware.Charge {
4848
/// Returns a "ready to use" type filled with fake values.
4949
///
50-
public static func fake() -> Charge {
50+
public static func fake() -> Hardware.Charge {
5151
.init(
5252
id: .fake(),
5353
amount: .fake(),
@@ -66,10 +66,10 @@ extension ChargeStatus {
6666
.succeeded
6767
}
6868
}
69-
extension PaymentIntent {
69+
extension Hardware.PaymentIntent {
7070
/// Returns a "ready to use" type filled with fake values.
7171
///
72-
public static func fake() -> PaymentIntent {
72+
public static func fake() -> Hardware.PaymentIntent {
7373
.init(
7474
id: .fake(),
7575
status: .fake(),

0 commit comments

Comments
 (0)