popstellar
popstellar copied to clipboard
[BUG] Opening a roll call fails in some execution flows
Description (Actual behavior)
These errors are generated from the servers.
- Opening a roll call triggers the following error:
An error response was replied by the server Error -4 - invalid message field: failed to publish: failed to handle publish message: failed to process message: failed to process action 'roll_call#open': The field `opens` does not correspond to the id of the previous roll call message] com.github.dedis.popstellar.utility.error.JsonRPCErrorException: Error -4 - invalid message field: failed to publish: failed to handle publish message: failed to process message: failed to process action **'roll_call#open'**: The field `opens` does not correspond to the id of the previous roll call message
This happens when the organizer creates a Roll Call X, then creates a Roll Call Y and tries to open the Roll Call X.
Expected behavior
The errors shouldn't happen.
How to reproduce
In the following video there's an execution flow that shows the problem: opening.webm
Version & Environment
This bug was reproduced on this commit, however it was present since this other commit.
Front-ends:
- [ ] Fe1-Web (please include browser's names & version)
- [ ] Fe2-Android (please specify if phone or emulation, and Android version)
- [X] Not applicable
Back-ends:
- [X] Be1-Go
- [X] Be2-Scala
- [ ] Not applicable
Workaround
When it happens that the opening is blocked, then the user is forced to create a new roll call.
Since it's the backend rejecting this, which backend have you tested this against? Both?
[EDIT] We tested with both backends and the behavior is the same, also it happens on fe1.
What's the status on this ? @matteosz
If I recall correctly, some issues were addressed on the front-end (considering the operations invalid in the first place), while others run deeper and required an actual fix.
If it makes sense to track the fixing more easily, feel free to split this issue into multiple issues addressing just one problem at a time.
Yes, I put them in a single issue since the errors I was getting were almost identical, so perhaps there's a common problem at the root.
Also I guess this is a backend related error, as it is generated by the server response.
I'll split them for better traceability :)