Skip to content

Commit

Permalink
add fix for aedes-persistence problem
Browse files Browse the repository at this point in the history
  • Loading branch information
michz committed Mar 7, 2023
1 parent 1a2a6e6 commit 5ce3460
Show file tree
Hide file tree
Showing 4 changed files with 176 additions and 44 deletions.
74 changes: 38 additions & 36 deletions core/App.js
Original file line number Diff line number Diff line change
Expand Up @@ -275,44 +275,46 @@ module.exports = class App {
// Additional Wiring
// On initial connection, send current state to client
controlServer.setWebsocketClientConnectedCallback((connection) => {
for (const message of mqttBroker.getBroker().persistence._retained) {
const reOnline = /tally\/(\d+)\/online/
let matches = message["topic"].match(reOnline)
if (matches !== null && matches.length > 0) {
const payload = message.payload.toString('utf-8')
controlServer.sendToWebsocketClients({
type: 'online',
data: {
channel: matches[1],
state: (payload === "0") ? "offline" : "online",
},
})
}
if (mqttBroker.getBroker().persistence._retained !== undefined) {
for (const message of mqttBroker.getBroker().persistence._retained) {
const reOnline = /tally\/(\d+)\/online/
let matches = message["topic"].match(reOnline)
if (matches !== null && matches.length > 0) {
const payload = message.payload.toString('utf-8')
controlServer.sendToWebsocketClients({
type: 'online',
data: {
channel: matches[1],
state: (payload === "0") ? "offline" : "online",
},
})
}

const reState = /tally\/(\d+)\/state/
matches = message["topic"].match(reState)
if (matches !== null && matches.length > 0) {
const payload = message.payload.toString('utf-8')
controlServer.sendToWebsocketClients({
type: 'channel',
data: {
channel: matches[1],
state: payload,
},
})
}
const reState = /tally\/(\d+)\/state/
matches = message["topic"].match(reState)
if (matches !== null && matches.length > 0) {
const payload = message.payload.toString('utf-8')
controlServer.sendToWebsocketClients({
type: 'channel',
data: {
channel: matches[1],
state: payload,
},
})
}

const reHostname = /tally\/(\d+)\/hostname/
matches = message["topic"].match(reHostname)
if (matches !== null && matches.length > 0) {
const payload = message.payload.toString('utf-8')
controlServer.sendToWebsocketClients({
type: 'tallyHostname',
data: {
channel: matches[1],
hostname: payload,
},
})
const reHostname = /tally\/(\d+)\/hostname/
matches = message["topic"].match(reHostname)
if (matches !== null && matches.length > 0) {
const payload = message.payload.toString('utf-8')
controlServer.sendToWebsocketClients({
type: 'tallyHostname',
data: {
channel: matches[1],
hostname: payload,
},
})
}
}
}

Expand Down
1 change: 1 addition & 0 deletions core/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@
},
"dependencies": {
"aedes": "^0.49",
"aedes-persistence": "^8.1.3",
"atem-connection": "^3.2.0",
"fomantic-ui-css": "^2.9.2",
"i18next": "^22.4",
Expand Down
72 changes: 68 additions & 4 deletions core/yarn.lock
Original file line number Diff line number Diff line change
Expand Up @@ -142,13 +142,29 @@
resolved "https://registry.yarnpkg.com/@types/triple-beam/-/triple-beam-1.3.2.tgz#38ecb64f01aa0d02b7c8f4222d7c38af6316fef8"
integrity sha512-txGIh+0eDFzKGC25zORnswy+br1Ha7hj5cMVwKIU7+s0U2AxxJru/jZSMU6OC9MJWP6+pc/hc6ZjyZShpsyY2g==

aedes-packet@^2.3.1:
version "2.3.1"
resolved "https://registry.yarnpkg.com/aedes-packet/-/aedes-packet-2.3.1.tgz#87916fb25618c63a286ee7cee260062fb7471d6d"
integrity sha512-LqBd57uc2rui2RbjycW17dylglejG26mM4ewVXGNDnVp/SUHFVEgm7d1HTmYrnSkSCNoHti042qgcTwv/F+BtQ==
dependencies:
mqtt-packet "^6.3.0"

aedes-packet@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/aedes-packet/-/aedes-packet-3.0.0.tgz#402868a6768dfaf1221a743a0a521244fbc7416b"
integrity sha512-swASey0BxGs4/npZGWoiVDmnEyPvVFIRY6l2LVKL4rbiW8IhcIGDLfnb20Qo8U20itXlitAKPQ3MVTEbOGG5ZA==
dependencies:
mqtt-packet "^7.0.0"

aedes-persistence@^8.1.3:
version "8.1.3"
resolved "https://registry.yarnpkg.com/aedes-persistence/-/aedes-persistence-8.1.3.tgz#3c7981dcdbfd33d5e4593d0d386f4c306e444b1e"
integrity sha512-VMCjEV+2g1TNJb/IlDEUy6SP9crT+QUhe2xc6UjyqrFNBNgTvHmOefXY7FxWrwmR2QA02vwg3+5p/JXkyg/Dkw==
dependencies:
aedes-packet "^2.3.1"
from2 "^2.3.0"
qlobber "^5.0.3"

aedes-persistence@^9.1.2:
version "9.1.2"
resolved "https://registry.yarnpkg.com/aedes-persistence/-/aedes-persistence-9.1.2.tgz#9fb4ab373a96ed17bce62414721b1b3843dc5685"
Expand Down Expand Up @@ -383,6 +399,11 @@ concat-stream@^2.0.0:
readable-stream "^3.0.2"
typedarray "^0.0.6"

core-util-is@~1.0.0:
version "1.0.3"
resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.3.tgz#a6042d3634c2b27e9328f837b965fac83808db85"
integrity sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==

d@1, d@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/d/-/d-1.0.1.tgz#8698095372d58dbee346ffd0c7093f99f8f9eb5a"
Expand Down Expand Up @@ -529,6 +550,14 @@ fomantic-ui-css@^2.9.2:
dependencies:
jquery "^3.4.0"

from2@^2.3.0:
version "2.3.0"
resolved "https://registry.yarnpkg.com/from2/-/from2-2.3.0.tgz#8bfb5502bde4a4d36cfdeea007fcca21d7e382af"
integrity sha512-OMcX/4IC/uqEPVgGeyfN22LJk6AZrMkRZHxcHBMBvHScDGgwTm2GT2Wkgtocyd3JfZffjj2kYUDXXII0Fk9W0g==
dependencies:
inherits "^2.0.1"
readable-stream "^2.0.0"

fs.realpath@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f"
Expand Down Expand Up @@ -604,7 +633,7 @@ inflight@^1.0.4:
once "^1.3.0"
wrappy "1"

inherits@2, inherits@^2.0.3, inherits@^2.0.4:
inherits@2, inherits@^2.0.1, inherits@^2.0.3, inherits@^2.0.4, inherits@~2.0.3:
version "2.0.4"
resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c"
integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==
Expand Down Expand Up @@ -634,6 +663,11 @@ is-typedarray@^1.0.0:
resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a"
integrity sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==

isarray@~1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11"
integrity sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==

jquery-serializejson@^3.2.1:
version "3.2.1"
resolved "https://registry.yarnpkg.com/jquery-serializejson/-/jquery-serializejson-3.2.1.tgz#2d1b701695bf192f6e92cdf6b22db5a3177ea045"
Expand Down Expand Up @@ -711,7 +745,7 @@ mqemitter@^5.0.0:
fastparallel "^2.3.0"
qlobber "^7.0.0"

mqtt-packet@^6.8.0:
mqtt-packet@^6.3.0, mqtt-packet@^6.8.0:
version "6.10.0"
resolved "https://registry.yarnpkg.com/mqtt-packet/-/mqtt-packet-6.10.0.tgz#c8b507832c4152e3e511c0efa104ae4a64cd418f"
integrity sha512-ja8+mFKIHdB1Tpl6vac+sktqy3gA8t9Mduom1BA75cI+R9AHnZOiaBQwpGiWnaVJLDGRdNhQmFaAqd7tkKSMGA==
Expand Down Expand Up @@ -880,7 +914,7 @@ pkg-prebuilds@^0.2.1:
dependencies:
yargs "^17.5.1"

process-nextick-args@^2.0.1:
process-nextick-args@^2.0.1, process-nextick-args@~2.0.0:
version "2.0.1"
resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz#7820d9b16120cc55ca9ae7792680ae7dba6d7fe2"
integrity sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==
Expand All @@ -893,11 +927,29 @@ pump@^3.0.0:
end-of-stream "^1.1.0"
once "^1.3.1"

qlobber@^5.0.3:
version "5.0.3"
resolved "https://registry.yarnpkg.com/qlobber/-/qlobber-5.0.3.tgz#24728d6ba5382d502c7e09f6860b95a9c71615cd"
integrity sha512-wW4GTZPePyh0RgOsM18oDyOUlXfurVRgoNyJfS+y7VWPyd0GYhQp5T2tycZFZjonH+hngxIfklGJhTP/ghidgQ==

qlobber@^7.0.0:
version "7.0.1"
resolved "https://registry.yarnpkg.com/qlobber/-/qlobber-7.0.1.tgz#2346664844d35cb99b8d80c8dc8a74264c078c69"
integrity sha512-FsFg9lMuMEFNKmTO9nV7tlyPhx8BmskPPjH2akWycuYVTtWaVwhW5yCHLJQ6Q+3mvw5cFX2vMfW2l9z2SiYAbg==

readable-stream@^2.0.0:
version "2.3.8"
resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.8.tgz#91125e8042bba1b9887f49345f6277027ce8be9b"
integrity sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==
dependencies:
core-util-is "~1.0.0"
inherits "~2.0.3"
isarray "~1.0.0"
process-nextick-args "~2.0.0"
safe-buffer "~5.1.1"
string_decoder "~1.1.1"
util-deprecate "~1.0.1"

readable-stream@^3.0.0, readable-stream@^3.0.2, readable-stream@^3.1.1, readable-stream@^3.4.0, readable-stream@^3.6.0:
version "3.6.1"
resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.6.1.tgz#f9f9b5f536920253b3d26e7660e7da4ccff9bb62"
Expand Down Expand Up @@ -937,6 +989,11 @@ rfdc@^1.3.0:
resolved "https://registry.yarnpkg.com/rfdc/-/rfdc-1.3.0.tgz#d0b7c441ab2720d05dc4cf26e01c89631d9da08b"
integrity sha512-V2hovdzFbOi77/WajaSMXk2OLm+xNIeQdMMuB7icj7bk6zi2F8GGAxigcnDFpJHbNyNcgyJDiP+8nOrY5cZGrA==

safe-buffer@~5.1.0, safe-buffer@~5.1.1:
version "5.1.2"
resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d"
integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==

safe-buffer@~5.2.0:
version "5.2.1"
resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6"
Expand Down Expand Up @@ -1012,6 +1069,13 @@ string_decoder@^1.1.1:
dependencies:
safe-buffer "~5.2.0"

string_decoder@~1.1.1:
version "1.1.1"
resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.1.1.tgz#9cf1611ba62685d7030ae9e4ba34149c3af03fc8"
integrity sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==
dependencies:
safe-buffer "~5.1.0"

strip-ansi@^6.0.0, strip-ansi@^6.0.1:
version "6.0.1"
resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9"
Expand Down Expand Up @@ -1100,7 +1164,7 @@ utf8-buffer@^0.2.0:
resolved "https://registry.yarnpkg.com/utf8-buffer/-/utf8-buffer-0.2.0.tgz#a4530a606d9d2b0348456a393eaf836b62fed2f3"
integrity sha512-DygDeOmOPQRjxnnv8LdfjoSQgG9EgJFH1m/1QcrKkDOxzoOcLLqZ2ONzRYHmiRqJYQYnAvV+zv2Wgk5tXjr4aA==

util-deprecate@^1.0.1:
util-deprecate@^1.0.1, util-deprecate@~1.0.1:
version "1.0.2"
resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf"
integrity sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==
Expand Down
Loading

0 comments on commit 5ce3460

Please sign in to comment.