Skip to content

Commit f853a75

Browse files
authored
Fix subscribing to null sessionToken (#1058)
Closes: #1055
1 parent dd36493 commit f853a75

File tree

2 files changed

+26
-1
lines changed

2 files changed

+26
-1
lines changed

integration/test/ParseLiveQueryTest.js

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -180,4 +180,29 @@ describe('Parse LiveQuery', () => {
180180
})
181181
await object.save({ foo: 'bar' });
182182
});
183+
184+
it('can subscribe to null sessionToken', async (done) => {
185+
const user = await Parse.User.signUp('oooooo', 'password');
186+
187+
const readOnly = Parse.User.readOnlyAttributes();
188+
Parse.User.readOnlyAttributes = null;
189+
user.set('sessionToken', null);
190+
assert.equal(user.getSessionToken(), null);
191+
192+
const object = new TestObject();
193+
await object.save();
194+
195+
const query = new Parse.Query(TestObject);
196+
query.equalTo('objectId', object.id);
197+
const subscription = await query.subscribe();
198+
subscription.on('update', async (object) => {
199+
assert.equal(object.get('foo'), 'bar');
200+
Parse.User.readOnlyAttributes = function() {
201+
return readOnly;
202+
};
203+
await Parse.User.logOut();
204+
done();
205+
})
206+
await object.save({ foo: 'bar' });
207+
});
183208
});

src/LiveQueryClient.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -160,7 +160,7 @@ class LiveQueryClient extends EventEmitter {
160160
this.applicationId = applicationId;
161161
this.javascriptKey = javascriptKey;
162162
this.masterKey = masterKey;
163-
this.sessionToken = sessionToken;
163+
this.sessionToken = sessionToken || undefined;
164164
this.installationId = installationId;
165165
this.additionalProperties = true;
166166
this.connectPromise = resolvingPromise();

0 commit comments

Comments
 (0)