{"record":{"id":"92991f3d5a3b0d63","repo":"quasarframework/quasar","slug":"received-a-message-with-unknown-type-message-t","errorCode":null,"errorMessage":"Received a message with unknown type: \"${message.type}\".","messagePattern":"Received a message with unknown type: \"(.+?)\"\\.","errorType":"console","errorClass":null,"httpStatus":null,"severity":"warning","filePath":"app-vite/exports/bex/private/bex-bridge.js","lineNumber":900,"sourceCode":"        })\n        .catch(err => {\n          this.#sendMessage({\n            id: message.id,\n            to: message.from,\n            messageType: 'event-response',\n            messageProps: {\n              error: {\n                message: err.message,\n                stack: err.stack || 'no stack available'\n              }\n            }\n          })\n        })\n\n      return\n    }\n\n    this.warn(\n      `Received a message with unknown type: \"${message.type}\".`,\n      message\n    )\n  }\n}\n","sourceCodeStart":882,"sourceCodeEnd":906,"githubUrl":"https://github.com/quasarframework/quasar/blob/4841521b5f635a971eb9e2710e5542efd194691b/app-vite/exports/bex/private/bex-bridge.js#L882-L906","documentation":"#onMessage handles reassembled messages of type 'event-response' or 'event-send'; anything else falls through to this warning. It means a fully reassembled (or full) message carried a messageType the bridge doesn't implement — a protocol/version mismatch or a corrupted sender.","triggerScenarios":"A message reassembled from chunks (or received as 'full') whose messageType is not 'event-send'/'event-response' — e.g. bridge versions disagree on message type names, or a custom sender set messageType manually.","commonSituations":"Mixed bridge versions across contexts after a partial extension update; hand-rolled packets injected with an invented messageType; typo when constructing messages in forked bridge code.","solutions":["Reload/rebuild all extension contexts so every side runs the same bridge version","Inspect the attached message object and fix the sender's messageType to 'event-send' or 'event-response'","If using a forked/patched bridge, keep message type names in sync with upstream","Reject or filter foreign messages at the port listener before they reach the bridge"],"exampleFix":"// before: custom packet with invented type\n{ type: 'full', messageType: 'event-request', ... }\n// after\n{ type: 'full', messageType: 'event-send', ... }","handlingStrategy":"validation","validationCode":"// validate messageType before dispatching custom packets\nconst MSG_TYPES = new Set(['event-send', 'event-response'])\nif (!MSG_TYPES.has(messageType)) {\n  throw new Error(`Unsupported messageType: ${messageType}`)\n}","typeGuard":"const isBridgeMessage = m =>\n  m !== null && typeof m === 'object' &&\n  ['event-send', 'event-response'].includes(m.type) &&\n  typeof m.id !== 'undefined'","tryCatchPattern":null,"preventionTips":["Use only the public bridge API (send/on) instead of constructing packets manually","Keep bridge versions identical across all extension contexts","After upstream upgrades, reload every context so protocol names match"],"tags":["bex","browser-extension","ipc","protocol-mismatch"],"backgroundTag":"unknown-message-type","analyzedSha":"4841521b5f635a971eb9e2710e5542efd194691b","analyzedAt":"2026-08-30T01:13:14.944Z","schemaVersion":2},"datasetVersion":"2026-08-30T03:17:51.788Z"}