-
Notifications
You must be signed in to change notification settings - Fork 250
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
fix(communities)!: stop syncing community on LastOpenedAt
update
#5884
Conversation
555a7dd
to
d6d810e
Compare
LastOpenedAt
updateLastOpenedAt
update
Looks like you have BREAKING CHANGES in your PR. Check-list
|
Jenkins BuildsClick to see older builds (16)
|
Codecov ReportAll modified and coverable lines are covered by tests ✅
✅ All tests successful. No failed tests found. Additional details and impacted files@@ Coverage Diff @@
## develop #5884 +/- ##
===========================================
+ Coverage 45.47% 46.10% +0.62%
===========================================
Files 891 891
Lines 158068 158063 -5
===========================================
+ Hits 71880 72869 +989
+ Misses 78086 76836 -1250
- Partials 8102 8358 +256
Flags with carried forward coverage won't be shown. Click here to find out more.
|
d6d810e
to
99e9780
Compare
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.
LGTM
what is the use of this in mobile? and why does community needs to be synced in this case. |
I can only guess that it's meant to display communities in the same order on each device, but I might be wrong. @ilmotta or @qfrank, could you please confirm? Will this cause any issues on mobile, and if so, can we live with that? |
99e9780
to
b9aaee7
Compare
Sorry @osmaczko , I didn't touch this before, maybe QA or Icaro could give better confirmation |
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.
NOTE: it might break syncing flow on mobile as
LastOpenedAt
is no longer synced.what is the use of this in mobile? and why does community needs to be synced in this case.
I can only guess that it's meant to display communities in the same order on each device, but I might be wrong. @ilmotta or @qfrank, could you please confirm? Will this cause any issues on mobile, and if so, can we live with that?
The timestamp was originally added to improve the way communities are sorted. The following issue has all the context status-im/status-mobile#17337. But as pointed out in this PR, syncing the timestamp may stop working. The bandwidth cost seems to be much more important to be fixed though.
I would request a Mobile QA to double-check before merging. Maybe @VolodLytvynenko, who originally reported the bug in status-im/status-mobile#17337 can test.
@osmaczko If you feel adventurous:
QAs will need an Android/iOS build to test the status-go PR indirectly. Because only the status-go revision needs to change, the PR (draft works too) can be opened with a single commit, being the result of running scripts/update-status-go.sh fix/stop-syncing-last-opened-at
. Builds for Android and iOS will be generated automatically after a few minutes. The label request-manual-qa
should be added to such PRs in status-mobile.
is this to sort communities list for the user to display locally? if so, shouldn't this info be stored in local storage? is there a need to sync this at all in first place. |
I'm not sure @chaitanyaprem, but I thought the timestamp was being synced to support the case for multiple devices to display the communities sorted in the same way by last opened at. Maybe a user with 2 or more devices with many communities sorted in an inconsistent way would find the solution from this PR inconvenient. If you ask me, I think your proposal for persisting the timestamp only locally would already provide a better UX for most users who only use one device most of the time, and/or which don't have many communities listed. And I would bet most users would prefer to save on bandwidth and live with inconsistent communities sorting across devices. |
@ilmotta thanks, I went through this adventure yesterday: status-im/status-mobile#21353. I've added missing label just now though. |
Syncing the entire community for potentially frequent actions like `LastOpenedAt` updates is highly inefficient when using Waku as the transport layer, as it can result in significant bandwidth overhead.
b9aaee7
to
d184587
Compare
Hey @osmaczko! Thank you for the PR. I got one question: does it affect Desktop as well or only mobile? Should we create a Desktop PR pointing at this go branch or it will be okay to use master Desktop for testing? |
Thanks for asking. It does not affect Desktop, as we are not using |
@osmaczko thanks for the PR and sorry for delay with testing. I did not find any issues. The only difference compared to behaviour in develop is that after this PR we will not be syncing the sorting of communities in the single Opened tab (see screenshot below). Agree with @ilmotta that the bandwidth cost is much more important to be fixed so from my perspective we can sacrifice syncing sorting of communities in this single tab. PR is ready for merge. |
Thank you! |
Syncing the entire community for potentially frequent actions like
LastOpenedAt
updates is highly inefficient when using Waku as the transport layer, as it can result in significant bandwidth overhead.NOTE: it might break syncing flow on mobile as
LastOpenedAt
is no longer synced.