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]

Reply via email to