-
Notifications
You must be signed in to change notification settings - Fork 2
Comparing changes
Open a pull request
base repository: PlotJuggler/plotjuggler_bridge
base: 0.0.0-dev-dev
head repository: PlotJuggler/plotjuggler_bridge
compare: 0.2.0
- 8 commits
- 27 files changed
- 2 contributors
Commits on Feb 21, 2026
-
style: Apply clang-format to all source files
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> Entire-Checkpoint: 00acef786069
Configuration menu - View commit details
-
Copy full SHA for c229c07 - Browse repository at this point
Copy the full SHA c229c07View commit details -
fix: Prevent null deref race in WebSocket callback during shutdown
Hold state_mutex_ through server_->getClients() in the Open handler to prevent shutdown() from moving server_ out between the initialized_ check and the server_ dereference. Also moves the initialized_ guard from a single top-of-callback check into per-handler checks, since only the Open handler needs the lock held through the server_ access. Adds lock ordering comment: state_mutex_ > clients_mutex_ > queue_mutex_ Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> Entire-Checkpoint: 00acef786069
Configuration menu - View commit details
-
Copy full SHA for 895e86f - Browse repository at this point
Copy the full SHA 895e86fView commit details -
fix: Protect MessageStripper::strip() and reject empty schemas
Extract make_buffer_callback() to wrap strip() in try-catch. On failure, the original unstripped message is forwarded instead of propagating the exception into the ROS2 executor. Also eliminates the duplicated callback lambda between handle_subscribe and handle_resume. Additionally, treat empty schema as a subscription failure. Previously get_message_definition() returning "" was silently accepted as success. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> Entire-Checkpoint: 00acef786069
Configuration menu - View commit details
-
Copy full SHA for e3b6524 - Browse repository at this point
Copy the full SHA e3b6524View commit details -
fix: Propagate nested type resolution failures in schema extraction
Previously, if a nested message type failed to resolve (missing package, missing .msg file), the failure was silently ignored and the schema was returned with the nested type omitted. Now the failure propagates, causing get_message_definition() to return empty string, which the empty-schema check treats as a failure. Also fixes a pre-existing bug where builtin types with array syntax (e.g., float64[9]) were not recognized as builtins because brackets were stripped after the builtin check instead of before. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> Entire-Checkpoint: 00acef786069
Configuration menu - View commit details
-
Copy full SHA for 77fc1ae - Browse repository at this point
Copy the full SHA 77fc1aeView commit details -
fix: Log exception details in subscribe() and refresh() catch blocks
Previously both methods caught exceptions and returned false with no logging, making failures impossible to diagnose. Now logs the exception message with full context. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> Entire-Checkpoint: 00acef786069
Configuration menu - View commit details
-
Copy full SHA for d0ab1aa - Browse repository at this point
Copy the full SHA d0ab1aaView commit details -
docs: Document lock ordering hierarchy in BridgeServer
Prevents future changes from introducing deadlocks by documenting the implicit ordering: cleanup_mutex_ > last_sent_mutex_ > stats_mutex_. WebSocketMiddleware ordering was documented in an earlier commit. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> Entire-Checkpoint: 00acef786069
Configuration menu - View commit details
-
Copy full SHA for 072f7ed - Browse repository at this point
Copy the full SHA 072f7edView commit details -
test: Add regression tests for P0/P1 bug fixes
- BuiltinArrayTypeNotMistakenForNestedType: verifies float64[9] is recognized as a builtin (not a nested message type) - ImuSchemaContainsExpectedFields: verifies all IMU fields including fixed-size array covariance fields are present - NonExistentNestedTypeReturnsEmpty: verifies fabricated types fail - SubscribeFailureResponseContainsTopicAndReason: verifies each failure entry in the subscribe response has topic and reason fields Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> Entire-Checkpoint: 00acef786069
Configuration menu - View commit details
-
Copy full SHA for 57c86e6 - Browse repository at this point
Copy the full SHA 57c86e6View commit details -
docs: Add P0/P1 bug fixes implementation plan
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> Entire-Checkpoint: ff30dde1eb4e
Configuration menu - View commit details
-
Copy full SHA for 1a7705e - Browse repository at this point
Copy the full SHA 1a7705eView commit details
This comparison is taking too long to generate.
Unfortunately it looks like we can’t render this comparison for you right now. It might be too big, or there might be something weird with your repository.
You can try running this command locally to see the comparison on your machine:
git diff 0.0.0-dev-dev...0.2.0