Skip to content

Commit ad2e7a8

Browse files
authored
Merge branch 'trunk' into issue/15016-show-gateway-specific-documentation-when-learn-more-tapped
2 parents 9c97db0 + fb0134d commit ad2e7a8

File tree

32 files changed

+672
-193
lines changed

32 files changed

+672
-193
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+
## 21.6
5+
Experience a refreshed WooCommerce app with an updated look that aligns with our new branding! We’ve also improved payment reliability—card reader updates now handle low battery issues better, and errors during payments and refunds are managed more smoothly. Enjoy a more seamless and polished experience in every transaction.
6+
47
## 21.5
58
Get ready for a smoother WooCommerce experience! This update brings smarter AI-powered product previews, instant dashboard stats, and improved email receipts for failed payments. We’ve also fine-tuned order creation, enhanced Jetpack setups, and enabled previews for coming-soon stores. Plus, we’ve addressed navigation, database recovery, and streamlined workflows.
69

Podfile

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -91,9 +91,9 @@ target 'WooCommerce' do
9191
pod 'Gridicons', '~> 1.2.0'
9292

9393
# To allow pod to pick up beta versions use -beta. E.g., 1.1.7-beta.1
94-
# pod 'WordPressAuthenticator', '~> 9.10.1'
94+
pod 'WordPressAuthenticator', '~> 9.10.2'
9595
# pod 'WordPressAuthenticator', git: 'https://github.com/wordpress-mobile/WordPressAuthenticator-iOS.git', branch: ''
96-
pod 'WordPressAuthenticator', git: 'https://github.com/wordpress-mobile/WordPressAuthenticator-iOS.git', commit: 'e5247b2d9bdb522c5d210dd6b66d58a4013eed99'
96+
# pod 'WordPressAuthenticator', git: 'https://github.com/wordpress-mobile/WordPressAuthenticator-iOS.git', commit: 'e5247b2d9bdb522c5d210dd6b66d58a4013eed99'
9797
# pod 'WordPressAuthenticator', path: '../WordPressAuthenticator-iOS'
9898

9999
wordpress_shared

Podfile.lock

Lines changed: 6 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ PODS:
2424
- WordPress-Aztec-iOS (1.19.10)
2525
- WordPress-Editor-iOS (1.19.10):
2626
- WordPress-Aztec-iOS (= 1.19.10)
27-
- WordPressAuthenticator (9.10.1):
27+
- WordPressAuthenticator (9.10.2):
2828
- Gridicons (~> 1.0)
2929
- "NSURL+IDN (= 0.4)"
3030
- SVProgressHUD (~> 2.2.5)
@@ -67,14 +67,16 @@ DEPENDENCIES:
6767
- StripeTerminal (~> 3.9.1)
6868
- SwiftLint (= 0.54.0)
6969
- WordPress-Editor-iOS (~> 1.19)
70-
- WordPressAuthenticator (from `https://github.com/wordpress-mobile/WordPressAuthenticator-iOS.git`, commit `e5247b2d9bdb522c5d210dd6b66d58a4013eed99`)
70+
- WordPressAuthenticator (~> 9.10.2)
7171
- WordPressShared (~> 2.1)
7272
- WordPressUI (~> 1.15)
7373
- Wormholy (~> 1.6.6)
7474
- WPMediaPicker (~> 1.8)
7575
- ZendeskSupportSDK (~> 9.0.0)
7676

7777
SPEC REPOS:
78+
https://github.com/wordpress-mobile/cocoapods-specs.git:
79+
- WordPressAuthenticator
7880
trunk:
7981
- Alamofire
8082
- Automattic-Tracks-iOS
@@ -107,16 +109,6 @@ SPEC REPOS:
107109
- ZendeskSupportProvidersSDK
108110
- ZendeskSupportSDK
109111

110-
EXTERNAL SOURCES:
111-
WordPressAuthenticator:
112-
:commit: e5247b2d9bdb522c5d210dd6b66d58a4013eed99
113-
:git: https://github.com/wordpress-mobile/WordPressAuthenticator-iOS.git
114-
115-
CHECKOUT OPTIONS:
116-
WordPressAuthenticator:
117-
:commit: e5247b2d9bdb522c5d210dd6b66d58a4013eed99
118-
:git: https://github.com/wordpress-mobile/WordPressAuthenticator-iOS.git
119-
120112
SPEC CHECKSUMS:
121113
Alamofire: 3ca42e259043ee0dc5c0cdd76c4bc568b8e42af7
122114
Automattic-Tracks-iOS: 2d4bee68ff9db4d51f2f6c9fc85857dc69a008a4
@@ -135,7 +127,7 @@ SPEC CHECKSUMS:
135127
UIDeviceIdentifier: 442b65b4ff1832d4ca9c2a157815cb29ad981b17
136128
WordPress-Aztec-iOS: 8eaa928fb3a5694924ed3befac64beaae5656e12
137129
WordPress-Editor-iOS: 98ce1fc542c3a09e48ddc9423405b1d1e48240f1
138-
WordPressAuthenticator: d54323ca733b41b10a7fd64f5d1ca2d9efc47720
130+
WordPressAuthenticator: 29baee176dea1dc0d414a9086723cabc54cb20f7
139131
WordPressKit: faf8c6de7c2acfe71cf95b4db896901060967089
140132
WordPressShared: 0aa459e5257a77184db87805a998f447443c9706
141133
WordPressUI: 700e3ec5a9f77b6920c8104c338c85788036ab3c
@@ -150,6 +142,6 @@ SPEC CHECKSUMS:
150142
ZendeskSupportProvidersSDK: 281acf2bb731d2a67f913cfe653ed0da9f5b2f42
151143
ZendeskSupportSDK: b512cfc74b6bf8490e589f02cf52e27ed4f2bebe
152144

153-
PODFILE CHECKSUM: a5c6ecec21ce4254ca5a1f247b0b6aee18153139
145+
PODFILE CHECKSUM: 85b59bc018f0afba2a57464d12a00fce1deaa13c
154146

155147
COCOAPODS: 1.16.2

RELEASE-NOTES.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
21.7
44
-----
55
- [*] Payments: Update learn more links to open Stripe-specific docs when using that gateway [https://github.com/woocommerce/woocommerce-ios/pull/15035]
6-
6+
- [x] Now, usernames and emails in text fields across multiple login views are no longer capitalized. [https://github.com/woocommerce/woocommerce-ios/pull/15002]
77

88
21.6
99
-----

WooCommerce/Classes/Authentication/Jetpack Setup/Site Credential Login/SiteCredentialLoginView.swift

Lines changed: 14 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -102,23 +102,25 @@ struct SiteCredentialLoginView: View {
102102
VStack(alignment: .leading, spacing: Constants.fieldVerticalSpacing) {
103103
// Username field.
104104
AuthenticationFormFieldView(viewModel: .init(header: Localization.usernameFieldTitle,
105-
placeholder: Localization.enterUsername,
106-
keyboardType: .default,
107-
text: $viewModel.username,
108-
isSecure: false,
109-
errorMessage: nil,
110-
isFocused: focusedField == .username))
105+
placeholder: Localization.enterUsername,
106+
keyboardType: .default,
107+
text: $viewModel.username,
108+
isSecure: false,
109+
errorMessage: nil,
110+
isFocused: focusedField == .username,
111+
autocapitalization: .none))
111112
.focused($focusedField, equals: .username)
112113
.disabled(viewModel.isLoggingIn)
113114

114115
// Password field.
115116
AuthenticationFormFieldView(viewModel: .init(header: Localization.passwordFieldTitle,
116-
placeholder: Localization.enterPassword,
117-
keyboardType: .default,
118-
text: $viewModel.password,
119-
isSecure: true,
120-
errorMessage: nil,
121-
isFocused: focusedField == .password))
117+
placeholder: Localization.enterPassword,
118+
keyboardType: .default,
119+
text: $viewModel.password,
120+
isSecure: true,
121+
errorMessage: nil,
122+
isFocused: focusedField == .password,
123+
autocapitalization: .none))
122124
.focused($focusedField, equals: .password)
123125
.disabled(viewModel.isLoggingIn)
124126

WooCommerce/Classes/Authentication/WPComLogin/WPCom2FALoginView.swift

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -75,7 +75,8 @@ struct WPCom2FALoginView: View {
7575
text: $viewModel.verificationCode,
7676
isSecure: false,
7777
errorMessage: nil,
78-
isFocused: isFieldFocused
78+
isFocused: isFieldFocused,
79+
autocapitalization: .none
7980
))
8081
.focused($isFieldFocused)
8182

WooCommerce/Classes/Authentication/WPComLogin/WPComEmailLoginView.swift

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -79,7 +79,8 @@ struct WPComEmailLoginView: View {
7979
text: $viewModel.emailAddress,
8080
isSecure: false,
8181
errorMessage: nil,
82-
isFocused: isEmailFieldFocused
82+
isFocused: isEmailFieldFocused,
83+
autocapitalization: .none
8384
))
8485
.focused($isEmailFieldFocused)
8586

WooCommerce/Classes/Authentication/WPComLogin/WPComPasswordLoginView.swift

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -90,7 +90,8 @@ struct WPComPasswordLoginView: View {
9090
text: $viewModel.password,
9191
isSecure: true,
9292
errorMessage: nil,
93-
isFocused: isPasswordFieldFocused
93+
isFocused: isPasswordFieldFocused,
94+
autocapitalization: .none
9495
))
9596
.focused($isPasswordFieldFocused)
9697

WooCommerce/Classes/POS/Controllers/PointOfSaleOrderController.swift

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,12 +25,14 @@ final class PointOfSaleOrderController: PointOfSaleOrderControllerProtocol {
2525
init(orderService: POSOrderServiceProtocol,
2626
receiptService: POSReceiptServiceProtocol,
2727
stores: StoresManager = ServiceLocator.stores,
28-
currencySettings: CurrencySettings = ServiceLocator.currencySettings) {
28+
currencySettings: CurrencySettings = ServiceLocator.currencySettings,
29+
celebration: PaymentCaptureCelebrationProtocol = PaymentCaptureCelebration()) {
2930
self.orderService = orderService
3031
self.receiptService = receiptService
3132
self.stores = stores
3233
self.storeCurrency = currencySettings.currencyCode
3334
self.currencyFormatter = CurrencyFormatter(currencySettings: currencySettings)
35+
self.celebration = celebration
3436
}
3537

3638
var orderStatePublisher: AnyPublisher<PointOfSaleInternalOrderState, Never> {
@@ -41,6 +43,7 @@ final class PointOfSaleOrderController: PointOfSaleOrderControllerProtocol {
4143
private let receiptService: POSReceiptServiceProtocol
4244

4345
private let currencyFormatter: CurrencyFormatter
46+
private let celebration: PaymentCaptureCelebrationProtocol
4447
private let storeCurrency: CurrencyCode
4548
private let stores: StoresManager
4649

@@ -98,6 +101,10 @@ final class PointOfSaleOrderController: PointOfSaleOrderControllerProtocol {
98101
orderState = .idle
99102
}
100103

104+
private func celebrate() {
105+
celebration.celebrate()
106+
}
107+
101108
@MainActor
102109
func collectCashPayment() async throws {
103110
guard let siteID = stores.sessionManager.defaultStoreID else {
@@ -120,7 +127,11 @@ final class PointOfSaleOrderController: PointOfSaleOrderControllerProtocol {
120127
order: updatedOrder,
121128
giftCard: nil,
122129
fields: fieldsToUpdate,
123-
onCompletion: { result in
130+
onCompletion: { [weak self] result in
131+
guard let self = self else { return }
132+
if case .success = result {
133+
self.celebrate()
134+
}
124135
continuation.resume(with: result)
125136
})
126137
stores.dispatch(action)
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
import Foundation
2+
3+
enum PointOfSalePaymentMethod {
4+
case card
5+
case cash
6+
}

0 commit comments

Comments
 (0)