Conversation
Restore synchronous, history-enabled graph initialization after review of the asynchronous bootstrap experiment. Accept rmw_zenoh SYSTEM_DEFAULT QoS encodings, preserve node domain and key-expression settings for built-in services, and add regression coverage.
This was referenced Sep 1, 2026
Collaborator
|
Thanks for the report and the draft — both issues you flagged are real, and both are now fixed on
Both PRs extracted the underlying defects rather than taking this PR's implementation directly, with new tests covering the SYSTEM_DEFAULT wire-omission case and the built-in-service domain/format propagation. Closing this in favor of those — thank you for catching both. |
0x53A
added a commit
to 0x53A/hiroz
that referenced
this pull request
Sep 1, 2026
Upstream extracted both defects from the draft PR ZettaScaleLabs#331 into ZettaScaleLabs#336 and ZettaScaleLabs#337 and merged them, so every native change on this branch is now superseded. Resolved by taking upstream verbatim everywhere the two sides overlapped: - hiroz-protocol/src/qos.rs: upstream's parser is ours plus a real correction -- an omitted history depth resolves to rmw_zenoh_cpp's wire default RMW_ZENOH_DEFAULT_HISTORY_DEPTH (42), not hiroz's own unrelated QosProfile default of 10. Ours misreported the depth of every peer that relied on the SYSTEM_DEFAULT omission. - parameter/service.rs and node.rs: upstream is a strict superset, additionally propagating the node's enclave, which we had dropped. - tests/graph.rs: upstream's version, with the shared TestRouter in tests/common/mod.rs replacing our inline DomainTestRouter. - Dropped our inline tests in qos.rs and format/rmw_zenoh.rs; upstream adopted the same cases into tests/qos.rs and tests/key_expr.rs. Ours would now fail anyway, having asserted the pre-ZettaScaleLabs#337 depth of 10. - Dropped docs/patches/, an artifact of the draft PR. Two wasm-only fixes were needed on top: - ZContextBuilder's new hand-written Default impl initialises shm_config, which does not exist on wasm32; cfg it out to match the field. - build_async() now has to resolve the DomainId enum ZettaScaleLabs#336 introduced. It rejects an unparseable ROS_DOMAIN_ID exactly as build() does, rather than silently falling back to domain 0 and landing the node on the wrong ROS graph. Verified: cargo test -p hiroz-protocol (51 tests), cargo test -p hiroz --test graph --test domain_id (28 tests), and cargo check -p hiroz --target wasm32-unknown-unknown --no-default-features --features rmw-zenoh,jazzy.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR was LLM generated in a hurry, which is why I am opening it as draft. It contains fixes for two issues:
The default domain of
0was assumed in a few places, and, the key parser failed on valid expressions.I'll have some time ~late September, otherwise please treat this like an issue/bug report and extract the two relevant changes.