rojo/plugin
boatbomber 6b0f7f94b6
Fix disconnected session activity (#675)
When a session is disconnected, the apiContext long-polling for messages
continues until resolved/rejected. This means that even after a session
is disconnected, a message can be received and handled.

This leads to bad behavior, as the session was already cleaned up and
the message cannot be handled correctly. The instance map was cleaned up
upon disconnect, so it will warn about unapplied changes to unknown
instances. (Like #512)

It's very easy to repro:
Connect a session, disconnect it, then save a change.


https://github.com/rojo-rbx/rojo/assets/40185666/846a7269-7043-4727-9f9c-b3ac55a18a3a

-----------

This PR fixes that neatly by tracking all active requests in a map, and
cancelling their promises when we disconnect.
2023-06-01 08:18:04 -07:00
..
fmt Add debug formatter for instances 2019-12-18 17:38:31 -08:00
http fix hyphen (#378) 2021-01-06 13:49:05 -07:00
log Break apart plugin reconciler (#332) 2020-11-11 16:30:23 -08:00
Packages Switch plugin packages back to git submodules (#678) 2023-05-26 10:26:21 -07:00
rbx_dom_lua Update dependencies 2023-04-22 15:44:49 -04:00
src Fix disconnected session activity (#675) 2023-06-01 08:18:04 -07:00
default.project.json Switch git submodules to Wally packages (#584) 2022-08-03 18:36:58 -04:00
run-tests.server.lua Migrate DevSettings to PluginSettings for much better config flow (#572) 2022-08-20 22:39:34 -04:00
test Break apart plugin reconciler (#332) 2020-11-11 16:30:23 -08:00
test-place.project.json Switch plugin packages back to git submodules (#678) 2023-05-26 10:26:21 -07:00
watch-build.sh Add visual diffs to syncing (#603) 2023-04-01 23:17:23 -04:00