mirror of
https://github.com/rojo-rbx/rojo.git
synced 2026-04-20 12:45:05 +00:00
plugin: Only move message cursor in response to retrieveMessages
This commit is contained in:
@@ -131,13 +131,15 @@ function ApiContext:read(ids)
|
||||
return Promise.reject("Server changed ID")
|
||||
end
|
||||
|
||||
self.messageCursor = body.messageCursor
|
||||
|
||||
return body
|
||||
end)
|
||||
end
|
||||
|
||||
function ApiContext:retrieveMessages()
|
||||
function ApiContext:retrieveMessages(initialCursor)
|
||||
if initialCursor ~= nil then
|
||||
self.messageCursor = initialCursor
|
||||
end
|
||||
|
||||
local url = ("%s/api/subscribe/%s"):format(self.baseUrl, self.messageCursor)
|
||||
|
||||
local function sendRequest()
|
||||
|
||||
@@ -33,7 +33,7 @@ function Session.new(config)
|
||||
end
|
||||
|
||||
self.reconciler:reconcile(response.instances, api.rootInstanceId, game)
|
||||
return self:__processMessages()
|
||||
return self:__processMessages(response.messageCursor)
|
||||
end)
|
||||
:catch(function(message)
|
||||
self.disconnected = true
|
||||
@@ -43,12 +43,12 @@ function Session.new(config)
|
||||
return not self.disconnected, setmetatable(self, Session)
|
||||
end
|
||||
|
||||
function Session:__processMessages()
|
||||
function Session:__processMessages(initialCursor)
|
||||
if self.disconnected then
|
||||
return Promise.resolve()
|
||||
end
|
||||
|
||||
return self.api:retrieveMessages()
|
||||
return self.api:retrieveMessages(initialCursor)
|
||||
:andThen(function(messages)
|
||||
local promise = Promise.resolve(nil)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user