Compare commits

...

6 Commits

Author SHA1 Message Date
Steve-Mcl
1cbd910e5d correct declaration of env object/dic/lookup 2023-06-09 11:30:21 +01:00
Steve-Mcl
b102ef512e ensure object before attempting to call function 2023-06-09 11:29:54 +01:00
Nick O'Leary
5d698d66d0 Merge pull request #4156 from node-red/4133-mqtt-v5-disconnects-when-subscribing-to-aws-core-broker
Dont use `subscriptionIdentifier` if broker doesnt support it
2023-05-22 16:42:25 +01:00
Nick O'Leary
a790136164 Merge branch 'master' into 4133-mqtt-v5-disconnects-when-subscribing-to-aws-core-broker 2023-05-22 15:16:58 +01:00
Nick O'Leary
8c191263c0 Merge branch 'master' into 4133-mqtt-v5-disconnects-when-subscribing-to-aws-core-broker 2023-05-22 11:28:24 +01:00
Stephen McLaughlin
02c7d014cb dont use subscriptionIdentifier no broker support 2023-04-29 21:00:26 +01:00
3 changed files with 9 additions and 3 deletions

View File

@@ -697,7 +697,8 @@ module.exports = function(RED) {
node.options.rejectUnauthorized = (node.verifyservercert == "true" || node.verifyservercert === true);
}
}
node.v5 = () => node.options && node.options.protocolVersion == 5
node.subscriptionIdentifiersAvailable = () => node.v5() && node.serverProperties && node.serverProperties.subscriptionIdentifiersAvailable
n.autoConnect = n.autoConnect === "false" || n.autoConnect === false ? false : true;
node.setOptions(n, true);
@@ -920,7 +921,12 @@ module.exports = function(RED) {
};
node.subscriptions[topic][ref] = sub;
if (node.connected) {
const subIdsAvailable = node.subscriptionIdentifiersAvailable()
node._clientOn('message',sub.handler);
// if the broker doesn't support subscription identifiers (e.g. AWS core), then don't send them
if (options.properties && options.properties.subscriptionIdentifier && subIdsAvailable !== true) {
delete options.properties.subscriptionIdentifier
}
node.client.subscribe(topic, options);
}
};

View File

@@ -808,7 +808,7 @@ function handlePreRoute(flow, sendEvent, reportError) {
return;
} else if (err !== false) {
sendEvent.destination.node = flow.getNode(sendEvent.destination.id);
if (sendEvent.destination.node) {
if (sendEvent.destination.node && typeof sendEvent.destination.node === 'object') {
if (sendEvent.cloneMessage) {
sendEvent.msg = redUtil.cloneMessage(sendEvent.msg);
}

View File

@@ -119,7 +119,7 @@ class Subflow extends Flow {
this.templateCredentials = credentials.get(subflowDef.id) || {};
this.instanceCredentials = credentials.get(id) || {};
var env = [];
var env = {};
if (this.subflowDef.env) {
this.subflowDef.env.forEach(e => {
env[e.name] = e;