Skip to content

fix: align dynamic schemas and actions with ROS wire behavior - #359

Closed
tylerjw wants to merge 20 commits into
ZettaScaleLabs:mainfrom
tylerjw:tyler/fix/migration-interop
Closed

tylerjw wants to merge 20 commits into
ZettaScaleLabs:mainfrom
tylerjw:tyler/fix/migration-interop

Conversation

@tylerjw

@tylerjw tylerjw commented Sep 25, 2026 •

Copy link
Copy Markdown

This fixes ROS wire compatibility gaps in dynamic schemas/CDR and action/service handling. Dynamic messages preserve native scalar identities, string bounds, wide strings, big-endian input, and fieldless-message bytes; public loaders accept ROS IDL and expose complete service/action schema sets. Passive inspectors can parse topic identities and reuse the context session through public APIs. Actions preserve result status, use the node clock, isolate cancel-one requests, and keep protocol requests responsive without taking cancellation ownership from manual handlers; service reply errors remain distinguishable from timeouts and missing replies.

This draft includes the CancelGoal hash fix from #354 and uses the parser fixes proposed in tier4/idl_parser#3. The commits separate the protocol repairs, loader additions, regression tests, and formatting cleanup.

Validation: 655 default tests passed (3 skipped), followed by focused topic-parser and shared-session regressions, 38 hu tests passed, strict Clippy passed for default targets and hu, and ROS Jazzy/Lyrical serialization, hashes, services, parameters, actions, and router-restart checks passed. The contributor script's SHM, distro-feature, documentation-link, example-build, and example-coverage checks passed; formatting was repaired and rechecked. The WASM plugin build remains unverified because wasm32-wasip2 is not installed here, and optional mdbook tests were skipped because mdbook is unavailable.

richardw347 and others added 18 commits September 25, 2026 01:01
…ch cancel

Treating CancelGoal as an action type (and omitting goals_canceling) produced a
RIHS that diverges from ROS, so cancel queries never reached the server.

(cherry picked from commit 3f1645e)
Signed-off-by: Tyler Weaver <Tyler.Weaver@kuka.ai>
Signed-off-by: Tyler Weaver <Tyler.Weaver@kuka.ai>
Signed-off-by: Tyler Weaver <Tyler.Weaver@kuka.ai>
Signed-off-by: Tyler Weaver <Tyler.Weaver@kuka.ai>
Signed-off-by: Tyler Weaver <Tyler.Weaver@kuka.ai>
Signed-off-by: Tyler Weaver <Tyler.Weaver@kuka.ai>
Signed-off-by: Tyler Weaver <Tyler.Weaver@kuka.ai>
Signed-off-by: Tyler Weaver <Tyler.Weaver@kuka.ai>
Signed-off-by: Tyler Weaver <Tyler.Weaver@kuka.ai>
Signed-off-by: Tyler Weaver <Tyler.Weaver@kuka.ai>
Signed-off-by: Tyler Weaver <Tyler.Weaver@kuka.ai>
Signed-off-by: Tyler Weaver <Tyler.Weaver@kuka.ai>
Signed-off-by: Tyler Weaver <Tyler.Weaver@kuka.ai>
Signed-off-by: Tyler Weaver <Tyler.Weaver@kuka.ai>
Signed-off-by: Tyler Weaver <Tyler.Weaver@kuka.ai>
Signed-off-by: Tyler Weaver <Tyler.Weaver@kuka.ai>
Signed-off-by: Tyler Weaver <Tyler.Weaver@kuka.ai>
Signed-off-by: Tyler Weaver <Tyler.Weaver@kuka.ai>
@CLAassistant

CLAassistant commented Sep 25, 2026 •

Copy link
Copy Markdown

CLA assistant check
All committers have signed the CLA.

Signed-off-by: Tyler Weaver <Tyler.Weaver@kuka.ai>
Signed-off-by: Tyler Weaver <Tyler.Weaver@kuka.ai>
@tylerjw tylerjw closed this Sep 25, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants