diff options
author | Kristóf Marussy <kristof@marussy.com> | 2021-10-31 16:56:34 +0100 |
---|---|---|
committer | Kristóf Marussy <kristof@marussy.com> | 2021-10-31 19:26:16 +0100 |
commit | 4808ac1571adb95fa2ffc960c95b4b46f5d5fbe2 (patch) | |
tree | d45afe83b29fd15294c73d160b72644ee5c8afef /language-web/.eslintrc.ci.js | |
parent | chore(web): refactor xtext client (diff) | |
download | refinery-4808ac1571adb95fa2ffc960c95b4b46f5d5fbe2.tar.gz refinery-4808ac1571adb95fa2ffc960c95b4b46f5d5fbe2.tar.zst refinery-4808ac1571adb95fa2ffc960c95b4b46f5d5fbe2.zip |
fix(web): fix push message race condition
In some resource-constrained environments (e.g., my VPS with 2 vCPUs),
it was possible for validation and highlighting precomputation to be
finished before the server responded to a deltaText updating completion
request (updating completion take longer than a normal update, because
they also have to compute the completions). Therefore, the client
received push messages about a stateId it didn't know about yet.
To fix this, we delay any push messages originating during servicing a
call to be sent after the call is serviced. Thus the client first
receives the updating completion response with the new stateId, followed
by the push messages relating to that stateId.
Diffstat (limited to 'language-web/.eslintrc.ci.js')
0 files changed, 0 insertions, 0 deletions