diff --git a/services/web/app/src/Features/ThirdPartyDataStore/TpdsUpdateSender.js b/services/web/app/src/Features/ThirdPartyDataStore/TpdsUpdateSender.js index 448e079cf4..3263dc72f9 100644 --- a/services/web/app/src/Features/ThirdPartyDataStore/TpdsUpdateSender.js +++ b/services/web/app/src/Features/ThirdPartyDataStore/TpdsUpdateSender.js @@ -253,7 +253,9 @@ async function pollDropboxForUser(userId) { }, } - return enqueue(`poll-dropbox:${userId}`, 'standardHttpRequest', job) + // Queue poll requests in the user queue along with file updates, in order + // to avoid race conditions between polling and updates. + return enqueue(userId, 'standardHttpRequest', job) } const TpdsUpdateSender = { diff --git a/services/web/test/unit/src/ThirdPartyDataStore/TpdsUpdateSenderTests.js b/services/web/test/unit/src/ThirdPartyDataStore/TpdsUpdateSenderTests.js index 37f42549e3..e9c13ccc3d 100644 --- a/services/web/test/unit/src/ThirdPartyDataStore/TpdsUpdateSenderTests.js +++ b/services/web/test/unit/src/ThirdPartyDataStore/TpdsUpdateSenderTests.js @@ -347,7 +347,7 @@ describe('TpdsUpdateSender', function () { method: method0, } = this.request.firstCall.args[0].json - group0.should.equal(`poll-dropbox:${userId}`) + group0.should.equal(userId) method0.should.equal('standardHttpRequest') job0.method.should.equal('post')