I am using parse-server@6.4.0, I am running two Parse instances, one configured as LiveQueryParseServer, the other as regular Parse Server. I use Redis to implement cross instance pubsub of the Live Queries.
I have successfully configured it to publish and subscribe, however, when the messages should be sent to the client (FE app), the LiveQuery server cannot match the user and does not send the message.
In the FE app, I am subscribing sending the session token, I've verified the token in the subscription request being correct.
If I remove the ACL from the obejct, the FE app receives the message.
By using the default pubsub provider (EventEmitter) in a single instance, the same ACL and FE code to subscribe, works perfectly. This indicates a high proability of a bug in the Redis PubSub logic to match users based on their session tokens.
Steps to reproduce
Using ParseServer and LiveQueryParseServer
Using Redis as PubSub
Have a client subscribe to LiveQueryParseServer using the sessionToken
Create an object with ACL pointing to a specific user id
Observe how the message does not reach the FE app.
Now remove the ACL, and try creating a new object
Observe how the message now reaches successfully the FE app
Actual Outcome
No messages received.
Expected Outcome
All messages using the right ACL should be received
Environment
Server
Parse Server version: 6.4.0
Operating system: Linux
Local or remote host (AWS, Azure, Google Cloud, Heroku, Digital Ocean, etc): AWS
Database
System (MongoDB or Postgres): MongoDB
Database version: 6
Local or remote host (MongoDB Atlas, mLab, AWS, Azure, Google Cloud, etc): MongoDB Atlas
🚀 You can help us to fix this issue faster by opening a pull request with a failing test. See our Contribution Guide for how to make a pull request, or read our New Contributor's Guide if this is your first time contributing.
New Issue Checklist
Issue Description
I am using
parse-server@6.4.0
, I am running two Parse instances, one configured asLiveQueryParseServer
, the other as regularParse Server
. I useRedis
to implement cross instance pubsub of the Live Queries.I have successfully configured it to publish and subscribe, however, when the messages should be sent to the client (FE app), the LiveQuery server cannot match the user and does not send the message.
In the FE app, I am subscribing sending the session token, I've verified the token in the subscription request being correct.
If I remove the ACL from the obejct, the FE app receives the message.
By using the default pubsub provider (EventEmitter) in a single instance, the same ACL and FE code to subscribe, works perfectly. This indicates a high proability of a bug in the Redis PubSub logic to match users based on their session tokens.
Steps to reproduce
Actual Outcome
No messages received.
Expected Outcome
All messages using the right ACL should be received
Environment
Server
6.4.0
Linux
AWS
Database
MongoDB
6
MongoDB Atlas
Client
JavaScript
4.3.1
Logs
Even using the VERBOSE level, LiveQueryParseServer logs very little, almost nothing.