Closed
Description
- I am not disclosing a vulnerability.
- I am not just asking a question.
- I have searched through existing issues.
- I can reproduce the issue with the latest version of Parse Server.
Issue Description
PR #8012 doesn't set the waitingForPong flag correctly on the 'pong' event, leading to the websocket connection being closed approximately every 10 seconds as it effectively misses the 'pong'. If LiveQuery auto-reconnect is enabled, this results in a loop of repeatedly connecting and disconnecting from the LiveQuery server.
Steps to reproduce
- Run parse-server as of 72fac8a with LiveQuery set up.
- Connect to LiveQuery with a client
- Observe the connection dropping repeatedly
Actual Outcome
LiveQuery connection is not stable.
Expected Outcome
LiveQuery connection is stable.
Server
- Parse Server version: 5.3.0-alpha.16
- Operating system: Windows
- Local or remote host: Local
Database
- System: MongoDB
- Database version: 5.0.9
- Local or remote host: MongoDB Atlas
Client
- SDK: Flutter (Web)
- SDK version: 3.1.2
Logs
ReSubScription:{}
LiveQuery Connected!
Creating heartbeat timer...
The Flutter DevTools debugger and profiler on Chrome is available at: http://127.0.0.1:9107?uri=http://127.0.0.1:56951/is
LiveQuery Disconnected!
ReSubScription:{1: Instance of 'Subscription<ParseObject>', 2: Instance of 'Subscription<ParseObject>'}
LiveQuery Connected!
Creating heartbeat timer...
LiveQuery Disconnected!
ReSubScription:{1: Instance of 'Subscription<ParseObject>', 2: Instance of 'Subscription<ParseObject>'}
LiveQuery Connected!
Creating heartbeat timer...
LiveQuery Disconnected!
ReSubScription:{1: Instance of 'Subscription<ParseObject>', 2: Instance of 'Subscription<ParseObject>'}
LiveQuery Connected!
Creating heartbeat timer...
LiveQuery Disconnected!
ReSubScription:{1: Instance of 'Subscription<ParseObject>', 2: Instance of 'Subscription<ParseObject>'}
LiveQuery Connected!
Creating heartbeat timer...
LiveQuery Disconnected!
ReSubScription:{1: Instance of 'Subscription<ParseObject>', 2: Instance of 'Subscription<ParseObject>'}
LiveQuery Connected!
...
info: Create new client: 7647f64b-4bc5-4c7a-a9b1-70cb9d2a6b5a
info: Client disconnect: 7647f64b-4bc5-4c7a-a9b1-70cb9d2a6b5a
info: Create new client: 2fe6fd4b-6fbd-4775-94e4-441e6c727a03
info: Client disconnect: 2fe6fd4b-6fbd-4775-94e4-441e6c727a03
info: Create new client: 4156afbd-c95a-42f7-beac-90d5cadbd7e4
info: Client disconnect: 4156afbd-c95a-42f7-beac-90d5cadbd7e4
info: Create new client: 70f87120-62e0-4da2-a76b-9fe36ccae72b
info: Client disconnect: 70f87120-62e0-4da2-a76b-9fe36ccae72b
info: Create new client: e4b78065-ef96-4bb1-bdb2-58fbc118d6eb
info: Create new client: b65caa02-f0bd-4937-ab12-799f0dd8e445
info: Client disconnect: e4b78065-ef96-4bb1-bdb2-58fbc118d6eb
info: Create new client: a12ee413-7171-4ef3-810d-e9e756079e09
info: Client disconnect: b65caa02-f0bd-4937-ab12-799f0dd8e445
info: Create new client: cac18dc6-0771-4825-b051-71fd7cc69b0c
info: Client disconnect: a12ee413-7171-4ef3-810d-e9e756079e09
info: Create new client: 89532f91-1037-4a8a-9080-d4a301d94596
info: Client disconnect: cac18dc6-0771-4825-b051-71fd7cc69b0c
info: Create new client: eb136b72-4f7e-4578-af82-a89f9c273852
...