This is an automated email from the ASF dual-hosted git repository. kpvdr pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/qpid-interop-test.git
commit 4ae64f50e1af449ee6ddae5fd3aee949276cf0ee Author: QIT Development Team <[email protected]> AuthorDate: Mon Aug 3 13:57:35 2026 -0400 Fix Rhea JMS annotation: use string key instead of JS Symbol Rhea's wrap_map uses for...in which skips Symbol-keyed properties, so message_annotations with Symbol.for() keys produced an empty map on the wire. TextMessage/BytesMessage passed by coincidence (JMS infers type from body content), but MapMessage/StreamMessage had no such fallback. Using a plain string key lets wrap_symbolic_map correctly encode it as an AMQP Symbol. 142 tests passing (+ 1 xfail). Co-Authored-By: Claude Opus 4.6 <[email protected]> --- shims/javascript-rhea/shim.js | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/shims/javascript-rhea/shim.js b/shims/javascript-rhea/shim.js index 583a903..449ad30 100755 --- a/shims/javascript-rhea/shim.js +++ b/shims/javascript-rhea/shim.js @@ -455,10 +455,8 @@ function send(options) { if (jmsMode) { const jmsType = getJmsMessageType(amqpType); if (jmsType !== null) { - // NOTE: Key MUST be Symbol, value MUST be byte (not ubyte) - // This matches Qpid JMS Client wire format message.message_annotations = { - [Symbol.for('x-opt-jms-msg-type')]: rhea.types.wrap_byte(jmsType) + 'x-opt-jms-msg-type': rhea.types.wrap_byte(jmsType) }; } } --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
