From 3c418343d00b1c254d911bc258c373975443d7ee Mon Sep 17 00:00:00 2001 From: csawatzky Date: Tue, 14 Oct 2025 15:00:31 -0600 Subject: [PATCH 1/5] hot fix for task and heaters page erroring when nothing was loaded/undefined --- src/pages/Heaters.tsx | 2 +- src/tasks/TaskViewer.tsx | 25 +++++++++++++++---------- 2 files changed, 16 insertions(+), 11 deletions(-) diff --git a/src/pages/Heaters.tsx b/src/pages/Heaters.tsx index df716a0..d2d19ba 100644 --- a/src/pages/Heaters.tsx +++ b/src/pages/Heaters.tsx @@ -40,7 +40,7 @@ export default function Heaters() { .listObjectHeatersPageData(pageSize, tablePage * pageSize, undefined, undefined, searchText, as) .then(resp => { setTotal(resp.data.total) - setHeaters(resp.data.heaterData); + setHeaters(resp.data.heaterData ?? []); }); }, [objectHeaterAPI, as, pageSize, tablePage, searchText]); diff --git a/src/tasks/TaskViewer.tsx b/src/tasks/TaskViewer.tsx index 68ebf43..d8c03db 100644 --- a/src/tasks/TaskViewer.tsx +++ b/src/tasks/TaskViewer.tsx @@ -138,6 +138,7 @@ export default function TaskViewer(props: ViewProps) { openDialog(); }; + const loadMultitask = useCallback(() => { if (!loadKeys) return; if (loadKeys.length > 0) { @@ -146,11 +147,13 @@ export default function TaskViewer(props: ViewProps) { taskAPI .getMultiTasks(loadKeys, as) .then(resp => { - resp.data.tasks.forEach(task => { - if (task.settings) { - temp.set(task.key, Task.any(task)); - } - }); + if(resp.data.tasks){ + resp.data.tasks.forEach(task => { + if (task.settings) { + temp.set(task.key, Task.any(task)); + } + }); + } setTasks(temp); setLoaded(true); }) @@ -167,11 +170,13 @@ export default function TaskViewer(props: ViewProps) { taskAPI .listTasks(50, 0, "asc", "start", undefined, undefined, as, prevMonth, nextMonth) .then(resp => { - resp.data.tasks.forEach(task => { - if (task.settings) { - temp.set(task.key, Task.any(task)); - } - }); + if(resp.data.tasks){ + resp.data.tasks.forEach(task => { + if (task.settings) { + temp.set(task.key, Task.any(task)); + } + }); + } setTasks(temp); setLoaded(true); }) From 2a66ebfca9a7df75652cbe5811a3b6ebf40f87aa Mon Sep 17 00:00:00 2001 From: csawatzky Date: Wed, 15 Oct 2025 14:34:05 -0600 Subject: [PATCH 2/5] hotfix to remove an extra slash in an api call that was causing a re-direct which worked fine on desktop but iOS devices blocked it --- src/providers/pond/interactionsAPI.tsx | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/providers/pond/interactionsAPI.tsx b/src/providers/pond/interactionsAPI.tsx index bf9da13..26afb1e 100644 --- a/src/providers/pond/interactionsAPI.tsx +++ b/src/providers/pond/interactionsAPI.tsx @@ -90,8 +90,7 @@ export default function InteractionProvider(props: PropsWithChildren) { ) => { const view = otherTeam ? otherTeam : as let url = pondURL( - "/interactions/forComponents/" + - "?componentIds=" + + "/interactions/forComponents?componentIds=" + fullComponentLocations.toString() + (view ? "&as=" + view : "") ) From 7b78d7ba91618893cfdac0f9bfa0fce58198ff20 Mon Sep 17 00:00:00 2001 From: csawatzky Date: Thu, 16 Oct 2025 16:22:16 -0600 Subject: [PATCH 3/5] hotfix to change the firmware version of the I2C scan to the correct version number --- src/models/Device.ts | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/models/Device.ts b/src/models/Device.ts index 46ce943..b91cdd1 100644 --- a/src/models/Device.ts +++ b/src/models/Device.ts @@ -42,11 +42,11 @@ const featureVersions: Map = new Map([ v2Cell: "N/A", v2WifiS3: "N/A", v2CellS3: "N/A", - v2CellBlack: "2.1.6", + v2CellBlack: "2.1.7", v2CellGreen: "N/A", - v2WifiBlue: "2.1.6", - v2CellBlue: "2.1.6", - v2EthBlue: "2.1.6" + v2WifiBlue: "2.1.7", + v2CellBlue: "2.1.7", + v2EthBlue: "2.1.7" } ] ]); From 9cab2b88c70f7f86f887ed885084efa57bd4efd4 Mon Sep 17 00:00:00 2001 From: Carter Date: Tue, 21 Oct 2025 12:19:39 -0600 Subject: [PATCH 4/5] added access-object to allowable actions --- src/pages/Users.tsx | 3 ++- src/user/UserMenu.tsx | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/src/pages/Users.tsx b/src/pages/Users.tsx index c7e155c..b519dd4 100644 --- a/src/pages/Users.tsx +++ b/src/pages/Users.tsx @@ -108,7 +108,8 @@ export default function Users() { "remove-devices", "copy-token", "recluse", - "pause-data" + "pause-data", + "access-object" ].sort(); const features = [ "admin", diff --git a/src/user/UserMenu.tsx b/src/user/UserMenu.tsx index c7b8ab3..f557533 100644 --- a/src/user/UserMenu.tsx +++ b/src/user/UserMenu.tsx @@ -266,7 +266,7 @@ export default function UserMenu() { )} - {hasAdmin && ( + {(hasAdmin || user.allowedTo("access-object")) && ( openAccessObject()} aria-label="Access Object" dense> From ecd7f08510e2ae8b7cbd7b7ae202449809535fa3 Mon Sep 17 00:00:00 2001 From: Carter Date: Tue, 21 Oct 2025 12:30:17 -0600 Subject: [PATCH 5/5] got rid of extra divider when access object isn't there --- src/user/UserMenu.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/user/UserMenu.tsx b/src/user/UserMenu.tsx index f557533..c22b622 100644 --- a/src/user/UserMenu.tsx +++ b/src/user/UserMenu.tsx @@ -276,7 +276,7 @@ export default function UserMenu() { )} - + {(hasAdmin || user.allowedTo("access-object")) && }