-
-
Notifications
You must be signed in to change notification settings - Fork 85
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
Contact recently seen changes have missing events #5377
Comments
I made a failing test for this in https://github.com/deltachat/deltachat-core-rust/tree/simon/i5377-test-for-recently-seen |
It's not even documented that deltachat-core-rust/src/events/payload.rs Lines 185 to 188 in 2f0f247
EDIT: I'm wrong, |
this is not true. android and ios also refresh the chatlist event based, not on switching screens. you see this as there is zero delay when going back - i fact, the chatlist was there all the time, just fully covered the change was made in 2021, see eg. deltachat/deltachat-ios#1374 however, whole chatlist is reloaded, not single chatlist items. that said, the redraw bug may still be in core. but the hint ios/android refresh behavior gives seems less clear :) |
This is not primarily about the chatlist, this is about the indicator that is shown on the chat view/messagelist and the indicator on the profile view. To some extend also the chatlist, but the point is not that there are missing event listeners, the point is that there are cases where the event is missing, as far as I know there are listeners for I was likely giving not enough information here leading to this misunderstanding. You can reproduce the missing events on iOS by:
anyways Ignoring my iOS testing which only the second half is still valid (dot does not vanish), as long as the test I wrote in https://github.com/deltachat/deltachat-core-rust/tree/simon/i5377-test-for-recently-seen is valid and fails we have the problem of missing events. |
all fine, i did not doubt there is a bug :) sorry if i gave a wrong impression here. thanks a lot for taking care! |
about the change from "no green dot" to "green dot", there is no contact changed event because it is not strictly needed, android (and I guess iOS) use incoming message, msg read, etc events to update the state of the green dot as a contact can only change to online if you receive a message or read receipt from them, about not receiving events when the user change from online to offline, that would be then a bug but it used to trigger the even just fine on Android last time I check |
you don't get that info if the message/read receipt was received in a group chat if it is as you described. (because the events you mentioned have chat and message id, no contact id) |
…ange (#5377) - Always emit `ContactsChanged` from `contact::update_last_seen()` if a contact was seen recently just for simplicity and symmetry with `RecentlySeenLoop::run()` which also may emit several events for single contact. - Fix sleep time calculation in `RecentlySeenLoop::run()` -- `now` must be updated on every iteration, before the initial value was used every time which led to progressively long sleeps.
…ange (#5377) - Always emit `ContactsChanged` from `contact::update_last_seen()` if a contact was seen recently just for simplicity and symmetry with `RecentlySeenLoop::run()` which also may emit several events for single contact. - Fix sleep time calculation in `RecentlySeenLoop::run()` -- `now` must be updated on every iteration, before the initial value was used every time which led to progressively long sleeps.
When a contact turns from "not recently seen" to "recently seen" there is always no
ContactsChanged
event.When a contact turns from "recently seen" to "not recently seen" there is sometimes no
ContactsChanged
event.Expected: Both cases should emit the
ContactsChanged
eventThis cause a bug in the UI: deltachat/deltachat-desktop#3735 (on iOS the bug of missing events also exists, but is not as visible as the whole as the screen is refreshed each time the user switches screens, the same is likely true also for android, but I did not test there yet.)
The text was updated successfully, but these errors were encountered: