fix: improper poll state overwrite #1456
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
CLA
Description of the changes, What, Why and How?
This PR fixes a case of overwriting the poll cache when we should not do that. Essentially, hydrating all messages in
messageSet.messages
wheneverchannel.query
is invoked does 2 things:The problem here is; since we do not update
message.poll
objects at all, but rather use them as an ID reference towards the cache - these polls are stale (since they're retrieved from the stale state and not as an HTTP response). The state is then overwritten with the stale data until we query all messages again.The bug is particularly noticeable if we do some state changes to a poll (for example vote on it, add some answers or similar) and then paginate elsewhere within the messages (up or down). We can see that the poll will reset back to the state it had on the initial load.
Changelog