From 27f70ec2d9025e20725c61e69cb3f449a38a787b Mon Sep 17 00:00:00 2001
From: Aditya <60684641+0x0elliot@users.noreply.github.com>
Date: Sat, 1 Nov 2025 02:06:05 +0530
Subject: [PATCH 01/13] fix: more debug info
---
backend/go-app/go.mod | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/backend/go-app/go.mod b/backend/go-app/go.mod
index 664123ab..a5654a1e 100644
--- a/backend/go-app/go.mod
+++ b/backend/go-app/go.mod
@@ -25,7 +25,7 @@ require (
github.com/gorilla/mux v1.8.1
github.com/h2non/filetype v1.1.3
github.com/satori/go.uuid v1.2.0
- github.com/shuffle/shuffle-shared v0.9.40
+ github.com/shuffle/shuffle-shared v0.9.41
github.com/shuffle/singul v0.0.19
golang.org/x/crypto v0.40.0
google.golang.org/api v0.236.0
From d87ca7b2e33e2697adfa233704d394027d1ee15c Mon Sep 17 00:00:00 2001
From: Aditya <60684641+0x0elliot@users.noreply.github.com>
Date: Sat, 1 Nov 2025 02:28:27 +0530
Subject: [PATCH 02/13] fix: more logs
---
backend/go-app/go.mod | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/backend/go-app/go.mod b/backend/go-app/go.mod
index a5654a1e..ab7c2df2 100644
--- a/backend/go-app/go.mod
+++ b/backend/go-app/go.mod
@@ -25,7 +25,7 @@ require (
github.com/gorilla/mux v1.8.1
github.com/h2non/filetype v1.1.3
github.com/satori/go.uuid v1.2.0
- github.com/shuffle/shuffle-shared v0.9.41
+ github.com/shuffle/shuffle-shared v0.9.43
github.com/shuffle/singul v0.0.19
golang.org/x/crypto v0.40.0
google.golang.org/api v0.236.0
From 305b6f61d8214578ba4696cc1ab2273c8c4e6b0e Mon Sep 17 00:00:00 2001
From: Aditya <60684641+0x0elliot@users.noreply.github.com>
Date: Sat, 1 Nov 2025 03:56:49 +0530
Subject: [PATCH 03/13] fix: more logs
---
backend/go-app/go.mod | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/backend/go-app/go.mod b/backend/go-app/go.mod
index ab7c2df2..8d0346b4 100644
--- a/backend/go-app/go.mod
+++ b/backend/go-app/go.mod
@@ -25,7 +25,7 @@ require (
github.com/gorilla/mux v1.8.1
github.com/h2non/filetype v1.1.3
github.com/satori/go.uuid v1.2.0
- github.com/shuffle/shuffle-shared v0.9.43
+ github.com/shuffle/shuffle-shared v0.9.44
github.com/shuffle/singul v0.0.19
golang.org/x/crypto v0.40.0
google.golang.org/api v0.236.0
From 3b9cc6d32462e0afba7c1992731aca3e2afe8448 Mon Sep 17 00:00:00 2001
From: Aditya <60684641+0x0elliot@users.noreply.github.com>
Date: Sat, 1 Nov 2025 05:01:42 +0530
Subject: [PATCH 04/13] fix: hotfix for prefixes
---
backend/go-app/go.mod | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/backend/go-app/go.mod b/backend/go-app/go.mod
index 8d0346b4..f2708784 100644
--- a/backend/go-app/go.mod
+++ b/backend/go-app/go.mod
@@ -4,7 +4,7 @@ go 1.24.0
toolchain go1.24.3
-//replace github.com/shuffle/shuffle-shared => ../../../shuffle-shared
+replace github.com/shuffle/shuffle-shared => ../../../shuffle-shared
//replace github.com/frikky/schemaless => ../../../schemaless
//replace github.com/frikky/kin-openapi => ../../../../git/kin-openapi
@@ -25,7 +25,7 @@ require (
github.com/gorilla/mux v1.8.1
github.com/h2non/filetype v1.1.3
github.com/satori/go.uuid v1.2.0
- github.com/shuffle/shuffle-shared v0.9.44
+ github.com/shuffle/shuffle-shared v0.9.45
github.com/shuffle/singul v0.0.19
golang.org/x/crypto v0.40.0
google.golang.org/api v0.236.0
From 1903f6bb03e87af92f60131f56ec0530b27a8a84 Mon Sep 17 00:00:00 2001
From: Aditya <60684641+0x0elliot@users.noreply.github.com>
Date: Sat, 1 Nov 2025 05:08:22 +0530
Subject: [PATCH 05/13] fix: removing local lib reference
---
backend/go-app/go.mod | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/backend/go-app/go.mod b/backend/go-app/go.mod
index f2708784..fef7eeef 100644
--- a/backend/go-app/go.mod
+++ b/backend/go-app/go.mod
@@ -4,7 +4,8 @@ go 1.24.0
toolchain go1.24.3
-replace github.com/shuffle/shuffle-shared => ../../../shuffle-shared
+//replace github.com/shuffle/shuffle-shared => ../../../shuffle-shared
+
//replace github.com/frikky/schemaless => ../../../schemaless
//replace github.com/frikky/kin-openapi => ../../../../git/kin-openapi
From 6ee810659c179a4234ad172e2f5d7064fc933a73 Mon Sep 17 00:00:00 2001
From: Aditya <60684641+0x0elliot@users.noreply.github.com>
Date: Sat, 1 Nov 2025 05:24:55 +0530
Subject: [PATCH 06/13] fix: lowercase the index name
---
backend/go-app/go.mod | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/backend/go-app/go.mod b/backend/go-app/go.mod
index fef7eeef..2959b662 100644
--- a/backend/go-app/go.mod
+++ b/backend/go-app/go.mod
@@ -26,7 +26,7 @@ require (
github.com/gorilla/mux v1.8.1
github.com/h2non/filetype v1.1.3
github.com/satori/go.uuid v1.2.0
- github.com/shuffle/shuffle-shared v0.9.45
+ github.com/shuffle/shuffle-shared v0.9.46
github.com/shuffle/singul v0.0.19
golang.org/x/crypto v0.40.0
google.golang.org/api v0.236.0
From 222899f1895e6261b37e3f03a90e75762cb4780a Mon Sep 17 00:00:00 2001
From: Aditya <60684641+0x0elliot@users.noreply.github.com>
Date: Tue, 4 Nov 2025 01:14:40 +0530
Subject: [PATCH 07/13] fix: delete API when data has no category
---
frontend/src/components/CacheView.jsx | 311 +++++++++++++-------------
1 file changed, 157 insertions(+), 154 deletions(-)
diff --git a/frontend/src/components/CacheView.jsx b/frontend/src/components/CacheView.jsx
index 3c19da36..564af782 100644
--- a/frontend/src/components/CacheView.jsx
+++ b/frontend/src/components/CacheView.jsx
@@ -38,8 +38,8 @@ import {
Avatar,
} from "@mui/material";
-import {
- DataGrid,
+import {
+ DataGrid,
GridColDef,
} from '@mui/x-data-grid';
@@ -70,15 +70,15 @@ import {
VisibilityOff as VisibilityOffIcon,
Clear as ClearIcon,
Add as AddIcon,
- Rocket as RocketIcon,
- Webhook as WebhookIcon,
- Air as AirIcon,
- RocketLaunch as RocketLaunchIcon,
+ Rocket as RocketIcon,
+ Webhook as WebhookIcon,
+ Air as AirIcon,
+ RocketLaunch as RocketLaunchIcon,
Send as SendIcon,
SmartToy as SmartToyIcon,
Settings as SettingsIcon,
FilterAlt as FilterAltIcon,
- CompareArrows as CompareArrowsIcon,
+ CompareArrows as CompareArrowsIcon,
} from "@mui/icons-material";
import { Context } from "../context/ContextApi.jsx";
@@ -104,7 +104,7 @@ const useStyles = makeStyles({
},
});
-//
+//
//const CacheView = (props) => {
const CacheView = memo((props) => {
@@ -130,7 +130,7 @@ const CacheView = memo((props) => {
const [cursors, setCursors] = useState({
0: "",
})
- const [_, setUpdate] = useState(Math.random())
+ const [_, setUpdate] = useState(Math.random())
const [selectedRows, setSelectedRows] = useState([]);
// Direct category migration from ../components/Files.jsx
const [selectAllChecked, setSelectAllChecked] = React.useState(false)
@@ -170,7 +170,7 @@ const CacheView = memo((props) => {
"key": "workflow_id",
"value": "",
}],
- "icon": ,
+ "icon": ,
"enabled": false,
},
{
@@ -203,7 +203,7 @@ const CacheView = memo((props) => {
"key": "webhook_url",
"value": "",
}],
- "icon": ,
+ "icon": ,
"enabled": false,
},
@@ -237,7 +237,7 @@ const CacheView = memo((props) => {
const [categoryAutomations, setCategoryAutomations] = useState(defaultAutomation)
const [categoryConfig, setCategoryConfig] = useState(undefined)
-
+
const { themeMode, brandColor } = useContext(Context);
const theme = getTheme(themeMode, brandColor);
const classes = useStyles();
@@ -312,9 +312,9 @@ const CacheView = memo((props) => {
useEffect(() => {
getWorkflows()
- getApps()
+ getApps()
- var chosenCategory = selectedCategory
+ var chosenCategory = selectedCategory
const urlParams = new URLSearchParams(window.location.search)
const categoryParam = urlParams.get("category")
if (categoryParam && categoryParam !== undefined && categoryParam !== "default" && categoryParam !== "") {
@@ -335,7 +335,7 @@ const CacheView = memo((props) => {
if (event.key === 'Escape'){ // not working for some reasons
console.log('escape pressed')
- setRenderTextBox(false);
+ setRenderTextBox(false);
}
}
@@ -359,7 +359,7 @@ const CacheView = memo((props) => {
if (page !== undefined && page !== null && page >= 0) {
if (cursors[page-1] !== undefined && cursors[page-1] !== null && cursors[page-1] !== "") {
- url += "&cursor=" + cursors[page-1]
+ url += "&cursor=" + cursors[page-1]
}
}
@@ -405,8 +405,8 @@ const CacheView = memo((props) => {
}
// Especially important during first load
- if (index < 2 && (category === "default" || category === "" || category === undefined)) {
- // If it exists and isn't blank/default, load it
+ if (index < 2 && (category === "default" || category === "" || category === undefined)) {
+ // If it exists and isn't blank/default, load it
const urlParams = new URLSearchParams(window.location.search);
const categoryParam = urlParams.get("category");
if (categoryParam && categoryParam !== undefined && categoryParam !== "default" && categoryParam !== "") {
@@ -414,7 +414,7 @@ const CacheView = memo((props) => {
if (index === undefined || index === null) {
index = 0
}
-
+
listOrgCache(orgId, categoryParam, index+1, amount, page)
} else {
setSelectedCategory("default");
@@ -478,10 +478,10 @@ const CacheView = memo((props) => {
} else {
setCategoryAutomations(defaultAutomation)
}
- }
+ }
} else {
//toast.warn("Failed to load keys. Please try again or contact support@shuffler if this persists.")
-
+
if (category !== undefined && category !== null && category !== "" && category !== "default") {
toast.info(`No keys to load in category ${category}`)
setSelectedCategory(category)
@@ -495,6 +495,9 @@ const CacheView = memo((props) => {
const deleteEntry = (orgId, key, itemCategory, refreshList) => {
+
+ console.log(`Deleting entry for orgId: ${orgId}, key: ${key}, category: ${itemCategory}`);
+
const method = "POST"
const url = `${globalUrl}/api/v1/orgs/${orgId}/delete_cache`
var parsed = {
@@ -534,8 +537,8 @@ const CacheView = memo((props) => {
};
const editOrgCache = (orgId) => {
- var entry = {
- key: dataValue.key,
+ var entry = {
+ key: dataValue.key,
value: value,
category: selectedCategory,
}
@@ -587,10 +590,10 @@ const CacheView = memo((props) => {
};
const addOrgCache = (orgId) => {
- const cache = {
- key: key,
+ const cache = {
+ key: key,
value: value,
- category: selectedCategory,
+ category: selectedCategory,
}
setCacheInput([cache]);
@@ -709,7 +712,7 @@ const CacheView = memo((props) => {
fullWidth={true}
autoComplete="Key"
placeholder="abc"
- id="keyfield"
+ id="keyfield"
margin="normal"
variant="outlined"
value={editCache ? dataValue.key : key}
@@ -728,7 +731,7 @@ const CacheView = memo((props) => {
autoFixJson(value)
}}
>
-
+
@@ -758,7 +761,7 @@ const CacheView = memo((props) => {
/>
- {editCache ?
+ {editCache ?
Created: {timestamp(dataValue?.created)}
@@ -841,7 +844,7 @@ const CacheView = memo((props) => {
}
};
- const changeDistribution = (id, selectedSubOrg) => {
+ const changeDistribution = (id, selectedSubOrg) => {
editFileConfig(id, [...new Set(selectedSubOrg)], selectedCategory)
}
@@ -855,8 +858,8 @@ const CacheView = memo((props) => {
category: category === undefined || category === "" || category === "default" ? "" : category,
}
- console.log("data: ", data);
-
+ console.log("data: ", data);
+
const url = `${globalUrl}/api/v1/orgs/${orgId}/cache/config`;
fetch(url, {
@@ -989,7 +992,7 @@ const CacheView = memo((props) => {
const originalIcon = automation.icon
if (typeof automation.icon !== "string") {
automation.icon = "";
- }
+ }
})
const url = `${globalUrl}/api/v2/datastore/automate`
@@ -999,7 +1002,7 @@ const CacheView = memo((props) => {
}
if (settings !== undefined && settings !== null && Object.keys(settings).length > 0) {
- data["settings"] = settings
+ data["settings"] = settings
}
fetch(url, {
@@ -1049,7 +1052,7 @@ const CacheView = memo((props) => {
}
}
- const runSave = () => {
+ const runSave = () => {
setUpdated(false)
const newAutomations = [...categoryAutomations]
@@ -1062,11 +1065,11 @@ const CacheView = memo((props) => {
}
return (
- setHovered(true)}
onMouseLeave={() => setHovered(false)}
>
@@ -1085,15 +1088,15 @@ const CacheView = memo((props) => {
setUpdatedAutomation(updatedAutomation)
setUpdated(true)
- setUpdate(Math.random())
+ setUpdate(Math.random())
}}
/>
-
{
@@ -1109,30 +1112,30 @@ const CacheView = memo((props) => {
}
}}
>
- {typeof automation?.icon === "string" && automation?.icon?.length > 0 ?
+ {typeof automation?.icon === "string" && automation?.icon?.length > 0 ?

:
automation.icon
}
-
{automation.name}
- {automation?.disabled !== true ?
+ {automation?.disabled !== true ?