Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -179,9 +179,9 @@ where TapToPayAlertProvider.AlertDetails == AlertPresenter.AlertDetails,
alertProvider: paymentAlertProvider,
onCompleted: onCompleted)
}
onPaymentCompletion()
}
}
onPaymentCompletion()
})
case .canceled(let cancellationSource, _):
self.handlePaymentCancellation(from: cancellationSource)
Expand Down
159 changes: 120 additions & 39 deletions WooCommerce/Resources/ar.lproj/Localizable.strings

Large diffs are not rendered by default.

165 changes: 126 additions & 39 deletions WooCommerce/Resources/de.lproj/Localizable.strings

Large diffs are not rendered by default.

165 changes: 126 additions & 39 deletions WooCommerce/Resources/es.lproj/Localizable.strings

Large diffs are not rendered by default.

165 changes: 126 additions & 39 deletions WooCommerce/Resources/fr.lproj/Localizable.strings

Large diffs are not rendered by default.

165 changes: 126 additions & 39 deletions WooCommerce/Resources/he.lproj/Localizable.strings

Large diffs are not rendered by default.

165 changes: 126 additions & 39 deletions WooCommerce/Resources/id.lproj/Localizable.strings

Large diffs are not rendered by default.

165 changes: 126 additions & 39 deletions WooCommerce/Resources/it.lproj/Localizable.strings

Large diffs are not rendered by default.

165 changes: 126 additions & 39 deletions WooCommerce/Resources/ja.lproj/Localizable.strings

Large diffs are not rendered by default.

165 changes: 126 additions & 39 deletions WooCommerce/Resources/ko.lproj/Localizable.strings

Large diffs are not rendered by default.

165 changes: 126 additions & 39 deletions WooCommerce/Resources/nl.lproj/Localizable.strings

Large diffs are not rendered by default.

165 changes: 126 additions & 39 deletions WooCommerce/Resources/pt-BR.lproj/Localizable.strings

Large diffs are not rendered by default.

165 changes: 126 additions & 39 deletions WooCommerce/Resources/ru.lproj/Localizable.strings

Large diffs are not rendered by default.

165 changes: 126 additions & 39 deletions WooCommerce/Resources/sv.lproj/Localizable.strings

Large diffs are not rendered by default.

165 changes: 126 additions & 39 deletions WooCommerce/Resources/tr.lproj/Localizable.strings

Large diffs are not rendered by default.

165 changes: 126 additions & 39 deletions WooCommerce/Resources/zh-Hans.lproj/Localizable.strings

Large diffs are not rendered by default.

165 changes: 126 additions & 39 deletions WooCommerce/Resources/zh-Hant.lproj/Localizable.strings

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,14 @@ final class MockReceiptEligibilityUseCase: ReceiptEligibilityUseCaseProtocol {
var isEligibleForFailedPaymentEmailReceipts: Bool = false
var isEligibleForReceipt: Bool = true

var mockIsEligibleForBackendReceiptsHandler: ((@escaping (Bool) -> Void) -> Void)?

func isEligibleForBackendReceipts(onCompletion: @escaping (Bool) -> Void) {
onCompletion(isEligibleForBackendReceipts)
if let handler = mockIsEligibleForBackendReceiptsHandler {
handler(onCompletion)
} else {
onCompletion(isEligibleForBackendReceipts)
}
}

func isEligibleForSuccessfulPaymentEmailReceipts(onCompletion: @escaping (Bool) -> Void) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -361,6 +361,55 @@ final class CollectOrderPaymentUseCaseTests: XCTestCase {
// Then
XCTAssertEqual(mockPaymentOrchestrator.spyChannel, .pos)
}

func test_completion_called_after_alert_presentation() throws {
receiptEligibilityUseCase.isEligibleForBackendReceipts = true
let paymentMethod = PaymentMethod.cardPresent(details: .fake())
let intent = PaymentIntent.fake().copy(charges: [.fake().copy(paymentMethod: paymentMethod)])
let capturedPaymentData = CardPresentCapturedPaymentData(paymentMethod: paymentMethod, receiptParameters: .fake())
mockSuccessfulCardPresentPaymentActions(intent: intent, capturedPaymentData: capturedPaymentData)
enum Event {
case receiptEligibilityCheck
case alertPresented
case paymentCompletion
}
var eventOrder: [Event] = []

receiptEligibilityUseCase.mockIsEligibleForBackendReceiptsHandler = { completion in
// Force receiptEligibilityCheck completion delay
DispatchQueue.main.async {
eventOrder.append(.receiptEligibilityCheck)
completion(true)
}
}

// Track when receipt alert is presented
alertsPresenter.onPresentCalled = { viewModel in
if viewModel is CardPresentModalSuccessWithoutEmail ||
viewModel is CardPresentModalSuccessEmailSent {
eventOrder.append(.alertPresented)
}
}

// When payment succeeds
waitFor { promise in
self.useCase.collectPayment(
using: .bluetoothScan,
channel: .storeManagement,
onFailure: { _ in },
onCancel: {},
onPaymentCompletion: {
eventOrder.append(.paymentCompletion)
promise(())
},
onCompleted: {}
)
self.mockPreflightController.completeConnection(reader: MockCardReader.wisePad3(), gatewayID: Mocks.paymentGatewayAccount)
}

// Then ensure payment completion happens after alert presentation to avoid CollectOrderPaymentUseCase deinit before alert presentation
XCTAssertEqual(eventOrder, [.receiptEligibilityCheck, .alertPresented, .paymentCompletion])
}
}

private extension CollectOrderPaymentUseCaseTests {
Expand Down
2 changes: 1 addition & 1 deletion config/Version.Public.xcconfig
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
CURRENT_PROJECT_VERSION = $VERSION_LONG
MARKETING_VERSION = $VERSION_SHORT
VERSION_LONG = 22.9.0.0
VERSION_LONG = 22.9.0.1
VERSION_SHORT = 22.9
2 changes: 1 addition & 1 deletion fastlane/metadata/ar-SA/release_notes.txt
Original file line number Diff line number Diff line change
@@ -1 +1 @@
يوفر تحديثنا الأخير شاشات شحن مقسمة أكثر سلاسة ويحسن إمكانية الوصول إلى ملصقات الشحن، بالإضافة إلى تحديد حجم الملصق بشكل أسهل وشارات نقطة البيع داخل قائمة الطلب. في نقطة البيع، استمتع بتدفق فحص الرمز الشريطي الجديد، وزر مسح عربة التسوق الأكثر أمانًا.
يُعزز هذا التحديث ملصقات الشحن مع تحسين إمكانية الوصول، والتحقق من العنوان تحققًا أكثر ذكاء، والحصول على أداء أسرع. كما أضفنا كذلك علامة تبويب "نقطة البيع" المخصصة للوصول الأسرع، وأصبحت طلبات نقاط البيع قابلة الآن لاستخدام عوامل التصفية في قائمة طلباتك للحصول على تنظيم أفضل. بالإضافة إلى ذلك، حسنّا الأصول لتقليل مساحة التطبيق!
2 changes: 1 addition & 1 deletion fastlane/metadata/de-DE/release_notes.txt
Original file line number Diff line number Diff line change
@@ -1 +1 @@
Unser neuestes Update bietet reibungsloser nutzbare geteilte Versandbildschirme und eine verbesserte Zugänglichkeit für Versandetiketten sowie eine einfachere Auswahl der Etikettengröße und POS-Badges in der Bestellliste. In Point of Sale gibt es jetzt einen neuen Barcode-Scan-Flow und einen sichereren Button zum Leeren des Warenkorbs.
Mit diesem Update profitierst du von schnellerer Versandetikettenerstellung, intelligenterer Adressvalidierung und höherer Performance. Wir haben zudem einen speziellen Tab für den Verkaufsort (POS) für schnelleren Zugriff hinzugefügt. Außerdem kannst du in deiner Bestellliste jetzt nach POS-Bestellungen filtern. So behältst du jederzeit den Überblick. Des Weiteren haben wir die Assets optimiert, um den erforderlichen Speicherplatz für die App zu reduzieren!
2 changes: 1 addition & 1 deletion fastlane/metadata/default/release_notes.txt
Original file line number Diff line number Diff line change
@@ -1 +1 @@
Our latest update brings smoother split shipment screens and improved accessibility for Shipping Labels, plus easier label size selection, and POS badges within the order list. In Point of Sale, enjoy a new barcode scan flow, and a safer cart clear button.
This update enhances Shipping Labels with improved accessibility, smarter address validation, and faster performance. We've also added a dedicated Point of Sale tab for quicker access, and POS orders are now filterable in your order list for better organization. Plus, we've optimized assets to reduce the app's size!
2 changes: 1 addition & 1 deletion fastlane/metadata/es-ES/release_notes.txt
Original file line number Diff line number Diff line change
@@ -1 +1 @@
Nuestra última actualización proporciona pantallas de envío divididas más fluidas y una accesibilidad mejorada para las etiquetas de envío, además de una selección más sencilla del tamaño de las etiquetas y las insignias de POS dentro de la lista de pedidos. En Point of Sale, disfruta de un nuevo flujo de escaneo de códigos de barras y un botón de vaciado del carrito más seguro.
Esta actualización mejora las etiquetas de envío gracias a una mejor accesibilidad, una validación de direcciones más inteligente y un rendimiento más rápido. También hemos añadido una pestaña dedicada a POS para un acceso más rápido, y los pedidos de POS ahora se pueden filtrar en tu lista de pedidos para mejorar la organización. Además, hemos optimizado los recursos para reducir el tamaño de la aplicación.
2 changes: 1 addition & 1 deletion fastlane/metadata/fr-FR/release_notes.txt
Original file line number Diff line number Diff line change
@@ -1 +1 @@
Notre dernière mise à jour apporte des écrans d’expédition scindée plus fluides et une meilleure accessibilité pour les étiquettes d’expédition, ainsi qu’une sélection plus facile de la taille des étiquettes et des badges de PDV dans la liste de commande. Dans Point de vente, profitez d’un nouveau flux de lecture de code-barres et d’un bouton d’effacement du panier plus sûr.
Cette mise à jour améliore les étiquettes d’expédition grâce à une meilleure accessibilité, une validation des adresses plus intelligente et des performances plus rapides. Nous avons également ajouté un onglet Point de vente dédié pour un accès plus rapide, et les commandes PDV peuvent désormais être filtrées dans votre liste de commandes pour une meilleure organisation. De plus, nous avons optimisé les ressources pour réduire la taille de l’application !
2 changes: 1 addition & 1 deletion fastlane/metadata/he/release_notes.txt
Original file line number Diff line number Diff line change
@@ -1 +1 @@
בעדכון האחרון שלנו הגדרנו מסכי משלוח מפוצלים יעילים יותר ונגישות משופרת בשביל תוויות משלוח. בנוסף, אפשר לבחור גודל תווית בקלות רבה יותר וליצור תגים של POS ברשימת ההזמנות. ב'נקודת מכירה' אפשר ליהנות מתרשים זרימה חדש של סריקת ברקוד ומכפתור 'ניקוי' בטוח יותר בעגלת הקניות.
העדכון הזה משפר את תוויות המשלוח עם נגישות משופרת, אימות כתובת חכם יותר וביצועים מהירים יותר. הוספנו גם לשונית 'נקודת מכירה' ייעודית לגישה מהירה יותר, וכעת ניתן לסנן הזמנות של POS ברשימת ההזמנות כדי לאפשר ארגון טוב יותר. בנוסף, הצלחנו למטב את הנכסים כדי לצמצם את נפח האפליקציה!
2 changes: 1 addition & 1 deletion fastlane/metadata/id/release_notes.txt
Original file line number Diff line number Diff line change
@@ -1 +1 @@
Pembaruan terakhir kami menghadirkan layar pengiriman terpisah yang lebih lancar dan aksesibilitas yang lebih luas untuk Label Pengiriman, serta pemilihan ukuran label yang lebih mudah dan lencana POS dalam daftar pesanan. Di Point of Sale, nikmati alur pemindaian barcode yang baru dan tombol hapus keranjang yang lebih aman.
Pembaruan ini meningkatkan Label Pengiriman dengan memudahkan aksesibilitas, validasi alamat yang lebih cerdas, dan performa yang lebih cepat. Kami juga telah menambahkan tab Point of Sale khusus untuk akses lebih cepat; dan pesanan POS kini dapat difilter di daftar pesanan Anda agar lebih mudah dikelola. Selain itu, kami telah mengoptimalkan aset untuk mengurangi ukuran aplikasi!
2 changes: 1 addition & 1 deletion fastlane/metadata/it/release_notes.txt
Original file line number Diff line number Diff line change
@@ -1 +1 @@
Il nostro ultimo aggiornamento migliora la fluidità delle schermate delle spedizioni divise e l'accessibilità delle etichette di spedizione, oltre a semplificare la selezione delle dimensioni delle etichette e quella dei badge POS all'interno dell'elenco degli ordini. Nel punto vendita, scopri un nuovo flusso di scansione dei codici a barre e un pulsante più affidabile per l'eliminazione di tutti gli articoli presenti nel carrello.
Questo aggiornamento migliora l'accessibilità, la convalida degli indirizzi e le prestazioni delle etichette di spedizione. Abbiamo anche aggiunto una scheda apposita per il punto vendita per accedervi più rapidamente e reso filtrabili gli ordini POS nell'elenco degli ordini per una migliore organizzazione. Inoltre, abbiamo ottimizzato gli asset per ridurre le dimensioni dell'app.
2 changes: 1 addition & 1 deletion fastlane/metadata/ja/release_notes.txt
Original file line number Diff line number Diff line change
@@ -1 +1 @@
最新のアップデートで配送画面の分割がスムーズになり、配送ラベルのアクセシビリティが向上しました。さらにラベルサイズの選択が簡単になり、注文リスト内に PO バッジを表示できます。 販売時点管理に新しいバーコードスキャンのフローが追加され、お買い物カゴのクリアボタンがより安全になりました
今回の更新によって配送ラベルのアクセシビリティが向上するほか、住所の検証がよりスマートになり、パフォーマンスもさらに高速になります。 また、専用の「販売時点管理」タブを追加してすばやくアクセスできるようにしたほか、POS 注文を注文リストでフィルタリングして、より効率的に整理できるようになりました。 さらに、アプリのサイズを縮小するためにアセットを最適化しました
2 changes: 1 addition & 1 deletion fastlane/metadata/ko/release_notes.txt
Original file line number Diff line number Diff line change
@@ -1 +1 @@
최신 업데이트를 통해 분할 배송 화면이 더 원활해지고 배송 레이블 접근성이 개선되었으며, 레이블 크기 선택이 쉬워지고 POS 배지가 주문 목록에 포함됩니다. 판매 지점에서 새로운 바코드 스캔 절차와안전한 장바구니 지우기 버튼을 이용해 보세요.
업데이트를 통해 배송 레이블의 접근성이 향상되고, 주소 유효성 검사가 효과적으로 진행되며, 속도가 빨라집니다. 더 빠르게 접근할 수 있는 POS(판매 지점) 전용 탭도 추가되었으며, 이제는 주문 목록에서 POS 주문을 필터링하여깔끔하게 정리할 수 있습니다. 자산도 최적화되어 앱의 크기가 줄었습니다.
2 changes: 1 addition & 1 deletion fastlane/metadata/nl-NL/release_notes.txt
Original file line number Diff line number Diff line change
@@ -1 +1 @@
Onze nieuwste update zorgt voor soepelere schermen voor gesplitste verzending, een betere toegankelijkheid voor verzendlabels, een eenvoudigere selectie van labelformaten en POS-badges in de bestellijst. Profiteer bij Point of Sale van een nieuwe flow voor het scannen van streepjescodes en een veiligere knop voor het leegmaken van de winkelwagen.
Deze update verbetert verzendlabels met verbeterde toegankelijkheid, slimmere adresvalidatie en snellere prestaties. We hebben ook een speciaal tabblad Verkooppunt toegevoegd voor snellere toegang en POS-bestellingen kunnen nu worden gefilterd in je bestellijst voor een betere organisatie. Bovendien hebben we de middelen geoptimaliseerd om de app kleiner te maken!
2 changes: 1 addition & 1 deletion fastlane/metadata/pt-BR/release_notes.txt
Original file line number Diff line number Diff line change
@@ -1 +1 @@
Nossa atualização mais recente traz telas de envio divididas de forma mais harmoniosa e acessibilidade aprimorada para etiquetas de envio, além de facilitar a seleção do tamanho da etiqueta e oferecer crachás de ponto de venda na lista de pedidos. Em Ponto de venda, aproveite um novo fluxo de leitura de código de barras e um botão de limpeza de carrinho mais seguro.
Esta atualização aprimora as etiquetas de envio com acessibilidade aprimorada, validação de endereço mais inteligente e desempenho mais rápido. Também adicionamos uma aba dedicada de ponto de venda para acesso mais rápido, e os pedidos no PDV agora podem ser filtrados na sua lista de pedidos para uma organização melhor. Além disso, otimizamos os ativos para reduzir o tamanho do aplicativo.
2 changes: 1 addition & 1 deletion fastlane/metadata/ru/release_notes.txt
Original file line number Diff line number Diff line change
@@ -1 +1 @@
В нашем последнем обновлении: более стабильная работа экранов раздельной доставки, полностью переработанная функция транспортных этикеток, а также упрощённый выбор размера этикетки и значки POS в списке заказов. В режиме Point of Sale (Пункт продажи) вас ждёт обновлённый процесс сканирования штрихкодов и безопасная кнопка очистки корзины.
В этом обновлении расширены возможности транспортных этикеток: доступность, функция подтверждения адреса и производительность. Для удобства мы также добавили специальную вкладку «Пункт продажи», и теперь заказы POS можно фильтровать в списке заказов, чтобы упорядочить его. Кроме того, мы оптимизировали ресурсы, чтобы уменьшить объём приложения!
2 changes: 1 addition & 1 deletion fastlane/metadata/sv/release_notes.txt
Original file line number Diff line number Diff line change
@@ -1 +1 @@
Vår senaste uppdatering ger smidigare skärmar för uppdelade försändelser och förbättrad tillgänglighet för fraktetiketter, plus enklare val av etikettstorlek och POS-märken i beställningslistan. I Försäljningsplats finns ett nytt flöde för streckkodsskanning och en säkrare knapp för att rensa varukorgen.
Den här uppdateringen förbättrar fraktetiketter med förbättrad tillgänglighet, smartare adressvalidering och snabbare prestanda. Vi har också lagt till en dedikerad flik för försäljningsplats för snabbare åtkomst, och POS-beställningar kan nu filtreras i din beställningslista för bättre ordning. Dessutom har vi optimerat tillgångar för att minska appens storlek.
2 changes: 1 addition & 1 deletion fastlane/metadata/tr/release_notes.txt
Original file line number Diff line number Diff line change
@@ -1 +1 @@
En son güncellememiz, bölünmüş gönderim ekranlarını daha sorunsuz hale getirir ve gönderim etiketleri için erişilebilirliği artırır, ayrıca sipariş listesinde daha kolay etiket boyutu seçimi ve POS rozetleri bulunur. Satış Noktasında yeni bir barkod taraması akışı ve daha güvenli sepet temizleme düğmesinin keyfini çıkarın.
Bu güncelleme; geliştirilmiş erişilebilirlik, daha akıllı adres doğrulama ve daha hızlı performans ile Gönderim Etiketlerini geliştirir. Daha hızlı erişim için özel bir Satış Noktası sekmesi de ekledik ve POS siparişleri artık daha iyi düzenleme için sipariş listenizde filtrelenebilir. Ayrıca, uygulamanın boyutunu küçültmek için varlıkları optimize ettik!
2 changes: 1 addition & 1 deletion fastlane/metadata/zh-Hans/release_notes.txt
Original file line number Diff line number Diff line change
@@ -1 +1 @@
本次更新带来多项优化:分批发货界面更流畅,运输标签功能更易用,标签尺寸选择更便捷,订单列表新增 POS 标识。 在销售点中,我们推出了全新的条形码扫描流程,并优化了购物车清空按钮的安全防护。
本次更新对运输标签进行了全面优化,提供更便捷的操作、更智能的地址验证和更快速的性能。 我们新增了专属“销售点”标签页以实现快速访问,现在您还可以在订单列表中筛选 POS 订单,让管理更加井井有条。 此外,我们还优化了资源文件,有效缩减了应用体积!
2 changes: 1 addition & 1 deletion fastlane/metadata/zh-Hant/release_notes.txt
Original file line number Diff line number Diff line change
@@ -1 +1 @@
我們最新的更新讓分批出貨畫面更順暢,並強化「貨運標籤」的無障礙功能,還能更輕鬆地選取標籤大小,並在訂單清單中加上 POS 徽章。 在「銷售時點情報系統」享受全新條碼掃描流程,以及更安全的購物車清除按鈕。
本次更新強化了「貨運標籤」功能,並提升無障礙功能,地址驗證更聰明,並帶來更快速的效能。 我們也新增了專屬的「銷售時點情報系統」分頁,進入系統更便捷,現在也可以在訂單清單中篩選 POS 訂單,整理訂單更方便。 此外,我們已將應用程式資產最佳化,藉此縮減大小!
Loading