The previous times table format presented some engineering challenges:
It was one table, meaning each row (+ header row) is its own parent element. When a user joins or leaves, they need a corresponding element inserted into each of these rows, which is a big update with a lot of logic, and works by forcing an update on every round
Previous rounds could not be updated easily
This PR updates the times table so that each user column is its own parent element. It works via a live component which renders a stream of rounds for that user, and updates with stream operations on solve and round events.
Now there is only one HEEx enumeration over @participant_data
Each ParticipantComponent handles updating itself with the same events that RoomServer receives
The Events being sent around are now streamlined and better defined through individual structs
The previous times table format presented some engineering challenges:
round
This PR updates the times table so that each user column is its own parent element. It works via a live component which renders a stream of rounds for that user, and updates with stream operations on solve and round events.
@participant_data
ParticipantComponent
handles updating itself with the same events thatRoomServer
receivesEvents
being sent around are now streamlined and better defined through individual structs