@@ -622,7 +622,6 @@ public class EPC: NSObject {
622622 * - stream: The stream to submit the event to
623623 * - event: The event data
624624 * - domain: Optional domain to include for the event (without protocol)
625- * - date: Optional date for the event. This corresponds to the `client_dt`.
626625 *
627626 * An example call:
628627 * ```
@@ -672,14 +671,15 @@ public class EPC: NSObject {
672671 * 1st preferred language – in which case use
673672 * `MWKLanguageLinkController.sharedInstance().appLanguage.siteURL().host`
674673 */
675- public func submit< E: EventInterface > ( stream: Stream , event: E , domain: String ? = nil , date: Date ? = nil ) {
674+ public func submit< E: EventInterface > ( stream: Stream , event: E , domain: String ? = nil ) {
675+ let date = Date ( ) // Record the date synchronously so there's no delay
676676 encodeQueue. async {
677- self . _submit ( stream: stream, event: event, domain : domain , date : date )
677+ self . _submit ( stream: stream, event: event, date : date , domain : domain )
678678 }
679679 }
680680
681681 /// Private, synchronous version of `submit`.
682- private func _submit< E: EventInterface > ( stream: Stream , event: E , domain : String ? = nil , date : Date ? = nil ) {
682+ private func _submit< E: EventInterface > ( stream: Stream , event: E , date : Date , domain : String ? = nil ) {
683683 guard sharingUsageData else {
684684 return
685685 }
@@ -689,7 +689,7 @@ public class EPC: NSObject {
689689 }
690690 let meta = EventBody< E> . Meta( stream: stream, id: UUID ( ) , domain: domain)
691691
692- let eventPayload = EventBody ( meta: meta, appInstallID: appInstallID, appSessionID: sessionID, clientDT: date ?? Date ( ) , event: event)
692+ let eventPayload = EventBody ( meta: meta, appInstallID: appInstallID, appSessionID: sessionID, clientDT: date, event: event)
693693 do {
694694 let encoder = JSONEncoder ( )
695695 encoder. dateEncodingStrategy = . iso8601
0 commit comments