From ac57b1b0f4b77cd91dde47bf2fa0e1e83db05702 Mon Sep 17 00:00:00 2001 From: csawatzky Date: Tue, 5 May 2026 09:17:22 -0600 Subject: [PATCH 1/6] removing dead link in bin visualizer when no plenum is attached to a bin --- src/bin/BinVisualizerV2.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/bin/BinVisualizerV2.tsx b/src/bin/BinVisualizerV2.tsx index f6f9c1d..53c3d83 100644 --- a/src/bin/BinVisualizerV2.tsx +++ b/src/bin/BinVisualizerV2.tsx @@ -1159,7 +1159,7 @@ export default function BinVisualizer(props: Props) { - View Smart Bin Devices + No Plenums found )} From 71ab8ab5cb1bf48bbd1242f0fd5b2b736745e766 Mon Sep 17 00:00:00 2001 From: Carter Date: Tue, 5 May 2026 11:40:28 -0600 Subject: [PATCH 2/6] switched to master protobuf --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 90ac71b..7f5044c 100644 --- a/package.json +++ b/package.json @@ -55,7 +55,7 @@ "mui-tel-input": "^7.0.0", "notistack": "^3.0.1", "openweathermap-ts": "^1.2.10", - "protobuf-ts": "git+https://gitlab+deploy-token-50627:hv8mB4WkyvtjBpJKU1rN@gitlab.com/brandx/protobuf-ts.git#staging", + "protobuf-ts": "git+https://gitlab+deploy-token-50627:hv8mB4WkyvtjBpJKU1rN@gitlab.com/brandx/protobuf-ts.git#master", "query-string": "^9.2.1", "react": "^18.3.1", "react-beautiful-dnd": "^13.1.1", From ced3576c967a7cf7b4e832b35067ce51c74a75d5 Mon Sep 17 00:00:00 2001 From: csawatzky Date: Wed, 20 May 2026 10:09:23 -0600 Subject: [PATCH 3/6] hotfix to try and fix the fullscreen bug some users are seeing, i cant test it because i can't replicate the bug --- src/bin/BinVisualizerV2.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/bin/BinVisualizerV2.tsx b/src/bin/BinVisualizerV2.tsx index 53c3d83..cdfe14a 100644 --- a/src/bin/BinVisualizerV2.tsx +++ b/src/bin/BinVisualizerV2.tsx @@ -1539,7 +1539,7 @@ export default function BinVisualizer(props: Props) { ) : ( - + fullScreenHandler.enter()}> )} From f342940283959903769f4da74a2166daf2acf1d0 Mon Sep 17 00:00:00 2001 From: Carter Date: Mon, 1 Jun 2026 14:42:58 -0600 Subject: [PATCH 4/6] replaced provision checks with admin when doing admin actions that aren't provision --- package.json | 2 +- src/device/DeviceActions.tsx | 4 ++-- src/teams/ObjectTeams.tsx | 4 ++-- src/user/ObjectUsers.tsx | 6 +++--- 4 files changed, 8 insertions(+), 8 deletions(-) diff --git a/package.json b/package.json index 50f1ab8..cd2f476 100644 --- a/package.json +++ b/package.json @@ -16,7 +16,7 @@ "build:development": "VITE_CRISP_WEBSITE_ID={CRISP_WEBSITE_ID} VITE_AUTH0_CLIENT_ID=dzJTpqIeMA4Rwk4xujtwPbAO3TY32bM1 VITE_AUTH0_AUDIENCE=bxt-dev.api.adaptiveagriculture.ca VITE_APP_API_URL=https://bxt-dev.api.adaptiveagriculture.ca/v1 NODE_OPTIONS=--max_old_space_size=4096 VITE_APP_GOOGLE_API_KEY=${GOOGLE_API_KEY} VITE_APP_STRIPE_PUBLIC_KEY=${STRIPE_PUBLIC_KEY_DEVELOPMENT} VITE_MAPBOX_ACCESS_TOKEN=${MAPBOX_ACCESS_TOKEN} VITE_CNHI_CLIENT_ID=${CNHI_CLIENT_ID} VITE_CNHI_AUTHORIZE_URL=${CNHI_AUTHORIZE_URL} VITE_CNHI_REDIRECT_URI=${CNHI_REDIRECT_URI} VITE_CNHI_SCOPES=${CNHI_SCOPES} VITE_CNHI_CONNECTION=${CNHI_CONNECTION} VITE_CNHI_AUDIENCE=${CNHI_AUDIENCE} VITE_APP_IMAGE4IO_USERNAME=${IMAGE4IO_USERNAME} VITE_APP_IMAGE4IO_PASSWORD=${IMAGE4IO_PASSWORD} VITE_JD_CLIENT_ID=${JD_CLIENT_ID} VITE_JD_AUTHORIZE_URL=${JD_AUTHORIZE_URL} VITE_JD_REDIRECT_URI=${JD_REDIRECT_URI} VITE_JD_SCOPES=${JD_SCOPES} VITE_JD_STATE=${JD_STATE} VITE_OPEN_WEATHERMAP=${OPEN_WEATHERMAP} vite build", "build:production": "VITE_CRISP_WEBSITE_ID={CRISP_WEBSITE_ID} VITE_AUTH0_CLIENT_ID=5pUCkl2SfogkWmM244UDcLEUOp8EFdHd VITE_AUTH0_CLIENT_DOMAIN=brandxtech.auth0.com VITE_AUTH0_AUDIENCE=api.brandxtech.ca VITE_APP_API_URL=https://api.brandxtech.ca/v1 NODE_OPTIONS=--max_old_space_size=4096 VITE_APP_GOOGLE_API_KEY=${GOOGLE_API_KEY} VITE_APP_STRIPE_PUBLIC_KEY=${STRIPE_PUBLIC_KEY_PRODUCTION} VITE_MAPBOX_ACCESS_TOKEN=${MAPBOX_ACCESS_TOKEN} VITE_CNHI_CLIENT_ID=${CNHI_CLIENT_ID} VITE_CNHI_AUTHORIZE_URL=${CNHI_AUTHORIZE_URL} VITE_CNHI_REDIRECT_URI=${CNHI_REDIRECT_URI} VITE_CNHI_SCOPES=${CNHI_SCOPES} VITE_CNHI_CONNECTION=${CNHI_CONNECTION} VITE_CNHI_AUDIENCE=${CNHI_AUDIENCE} VITE_APP_IMAGE4IO_USERNAME=${IMAGE4IO_USERNAME} VITE_APP_IMAGE4IO_PASSWORD=${IMAGE4IO_PASSWORD} VITE_JD_CLIENT_ID=${JD_CLIENT_ID} VITE_JD_AUTHORIZE_URL=${JD_AUTHORIZE_URL} VITE_JD_REDIRECT_URI=${JD_REDIRECT_URI} VITE_JD_SCOPES=${JD_SCOPES} VITE_JD_STATE=${JD_STATE} VITE_OPEN_WEATHERMAP=${OPEN_WEATHERMAP} vite build", "build:streamline": "VITE_CRISP_WEBSITE_ID={CRISP_WEBSITE_ID} VITE_AUTH0_CLIENT_ID=HwUV0hHNdVvU96zuMBTAU8i7nFdwwgIX VITE_AUTH0_CLIENT_DOMAIN=brandxtech.auth0.com VITE_AUTH0_AUDIENCE=streamline.api.adaptiveagriculture.ca VITE_APP_API_URL=https://streamline.api.adaptiveagriculture.ca/v1 NODE_OPTIONS=--max_old_space_size=4096 VITE_APP_GOOGLE_API_KEY=${GOOGLE_API_KEY} VITE_APP_STRIPE_PUBLIC_KEY=${STRIPE_PUBLIC_KEY_PRODUCTION} VITE_MAPBOX_ACCESS_TOKEN=${MAPBOX_ACCESS_TOKEN} VITE_CNHI_CLIENT_ID=${CNHI_CLIENT_ID} VITE_CNHI_AUTHORIZE_URL=${CNHI_AUTHORIZE_URL} VITE_CNHI_REDIRECT_URI=${CNHI_REDIRECT_URI} VITE_CNHI_SCOPES=${CNHI_SCOPES} VITE_CNHI_CONNECTION=${CNHI_CONNECTION} VITE_CNHI_AUDIENCE=${CNHI_AUDIENCE} VITE_APP_IMAGE4IO_USERNAME=${IMAGE4IO_USERNAME} VITE_APP_IMAGE4IO_PASSWORD=${IMAGE4IO_PASSWORD} VITE_JD_CLIENT_ID=${JD_CLIENT_ID} VITE_JD_AUTHORIZE_URL=${JD_AUTHORIZE_URL} VITE_JD_REDIRECT_URI=${JD_REDIRECT_URI} VITE_JD_SCOPES=${JD_SCOPES} VITE_JD_STATE=${JD_STATE} VITE_OPEN_WEATHERMAP=${OPEN_WEATHERMAP} vite build", - "build:local": "VITE_AUTH0_CLIENT_ID=local VITE_AUTH0_AUDIENCE=local VITE_AUTH0_CLIENT_DOMAIN=local VITE_APP_API_URL=http://172.16.1.20:50052/v1 VITE_APP_WS_URL=ws://172.16.1.20:50052/v1/live NODE_OPTIONS=--max_old_space_size=4096 vite build --mode localnet", + "build:local": "VITE_CRISP_WEBSITE_ID= VITE_AUTH0_CLIENT_ID=local VITE_AUTH0_AUDIENCE=local VITE_AUTH0_CLIENT_DOMAIN=local VITE_APP_API_URL=http://172.16.1.20:50052/v1 VITE_APP_WS_URL=ws://172.16.1.20:50052/v1/live NODE_OPTIONS=--max_old_space_size=4096 vite build --mode localnet", "build:offline": "npx env-cmd offline,whitelabel npm run build", "test": "vitest" }, diff --git a/src/device/DeviceActions.tsx b/src/device/DeviceActions.tsx index 4bf448e..5a73d8b 100644 --- a/src/device/DeviceActions.tsx +++ b/src/device/DeviceActions.tsx @@ -512,7 +512,7 @@ export default function DeviceActions(props: Props) { }; const showSupport = () => { - return user.allowedTo("provision") && !location.pathname.includes("support") + return user.hasAdmin() && !location.pathname.includes("support") } const buttons = () => { @@ -523,7 +523,7 @@ export default function DeviceActions(props: Props) { } - {canWrite && user.allowedTo("provision") && } + {canWrite && user.hasAdmin() && } {/* {!isShareableLink(match.params.deviceID) && ( */} - ) : (canManageUsers || canProvision) && !isRemoved && !cardMode ? ( + ) : (canManageUsers || isAdmin) && !isRemoved && !cardMode ? ( ) : ( - (canManageUsers || canProvision) && ( + (canManageUsers || isAdmin) && ( Date: Wed, 3 Jun 2026 14:18:51 -0600 Subject: [PATCH 5/6] just an error catch --- src/user/UserSettings.tsx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/user/UserSettings.tsx b/src/user/UserSettings.tsx index d451cd5..64588cd 100644 --- a/src/user/UserSettings.tsx +++ b/src/user/UserSettings.tsx @@ -75,7 +75,7 @@ export default function UserSettings(props: Props) { const [sharing, setSharing] = useState(false) const userAPI = useUserAPI(); const classes = useStyles() - const { success } = useSnackbar(); + const { success, error } = useSnackbar(); const [isLoading, setIsLoading] = useState(false); const [user, setUser] = useState(globalState.user); @@ -113,7 +113,7 @@ export default function UserSettings(props: Props) { setDistanceUnit(user.settings.distanceUnit); setGrainUnit(user.settings.grainUnit); }) - .catch((error: any) => { + .catch(() => { error("Error occurred while updating your profile"); }) .finally(() => { From 7f1b907fa0b559478f36e53422338068e6b56674 Mon Sep 17 00:00:00 2001 From: Carter Date: Wed, 3 Jun 2026 14:57:48 -0600 Subject: [PATCH 6/6] can sign up with username instead of email on local network server --- src/app/LocalAuthPlaceholder.tsx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/app/LocalAuthPlaceholder.tsx b/src/app/LocalAuthPlaceholder.tsx index 8c36633..91f11b3 100644 --- a/src/app/LocalAuthPlaceholder.tsx +++ b/src/app/LocalAuthPlaceholder.tsx @@ -102,8 +102,8 @@ export default function LocalAuthPlaceholder(props: Props) { /> )} setEmail(e.target.value)} required