fix: Clean up analytics errors logs for calls - WPB-25740#4737
Open
KaterinaWire wants to merge 4 commits into
Open
fix: Clean up analytics errors logs for calls - WPB-25740#4737KaterinaWire wants to merge 4 commits into
KaterinaWire wants to merge 4 commits into
Conversation
|
Contributor
Test Results1 879 tests 1 852 ✅ 2m 6s ⏱️ Results for commit 929cf49. Summary: workflow run #26110425832 |
johnxnguyen
approved these changes
May 20, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.



Issue
We have ~200 error analytics logs per day:
handleCallTerminating: expected eventInfo to be non-nilhandleIncomingCall: expected eventInfo to be nil, but is: EventInfo(callDirection: (extension in WireAnalytics):WireFoundation.AnalyticsEvent.Calling.CallDirection.incoming, callStart: nil, screenSharingStart: nil, conversationID: Optional(WireRequestStrategy.AVSIdentifier(identifier: B32194D6-D2FA-5F78-A8C9-0C5E79ACB66B, domain: Optional("wire.com"))), conversationType: (extension in WireAnalytics):WireFoundation.AnalyticsEvent.Segmentation.Conversation.ConversationType.oneOnOne, totalScreenSharingDuration: 0.0, uniqueScreenSharingUsers: Set([]), participants: Set([]), isVideoCall: false, hasAVSwitchToggled: false)This is not an error, but an expected state of the app.
handleCallTerminating: expected eventInfo to be non-nil:eventInfos[remoteIdentifier]is only populated inhandleIncomingCall,handleOutgoingCall, andhandleCallEstablished. So nil at termination means this client never entered any of those states for this call.The cases:
.answeredElsewhere- user picked up on another device; this device may have received .incoming(_, shouldRing: false, _) (which doesn't populate) or just .terminating directly..rejectedElsewhere- same path, rejected from another device..stillOngoing- fires on .incoming(_, shouldRing: false, _) and .mediaStopped..canceledif the caller hung up before this device started ringing.None of these are bugs. The log is firing on normal protocol behavior.
handleIncomingCall: expected eventInfo to be nil, but is: ...This is also not a bug.
Testing
Checklist
[WPB-XXX].UI accessibility checklist
If your PR includes UI changes, please utilize this checklist: