You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
As expected, before we get the CONNECTED protocol message, published messages get enqueued. When CONNECTED arrives, all pending messages are supposed to be published right away.
But we have a bug: a publish can happen after the CONNECTED arrives and before the pending messages are publishes and that new message will be published right at that moment (since we're CONNECTED), but before the pending messages are published.
2019-12-05 17:10:39.770991+0100 xctest[55987:2631276] DEBUG: (ARTRealtimeChannel.m:577) R:0x7fa3fe95bcf0 C:0x7fa3fe96ce90 (test-3-testing) protocol message 0x7fa3fe970b20 has been queued and merged in an existing message
2019-12-05 17:10:39.771279+0100 xctest[55987:2631276] DEBUG: (ARTRealtimeChannel.m:577) R:0x7fa3fe95bcf0 C:0x7fa3fe96ce90 (test-3-testing) protocol message 0x7fa3fce12c70 has been queued and merged in an existing message
2019-12-05 17:10:39.771599+0100 xctest[55987:2631276] DEBUG: (ARTRealtimeChannel.m:577) R:0x7fa3fe95bcf0 C:0x7fa3fe96ce90 (test-3-testing) protocol message 0x7fa3fce13940 has been queued and merged in an existing message
2019-12-05 17:10:39.771886+0100 xctest[55987:2631276] DEBUG: (ARTRealtimeChannel.m:577) R:0x7fa3fe95bcf0 C:0x7fa3fe96ce90 (test-3-testing) protocol message 0x7fa3fce143f0 has been queued and merged in an existing message
2019-12-05 17:10:39.772236+0100 xctest[55987:2631276] DEBUG: (ARTRealtimeChannel.m:577) R:0x7fa3fe95bcf0 C:0x7fa3fe96ce90 (test-3-testing) protocol message 0x7fa3fe968d70 has been queued and merged in an existing message
...
2019-12-05 17:10:39.779660+0100 xctest[55987:2631518] DEBUG: R:0x7fa3fe95bcf0 realtime is transitioning from 1 - Connecting to 2 - Connected
* Make ARTRealtimeChannel.publish thread-safe.
This was somehow left behind as part of the whole #620 effort.
Fixes#926.
* ARTRealtimeChannel.publish: dispatch_sync instead of async.
Tests rely on this to observe the effects right after the method is
called.
As expected, before we get the CONNECTED protocol message, published messages get enqueued. When CONNECTED arrives, all pending messages are supposed to be published right away.
But we have a bug: a
publish
can happen after the CONNECTED arrives and before the pending messages are publishes and that new message will be published right at that moment (since we're CONNECTED), but before the pending messages are published.Now look how the message with name 41 sneaks in:
And only later the big message with the enqueued messages is sent:
The text was updated successfully, but these errors were encountered: