-
Notifications
You must be signed in to change notification settings - Fork 356
Conversation
Kiosk/App/CardHandler.swift
Outdated
case .connecting: | ||
return "connecting" | ||
case .batteryStatusUpdated: | ||
return "battery status updated" |
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.
Great! FWIW these bottom few need a capital at start
Kiosk/App/CardHandler.swift
Outdated
reader.beginSwipe() | ||
public func transaction(_ transaction: CFTTransaction, didRequest cvm: CFTCVM) { | ||
logger.log("Transaction requested signature from user, ignoring.") | ||
_cardStatus.onNext("Ignoring user signature request from CardFlight") |
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.
This can be a bit more nuanced, since we can determine if a signature is actually required through the cvm
parameter, described here: https://github.com/CardFlight/cardflight-v4-ios/issues/3
// CardFlight SDK, the user is prompted to accept processing for card tokenization, which is provides a | ||
// unfriendly user experience (prompting to accept a transaction that we're not actually placing). So we | ||
// auto-accept these requests and filter out confirmation messages, which don't apply to tokenization flows, | ||
// until this issue is fixed: https://github.com/CardFlight/cardflight-v4-ios/issues/4 |
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.
Hey @orta, when you have a moment can you double-check my thinking here? I need to make sure this is not sneaky or unethical, and make sure that the intentions of the code are made clear in the comment for other developers. Thanks!
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.
Yeah, this makes sense for me
@orta okay this is good for review. Please see my note above requesting feedback. Also note that c8fdf99 removes the "processing" label and instead we opt to display the messages that CardFlight sends us to display to the user (with "Please wait..." as a placeholder if there is no current message). This fixes a longstanding issue with users swiping before the card reader is ready, too. |
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.
Yeah, this makes sense to me
// CardFlight SDK, the user is prompted to accept processing for card tokenization, which is provides a | ||
// unfriendly user experience (prompting to accept a transaction that we're not actually placing). So we | ||
// auto-accept these requests and filter out confirmation messages, which don't apply to tokenization flows, | ||
// until this issue is fixed: https://github.com/CardFlight/cardflight-v4-ios/issues/4 |
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.
Yeah, this makes sense for me
|
||
if message.hasPrefix("Card Flight Error") { | ||
self.processingLabel.text = "ERROR PROCESSING CARD - SEE ADMIN" | ||
} |
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.
👋
Okay great, I'll put this on an iPad and work with Nicole to test before a deploy. Thanks! |
When i tested this, it didn't work. I tried but couldn't get the v4 upgrade to work, so I'll revert this PR. I've opened an issue to request help: https://github.com/CardFlight/cardflight-v4-ios/issues/5 |
I've ticketed the work for CardFlight compatibility, it's trickier than it looks at first due to Xcode 10 removing libstdc++.6.0.9: |
This PR updates Eidolon to use v4 of the CardFlight SDK. It is a work-in-progress because of some outstanding TODO items, as well as manual testing before merging. Paired with @sepans with this.