- Fixed an edge case where disconnecting and then reconnecting would
retain outdated info
- Fixed an issue where new patches wouldn't immediately update the
change info text
- Removed extraneous changes count info, as it was not useful and could
be checked in the visualizer anyway
- Added warning info for when some changes fail to apply
- Updates timestamp of last sync even if patch was empty, to have a more
accurate signal on Rojo's uptime
Closes#672.
Skips the user confirmation if the patch contains only a datamodel name
change.
I decided to build generic PatchSet utility functions in case we need to
use similar logic in the future, in addition to maintaining clear
division of duties. The app code shouldn't be too dependent upon patch
internal structure when we can avoid it.
---------
Co-authored-by: Kenneth Loeffler <kenloef@gmail.com>
This PR brings two performance improvements to the `rojo sourcemap`
command:
- Use `rayon` with a small threadpool to parallelize sourcemap
generation while still keeping startup cost very low
- Remove conversions to owned strings and use lifetimes tied to the dom
instead, which mostly improves performance with the
`--include-non-scripts` flag enabled
From my personal testing on an M1 mac this decreases the sourcemap
generation time of our games by 2x or more, from ~20ms to ~8ms on one
project and ~30ms to ~15ms on another. Generation is pretty fast to
begin with but since sourcemaps are heavily used in interactive tools
(like luau-lsp) a difference of a couple frames can be great for ux.
* Create plugin action component
* Add plugin action for session start/end
* Add output for connection status change
* Move host & port refs to App level so keybind can access them
* Use passed function directly
* Improve the action text clarity
* Add actions for single action
* Add to changelog
* Explicitly return nil
Co-authored-by: Lucien Greathouse <me@lpghatguy.com>
* Change log level to info
* Refactor startSession to contain the logic
* Formatting
Co-authored-by: Lucien Greathouse <me@lpghatguy.com>
* Allow for setting the default port in project json
set as
```json
"serveAddress": "0.0.0.0"
```
* Update CHANGELOG.md
* cargo fmt
Co-authored-by: Lucien Greathouse <me@lpghatguy.com>
* Add support for the new Open Cloud API
* Cleanup Open Cloud variables
* Avoid cloning buffer for do_upload_open_cloud
* Satisfy cargo fmt
* Actually correct cargo fmt
Apparently my earlier fix did not fix everything.
* Update CHANGELOG.md
* Update CHANGELOG.md
Forgot to add the link to issue #486 in the previous commit :/
* Cleanup & improve code for open cloud api
* Commit to force GH Actions to run (?)
Co-authored-by: Lucien Greathouse <me@lpghatguy.com>
* Ignore usage of "Name" or "Parent" in $properties
* Use match instead of array
* Add changelog entry
Co-authored-by: Lucien Greathouse <me@lpghatguy.com>
* web/mod.rs - change server bind address
127.0.0.1 is a loopback interface, and only works on the same host
0.0.0.0 will allow connections from other hosts
ideally, this should be a console arg - but it's a quick fix
* implement --address option, revert default bind address to 127.0.0.1
* revert silly autoformatting
* ok, actually using rustfmt now
* More precise --address flag description
* Use SocketAddr where available, take advantage of const-ness
* Display 'localhost' if address is loopback
* Update Changelog
Co-authored-by: Lucien Greathouse <me@lpghatguy.com>