Repository navigation
Fix: UnsetBlackboard follows SubTree remapping - #40
Conversation
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configuration
📒 Files selected for processing (3)
Included review availability: This review used your included allowance. 5 included reviews remain after this review. Your included PR review attempts over the past 7 days set your current allowance at 6 reviews per hour. 📝 SummarySummary by CodeRabbit
Walkthrough
ChangesBlackboard unset routing
Priority: ➖ Normal Merge Risk: ⚪ Minimal · up to No actionable merge-blocking issue is established; the change is mergeable after normal checks. Caution Pre-merge checks failedPlease resolve all errors before merging. Addressing warnings is optional.
❌ Failed checks (1 error)
✅ Passed checks (3 passed)
Full details: Human Review CheckExplanation This PR changes the public behavior of
Comment |
[written by AI]
Refs PickNikRobotics/moveit_pro#23361
UnsetBlackboardsilently leaves a parent value set when called inside a SubTree through an explicit remap,_autoremap, or an@root key. Reads and writes resolve those keys to the owning blackboard, butBlackboard::unset()only searched local storage.Make
unset()follow the same resolution order asgetEntry(): root prefix, local entry, explicit remap, then automatic remapping for non-private keys. Release the local storage lock before recursing to a parent. Local entries retain precedence,_keys remain private unless explicitly remapped, and missing keys remain a no-op. Update the method and built-in node descriptions to document the behavior.This intentionally changes removal through remapped and root keys. Callers must be rebuilt because
unset()is inline. MoveIt Pro adoption requires aros-jazzy-behaviortree-cpp-picknikpackage release and its Dockerfile dependency bump; this PR contributes the underlying library fix.Validation
ctest --test-dir build --output-on-failure --timeout 60 --parallel 1: 578 tests passed. Parallel CTest runs exposed existing logger fixtures sharing/tmp/bt_logger_test; the serial run passes without fixture changes.IsBlackboardVariableSetsource and its updated test suite against the patched fork: 16 tests passed. Its three remapping regressions fail before the fix and pass afterwards.pre-commit run -apassed../run_clang_tidy.sh buildcould not run becauseclangd-21is unavailable; the pre-commit wrapper skips that check when the tool is missing.