- Updated the ServeSession struct to allow for optional ChangeProcessor and related fields, enabling lightweight oneshot sessions that do not require live filesystem monitoring.
- Modified the new and new_oneshot methods to initialize sessions accordingly, improving flexibility for commands that only need a snapshot of the tree.
- Adjusted related CLI commands to utilize the new oneshot session functionality, enhancing performance for operations like plugin installation and syncback.
These changes streamline session management and improve the efficiency of operations that do not require continuous updates.
- Introduced a new method `new_default_with_errors` in the VFS implementation to create a VFS instance with a critical error receiver for monitoring watcher health.
- Updated the `ServeSession` constructor to accept an optional critical error receiver, allowing for better error management during session initialization.
- Adjusted various calls to `ServeSession::new` across the codebase to accommodate the new parameter, ensuring consistent error handling.
- Improved logging in the API context and serve session files for better clarity during server operations.
These changes enhance the robustness of the VFS and session management, providing better tools for error detection and handling.
- Renamed the project from Rojo to Atlas, updating all relevant files, scripts, and documentation to reflect the new branding.
- Bumped version to 7.7.0-rc.2 and updated protocol version from 5 to 6.
- Modified installation scripts and CI workflows to use the new binary name and paths.
- Adjusted plugin settings and internal identifiers to prevent conflicts with the original Rojo.
- Enhanced session management and API response handling to support the new server fork identifier.
- Updated project templates and README files to guide users on using Atlas.
- Updated `bincode` to version 2.0.1, modifying serialization calls to use the new API with `serde` support.
- Added new dependencies in `Cargo.lock`, including `alloca`, `atomic-waker`, and `aws-lc-rs`, ensuring compatibility with the latest features.
- Refactored file creation and serialization logic in `build.rs` for improved clarity and performance.
- Updated various dependencies in `Cargo.toml` to their latest versions, enhancing overall project stability and functionality.
* Mostly mechanical port bits
* Almost there
* It builds again!
* Turn on all the code again
* Tests compiling but not passing
* Stub work for value resolution
* Implement resolution minus enums and derived properties
* Implement property descriptor resolution
* Update referent snapshots
* Update unions test project
Using a place file instead of a model yields better
error messages in Roblox Studio.
* Add easy shortcut to testing with local rbx-dom
* Update rbx-dom
* Add enum resolution
* Update init.meta.json to use UnresolvedValue
* Expand value resolution support, add test
* Filter SharedString values from web API
* Add 'property' builder method to InstanceSnapshot
* Change InstanceSnapshot/InstanceBuilder boundary
* Fix remove_file crash
* rustfmt
* Update to latest rbx_dom_lua
* Update dependencies, including rbx_dom_weak
* Update to latest rbx-dom
* Update dependencies
* Update rbx-dom, fixing more bugs
* Remove experimental warning on binary place builds
* Remove unused imports
* add install command
* cargo fmt
* filter spec files
* Update src/cli/plugin.rs
Co-Authored-By: Lucien Greathouse <me@lpghatguy.com>
* Update src/cli/plugin.rs
Co-Authored-By: Lucien Greathouse <me@lpghatguy.com>
* fix comments
* encode plugin with rbx_binary
* update build script
* refactor pathbuf error into io error
* fix rojo typo
* remove snafu
* Update `snapshot_from_fs_path`
* Print `rerun-if-changed` even for directories, in order to run the
build.rs script when files are added.
* Switch `filter_map` loop to a regular for loop. I like the FP-style
iterator stuff in Rust, but I think Result handling is easier in a
normal loop. Also, I don't believe the result of read_dir implements
`ExactSizedIterator`, so some of the wins of map+collect aren't there.
* Replace Result::unwrap with ? in build.rs
* Simplify error handling code in runtime
* Checkout with submodules
Co-authored-by: Lucien Greathouse <me@lpghatguy.com>