From 7b3a21a15c5d614c3b66ca762ca76c389a9595d2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Niels=20Martign=C3=A8ne?= Date: Sun, 27 Aug 2023 18:40:21 +0200 Subject: [PATCH] Fix incompatibility with ZeroTier 1.12 --- src/controllers/networkController.js | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) diff --git a/src/controllers/networkController.js b/src/controllers/networkController.js index d186ee2..50c10ee 100644 --- a/src/controllers/networkController.js +++ b/src/controllers/networkController.js @@ -17,15 +17,26 @@ async function get_network_with_members(nwid) { zt.network_detail(nwid), zt.peers(), zt.members(nwid) - .then(member_ids => - Promise.all( + .then(member_ids => { + // Fix weird data returned by ZeroTier 1.12 + if (Array.isArray(member_ids)) { + let obj = {}; + for (let id of member_ids) { + let key = Object.keys(id)[0]; + let value = Object.values(id)[0]; + obj[key] = value; + } + member_ids = obj; + } + + return Promise.all( Object.keys(member_ids) .map(id => Promise.all([ zt.member_detail(nwid, id), storage.getItem(id) ])) - ) - ).then(results => results.map(([member, name]) => { + ); + }).then(results => results.map(([member, name]) => { member.name = name || ''; return member; }))