Commit b456adbcd6f for nodejs

commit b456adbcd6f67f32db84b45e36c4b44c31651551
Author: Lazizbek Ergashev <lazerg2@gmail.com>
Date:   Tue Aug 25 13:10:33 2026 +0500

    worker: add Symbol.toStringTag to MessageChannel and MessagePort

    Signed-off-by: Lazizbek Ergashev <lazerg2@gmail.com>
    PR-URL: https://github.com/nodejs/node/pull/65532
    Fixes: https://github.com/nodejs/node/issues/65527
    Reviewed-By: James M Snell <jasnell@gmail.com>

diff --git a/lib/internal/worker/io.js b/lib/internal/worker/io.js
index 011c00b0149..f9dcd70da9a 100644
--- a/lib/internal/worker/io.js
+++ b/lib/internal/worker/io.js
@@ -15,6 +15,7 @@ const {
   ReflectApply,
   Symbol,
   SymbolFor,
+  SymbolToStringTag,
 } = primordials;

 const {
@@ -208,6 +209,18 @@ ObjectDefineProperty(MessagePort.prototype, inspect.custom, {
   },
 });

+ObjectDefineProperty(MessagePort.prototype, SymbolToStringTag, {
+  __proto__: null,
+  configurable: true,
+  value: 'MessagePort',
+});
+
+ObjectDefineProperty(MessageChannel.prototype, SymbolToStringTag, {
+  __proto__: null,
+  configurable: true,
+  value: 'MessageChannel',
+});
+
 function setupPortReferencing(port, eventEmitter, eventName) {
   // Keep track of whether there are any workerMessage listeners:
   // If there are some, ref() the channel so it keeps the event loop alive.
diff --git a/test/parallel/test-eventtarget-memoryleakwarning.js b/test/parallel/test-eventtarget-memoryleakwarning.js
index 38fc5efc9bd..c8c1faa2175 100644
--- a/test/parallel/test-eventtarget-memoryleakwarning.js
+++ b/test/parallel/test-eventtarget-memoryleakwarning.js
@@ -15,12 +15,12 @@ common.expectWarning({
         'EventTarget. MaxListeners is 2. Use events.setMaxListeners() ' +
      'to increase limit'],
     ['Possible EventTarget memory leak detected. 3 foo listeners added to ' +
-        '[MessagePort [EventTarget]]. ' +
+        '[MessagePort]. ' +
         'MaxListeners is 2. ' +
         'Use events.setMaxListeners() to increase ' +
      'limit'],
     ['Possible EventTarget memory leak detected. 3 foo listeners added to ' +
-        '[MessagePort [EventTarget]]. ' +
+        '[MessagePort]. ' +
         'MaxListeners is 2. ' +
         'Use events.setMaxListeners() to increase ' +
      'limit'],
diff --git a/test/parallel/test-messagechannel-string-tag.js b/test/parallel/test-messagechannel-string-tag.js
new file mode 100644
index 00000000000..d824f3e4ffc
--- /dev/null
+++ b/test/parallel/test-messagechannel-string-tag.js
@@ -0,0 +1,17 @@
+'use strict';
+
+require('../common');
+
+const assert = require('assert');
+
+const classesToBeTested = [ MessageChannel, MessagePort ];
+
+classesToBeTested.forEach((cls) => {
+  assert.strictEqual(cls.prototype[Symbol.toStringTag], cls.name);
+  assert.deepStrictEqual(Object.getOwnPropertyDescriptor(cls.prototype, Symbol.toStringTag),
+                         { configurable: true, enumerable: false, value: cls.name, writable: false });
+});
+
+const channel = new MessageChannel();
+assert.strictEqual(Object.prototype.toString.call(channel), '[object MessageChannel]');
+assert.strictEqual(Object.prototype.toString.call(channel.port1), '[object MessagePort]');
diff --git a/test/parallel/test-worker-message-port-inspect-during-init-hook.js b/test/parallel/test-worker-message-port-inspect-during-init-hook.js
index 8f9678de1e9..d5784dceb71 100644
--- a/test/parallel/test-worker-message-port-inspect-during-init-hook.js
+++ b/test/parallel/test-worker-message-port-inspect-during-init-hook.js
@@ -12,7 +12,7 @@ async_hooks.createHook({
   init: common.mustCall((id, type, triggerId, resource) => {
     assert.strictEqual(
       util.inspect(resource),
-      'MessagePort [EventTarget] { active: true, refed: false }');
+      'MessagePort { active: true, refed: false }');
   }, 2)
 }).enable();