-
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
feat(mentions): add callID for OnChangeText
#3806
Conversation
76e0d00
to
0b585ed
Compare
Jenkins BuildsClick to see older builds (45)
|
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.
Interestingly @vkjr @qfrank, I solved a similar problem at the re-frame event layer for generating link previews. Basically, by the time any re-frame event is dispatched, it is processed asynchronously in an event queue, and by the time status-go response arrives to the client, new events may have been dispatched already.
So in effect, the pattern I used is a known one, which is to use a unique request ID to allow event de-duplication. The client only changes the application state (aka app-db) if the response ID is the same as the originating request ID. One difference is that I used a UUID to generate unique request IDs.
If you are curious, here's how I implemented this (very roughly I must say) in status-mobile https://github.com/status-im/status-mobile/blob/238e35a281a108ec2cac2091ca1f1ef84e106e80/src/status_im2/contexts/chat/composer/link_preview/events.cljs#L43
There are interesting ways to create a general solution in the client side too, because high-frequency client events that happen faster than the backend can reply can usually suffer from the problem this PR solved and the problem I solved on the client.
Well, thanks for reading this much :)
79aeba7
to
9d36da0
Compare
@qfrank is this PR still needed? |
I'd say yes and now one of our focus is stability, this will improve the stability of the application. Time to merge after manual QA @igor-sirotin |
@qfrank can you please rebase it then and request manual QA? |
ofc, I planned today, but I got something more important to do today, I'll do it tomorrow |
53d2c03
to
0210a02
Compare
OnChangeText
OnChangeText
0210a02
to
a1010b3
Compare
❌ 1 Tests Failed:
View the top 1 failed tests by shortest run time
To view individual test run time comparison to the main branch, go to the Test Analytics Dashboard |
a1010b3
to
b2c2e40
Compare
cab93fa
to
3f8962b
Compare
relate mobile PR1 PR2