Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Investigate why Element X Android reports higher UTD count (timeboxed to S) #2591

Open
andybalaam opened this issue Oct 21, 2024 · 7 comments
Assignees

Comments

@andybalaam
Copy link

andybalaam commented Oct 21, 2024

Come up with some ideas about how to investigate the higher UTD counts on Element X Android.

Possibilities:

  • Does Android have a different definition of "on screen"?
  • Does the fact that Android hold multiple timelines in memory cause this effect?
  • Is there a real bug causing more real UTDs?
  • others you can think of...
@BillCarsonFr
Copy link
Member

BillCarsonFr commented Oct 31, 2024

@toger5
Copy link

toger5 commented Oct 31, 2024

Do android x users have a higher chance to also use the legacy android app -> that might affect utd's more than the legacy ios app?

@BillCarsonFr
Copy link
Member

BillCarsonFr commented Oct 31, 2024

Scenario to try out:

  • Notification client receives a UTD message in background => When is it reported to posthog? Does the app need to be opened?

On iOS, if there is a UTD in the NSE, is it later reported when the app is opened?

@BillCarsonFr
Copy link
Member

Let's spend 2 days on that now.

@BillCarsonFr BillCarsonFr self-assigned this Nov 6, 2024
@BillCarsonFr
Copy link
Member

BillCarsonFr commented Nov 12, 2024

Results of the analysis:
EXI is under reporting and EXA is over reporting.

For EXI to report an UTD you have to be in the room while the event is received. You can leave the room after and it will be reported. But if the timeline is not opened at the time of reception it won't report the UTD.

So if you receive a UTD from a push notif, then you open the app it won't be reported.

EXA is reporting more because the app is keeping a LRU cache of recent timelines (up to 16) so if an event arrives in any of these cached timeline it will be reported. Also for performance reasons when android receives a push notificiation it will also trigger a app sync so that you see the event quicker when opening the app, so there is always a timeline for pushed events.

=> EXA is over reporting because it is reporting UTD that are not visible to users

@andybalaam
Copy link
Author

andybalaam commented Nov 12, 2024

EXA is under reporting and EXI is over reporting.

Should be:

EXA is OVER reporting and EXI is UNDER reporting

Right?

and

...You can leave the room after and it will be reported...

should be

...You can leave the room after and it will NOT be reported...

right?

@BillCarsonFr
Copy link
Member

EXA is under reporting and EXI is over reporting.

Should be:

EXA is OVER reporting and EXI is UNDER reporting

Right?

and

...You can leave the room after and it will be reported...

should be

...You can leave the room after and it will NOT be reported...

right?

Fixed the first part, yes EXA is OVER reporting and EXI is UNDER reporting

For the second part, it's a bit more complex see this issue matrix-org/matrix-rust-sdk#4252 there is a regression

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants