-
Notifications
You must be signed in to change notification settings - Fork 17
Open
Description
- Use of
statemachineis not need as a part of channel presence since it's not mentioned in the spec and not implemented in other SDKs.
e.g. you can find
STATE = ruby_enum('STATE',
:initialized,
:entering,
:entered,
:leaving,
:left
)
- Remove use of presence
statemachineto make implementation in sync with spec and other SDKs - There are only 3 states for presence sync as per spec but ruby presence map mentions 6 states
e.g. instead of
syncInitial
syncInProgress
syncComplete
ruby presence map has
STATE = ruby_enum('STATE',
:initialized,
:sync_starting, # Indicates the client is waiting for SYNC ProtocolMessages from Ably
:sync_none, # Indicates the ATTACHED ProtocolMessage had no presence flag and thus no members on the channel
:finalizing_sync,
:in_sync,
:failed
)
- It feels there is overuse of
statemachinein ruby sdk. Need to be refactored at a certain point to make ruby implementation in sync with spec and for better readability.
Metadata
Metadata
Assignees
Labels
No labels