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
2022-08-08 03:59:52 -04:00
2022-06-29 18:53:34 -04:00
2022-07-29 21:45:19 -04:00
2022-05-26 02:53:20 -04:00
2022-08-20 23:44:10 -04:00
2022-04-19 17:45:55 -04:00
2022-06-12 03:41:49 -04:00

Rojo
 
Actions status Latest server version Rojo Documentation Patreon

Rojo is a tool designed to enable Roblox developers to use professional-grade software engineering tools.

With Rojo, it's possible to use industry-leading tools like Visual Studio Code and Git.

Rojo is designed for power users who want to use the best tools available for building games, libraries, and plugins.

Features

Rojo enables:

  • Working on scripts and models from the filesystem, in your favorite editor
  • Versioning your game, library, or plugin using Git or another VCS
  • Streaming rbxmx and rbxm models into your game in real time
  • Packaging and deploying your project to Roblox.com from the command line

In the future, Rojo will be able to:

  • Sync instances from Roblox Studio to the filesystem
  • Automatically convert your existing game to work with Rojo
  • Import custom instances like MoonScript code

Documentation

Documentation is hosted in the rojo.space repository.

Contributing

Check out our contribution guide for detailed instructions for helping work on Rojo!

Pull requests are welcome!

Rojo supports Rust 1.58.1 and newer. The minimum supported version of Rust is based on the latest versions of the dependencies that Rojo has.

License

Rojo is available under the terms of the Mozilla Public License, Version 2.0. See LICENSE.txt for details.

Description
No description provided
Readme 22 MiB
Languages
Rust 57.2%
Luau 42.5%
CSS 0.3%