Describe the bug
After completing the SDK flow, the window used by the SDK does not always resign itself, and remains the keyWindow. This results in apparent "freezing" of the app due to user interaction being blocked for the merchant's own window.
To Reproduce
Steps to reproduce the behavior:
Testdrive SDK version 2.6.5
Trigger/mock a payment capture failure when completing the SDK payment flow (specifically, a 400 response)
Observe the modal SDK flow dismiss, the Klarna widget fail to load, and sometimes a dimmed view remain, overlaying the screen
Underlying (but visible) merchant view is now unresponsive
Expected behavior
On completion of the flow (whether error or success) when the SDK payment flow dismisses, KlarnaWindow should resign its state as the key window, returning control to the merchant's own window.
Screenshots
Device and version:
Device/OS: iPhone X iOS 15 + various simulators (not device-specific)
Klarna In-App SDK version: 2.6.5
Merchant Name
ASOS
Impact Level
Blocking release
Additional context
We observed many main thread warnings caused by a web view within the SDK widget, these seem to be a common issue with WebKit so we don't believe them to be related, but worth noting.
Some logs we observed around the point of issue:
Dispatching message fullscreenShowResponse from Native to KlarnaAcquiringPurchaseFlowLibrary.
Closing as this seems localised to our complex code structure, and doesn't seem possible to reproduce in a simple environment. Will reopen if we discover more during some follow-up work we have planned.
Describe the bug After completing the SDK flow, the window used by the SDK does not always resign itself, and remains the keyWindow. This results in apparent "freezing" of the app due to user interaction being blocked for the merchant's own window.
To Reproduce Steps to reproduce the behavior:
Expected behavior On completion of the flow (whether error or success) when the SDK payment flow dismisses,
KlarnaWindow
should resign its state as the key window, returning control to the merchant's own window.Device and version:
Merchant Name ASOS
Impact Level Blocking release
Additional context
Dispatching message fullscreenShowResponse from Native to KlarnaAcquiringPurchaseFlowLibrary.
Logging analytics event messageQueueForwardedWebViewMessage
[NetworkService] NetworkService handleError called with no completion.
[NetworkService] NetworkService handleSuccess called with no completion.