From 9f07cea128dae3f8896eeb958226f181becc90e2 Mon Sep 17 00:00:00 2001 From: Suhas Magadum Date: Tue, 6 Jan 2026 00:57:22 +0530 Subject: [PATCH 1/8] fix: resolve undefined cluster context in navigation (#639) * fix: resolve undefined cluster context in navigation * fix: encode cluster context and resolve linting failures --- frontend/src/pages/Repository.tsx | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/frontend/src/pages/Repository.tsx b/frontend/src/pages/Repository.tsx index c2be3c7..20b069b 100644 --- a/frontend/src/pages/Repository.tsx +++ b/frontend/src/pages/Repository.tsx @@ -21,9 +21,12 @@ function RepositoryPage() { ); const handleRepositoryChanged = (selectedRepository: Repository) => { - void navigateTo(`/repository/${selectedRepository.name}`, { - replace: true, - }); + void navigateTo( + context + ? `/${encodeURIComponent(context)}/repository/${selectedRepository.name}` + : `/repository/${selectedRepository.name}`, + { replace: true } + ); }; useEffect(() => { @@ -34,9 +37,12 @@ function RepositoryPage() { useEffect(() => { if (selectedRepo && !repoFromParams) { - void navigateTo(`/repository/${selectedRepo}`, { - replace: true, - }); + void navigateTo( + context + ? `/${encodeURIComponent(context)}/repository/${selectedRepo}` + : `/repository/${selectedRepo}`, + { replace: true } + ); } }, [selectedRepo, repoFromParams, context, navigateTo]); From 9b3fd771051581b1c32a6ab6e33bfde684559bca Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 7 Jan 2026 11:36:25 +0000 Subject: [PATCH 2/8] Bump qs and @cypress/request in /frontend (#640) Bumps [qs](https://github.com/ljharb/qs) and [@cypress/request](https://github.com/cypress-io/request). These dependencies needed to be updated together. Updates `qs` from 6.14.0 to 6.14.1 - [Changelog](https://github.com/ljharb/qs/blob/main/CHANGELOG.md) - [Commits](https://github.com/ljharb/qs/compare/v6.14.0...v6.14.1) Updates `@cypress/request` from 3.0.9 to 3.0.10 - [Release notes](https://github.com/cypress-io/request/releases) - [Changelog](https://github.com/cypress-io/request/blob/master/CHANGELOG.md) - [Commits](https://github.com/cypress-io/request/compare/v3.0.9...v3.0.10) --- updated-dependencies: - dependency-name: qs dependency-version: 6.14.1 dependency-type: indirect - dependency-name: "@cypress/request" dependency-version: 3.0.10 dependency-type: indirect ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- frontend/package-lock.json | 14 +-- frontend/yarn.lock | 238 +++++++++++++++++++++++++++++++++++-- 2 files changed, 237 insertions(+), 15 deletions(-) diff --git a/frontend/package-lock.json b/frontend/package-lock.json index 008a905..eef3748 100644 --- a/frontend/package-lock.json +++ b/frontend/package-lock.json @@ -421,9 +421,9 @@ } }, "node_modules/@cypress/request": { - "version": "3.0.9", - "resolved": "https://registry.npmjs.org/@cypress/request/-/request-3.0.9.tgz", - "integrity": "sha512-I3l7FdGRXluAS44/0NguwWlO83J18p0vlr2FYHrJkWdNYhgVoiYo61IXPqaOsL+vNxU1ZqMACzItGK3/KKDsdw==", + "version": "3.0.10", + "resolved": "https://registry.npmjs.org/@cypress/request/-/request-3.0.10.tgz", + "integrity": "sha512-hauBrOdvu08vOsagkZ/Aju5XuiZx6ldsLfByg1htFeldhex+PeMrYauANzFsMJeAA0+dyPLbDoX2OYuvVoLDkQ==", "dev": true, "license": "Apache-2.0", "dependencies": { @@ -440,7 +440,7 @@ "json-stringify-safe": "~5.0.1", "mime-types": "~2.1.19", "performance-now": "^2.1.0", - "qs": "6.14.0", + "qs": "~6.14.1", "safe-buffer": "^5.1.2", "tough-cookie": "^5.0.0", "tunnel-agent": "^0.6.0", @@ -10675,9 +10675,9 @@ } }, "node_modules/qs": { - "version": "6.14.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.14.0.tgz", - "integrity": "sha512-YWWTjgABSKcvs/nWBi9PycY/JiPJqOD4JA6o9Sej2AtvSGarXxKC3OQSk4pAarbdQlKAh5D4FCQkJNkW+GAn3w==", + "version": "6.14.1", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.14.1.tgz", + "integrity": "sha512-4EK3+xJl8Ts67nLYNwqw/dsFVnCf+qR7RgXSK9jEEm9unao3njwMDdmsdvoKBKHzxd7tCYz5e5M+SnMjdtXGQQ==", "dev": true, "license": "BSD-3-Clause", "dependencies": { diff --git a/frontend/yarn.lock b/frontend/yarn.lock index 834185b..1753846 100644 --- a/frontend/yarn.lock +++ b/frontend/yarn.lock @@ -193,9 +193,9 @@ integrity sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ== "@cypress/request@^3.0.0": - version "3.0.9" - resolved "https://registry.npmjs.org/@cypress/request/-/request-3.0.9.tgz" - integrity sha512-I3l7FdGRXluAS44/0NguwWlO83J18p0vlr2FYHrJkWdNYhgVoiYo61IXPqaOsL+vNxU1ZqMACzItGK3/KKDsdw== + version "3.0.10" + resolved "https://registry.yarnpkg.com/@cypress/request/-/request-3.0.10.tgz#e09c695e8460a82acafe6cfaf089cf2ca06dc054" + integrity sha512-hauBrOdvu08vOsagkZ/Aju5XuiZx6ldsLfByg1htFeldhex+PeMrYauANzFsMJeAA0+dyPLbDoX2OYuvVoLDkQ== dependencies: aws-sign2 "~0.7.0" aws4 "^1.8.0" @@ -210,7 +210,7 @@ json-stringify-safe "~5.0.1" mime-types "~2.1.19" performance-now "^2.1.0" - qs "6.14.0" + qs "~6.14.1" safe-buffer "^5.1.2" tough-cookie "^5.0.0" tunnel-agent "^0.6.0" @@ -858,6 +858,106 @@ estree-walker "^2.0.2" picomatch "^2.3.1" +"@rollup/rollup-android-arm-eabi@4.52.5": + version "4.52.5" + resolved "https://registry.yarnpkg.com/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.52.5.tgz#0f44a2f8668ed87b040b6fe659358ac9239da4db" + integrity sha512-8c1vW4ocv3UOMp9K+gToY5zL2XiiVw3k7f1ksf4yO1FlDFQ1C2u72iACFnSOceJFsWskc2WZNqeRhFRPzv+wtQ== + +"@rollup/rollup-android-arm64@4.52.5": + version "4.52.5" + resolved "https://registry.yarnpkg.com/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.52.5.tgz#25b9a01deef6518a948431564c987bcb205274f5" + integrity sha512-mQGfsIEFcu21mvqkEKKu2dYmtuSZOBMmAl5CFlPGLY94Vlcm+zWApK7F/eocsNzp8tKmbeBP8yXyAbx0XHsFNA== + +"@rollup/rollup-darwin-arm64@4.52.5": + version "4.52.5" + resolved "https://registry.yarnpkg.com/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.52.5.tgz#8a102869c88f3780c7d5e6776afd3f19084ecd7f" + integrity sha512-takF3CR71mCAGA+v794QUZ0b6ZSrgJkArC+gUiG6LB6TQty9T0Mqh3m2ImRBOxS2IeYBo4lKWIieSvnEk2OQWA== + +"@rollup/rollup-darwin-x64@4.52.5": + version "4.52.5" + resolved "https://registry.yarnpkg.com/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.52.5.tgz#8e526417cd6f54daf1d0c04cf361160216581956" + integrity sha512-W901Pla8Ya95WpxDn//VF9K9u2JbocwV/v75TE0YIHNTbhqUTv9w4VuQ9MaWlNOkkEfFwkdNhXgcLqPSmHy0fA== + +"@rollup/rollup-freebsd-arm64@4.52.5": + version "4.52.5" + resolved "https://registry.yarnpkg.com/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.52.5.tgz#0e7027054493f3409b1f219a3eac5efd128ef899" + integrity sha512-QofO7i7JycsYOWxe0GFqhLmF6l1TqBswJMvICnRUjqCx8b47MTo46W8AoeQwiokAx3zVryVnxtBMcGcnX12LvA== + +"@rollup/rollup-freebsd-x64@4.52.5": + version "4.52.5" + resolved "https://registry.yarnpkg.com/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.52.5.tgz#72b204a920139e9ec3d331bd9cfd9a0c248ccb10" + integrity sha512-jr21b/99ew8ujZubPo9skbrItHEIE50WdV86cdSoRkKtmWa+DDr6fu2c/xyRT0F/WazZpam6kk7IHBerSL7LDQ== + +"@rollup/rollup-linux-arm-gnueabihf@4.52.5": + version "4.52.5" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.52.5.tgz#ab1b522ebe5b7e06c99504cc38f6cd8b808ba41c" + integrity sha512-PsNAbcyv9CcecAUagQefwX8fQn9LQ4nZkpDboBOttmyffnInRy8R8dSg6hxxl2Re5QhHBf6FYIDhIj5v982ATQ== + +"@rollup/rollup-linux-arm-musleabihf@4.52.5": + version "4.52.5" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.52.5.tgz#f8cc30b638f1ee7e3d18eac24af47ea29d9beb00" + integrity sha512-Fw4tysRutyQc/wwkmcyoqFtJhh0u31K+Q6jYjeicsGJJ7bbEq8LwPWV/w0cnzOqR2m694/Af6hpFayLJZkG2VQ== + +"@rollup/rollup-linux-arm64-gnu@4.52.5": + version "4.52.5" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.52.5.tgz#7af37a9e85f25db59dc8214172907b7e146c12cc" + integrity sha512-a+3wVnAYdQClOTlyapKmyI6BLPAFYs0JM8HRpgYZQO02rMR09ZcV9LbQB+NL6sljzG38869YqThrRnfPMCDtZg== + +"@rollup/rollup-linux-arm64-musl@4.52.5": + version "4.52.5" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.52.5.tgz#a623eb0d3617c03b7a73716eb85c6e37b776f7e0" + integrity sha512-AvttBOMwO9Pcuuf7m9PkC1PUIKsfaAJ4AYhy944qeTJgQOqJYJ9oVl2nYgY7Rk0mkbsuOpCAYSs6wLYB2Xiw0Q== + +"@rollup/rollup-linux-loong64-gnu@4.52.5": + version "4.52.5" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-loong64-gnu/-/rollup-linux-loong64-gnu-4.52.5.tgz#76ea038b549c5c6c5f0d062942627c4066642ee2" + integrity sha512-DkDk8pmXQV2wVrF6oq5tONK6UHLz/XcEVow4JTTerdeV1uqPeHxwcg7aFsfnSm9L+OO8WJsWotKM2JJPMWrQtA== + +"@rollup/rollup-linux-ppc64-gnu@4.52.5": + version "4.52.5" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-ppc64-gnu/-/rollup-linux-ppc64-gnu-4.52.5.tgz#d9a4c3f0a3492bc78f6fdfe8131ac61c7359ccd5" + integrity sha512-W/b9ZN/U9+hPQVvlGwjzi+Wy4xdoH2I8EjaCkMvzpI7wJUs8sWJ03Rq96jRnHkSrcHTpQe8h5Tg3ZzUPGauvAw== + +"@rollup/rollup-linux-riscv64-gnu@4.52.5": + version "4.52.5" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.52.5.tgz#87ab033eebd1a9a1dd7b60509f6333ec1f82d994" + integrity sha512-sjQLr9BW7R/ZiXnQiWPkErNfLMkkWIoCz7YMn27HldKsADEKa5WYdobaa1hmN6slu9oWQbB6/jFpJ+P2IkVrmw== + +"@rollup/rollup-linux-riscv64-musl@4.52.5": + version "4.52.5" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.52.5.tgz#bda3eb67e1c993c1ba12bc9c2f694e7703958d9f" + integrity sha512-hq3jU/kGyjXWTvAh2awn8oHroCbrPm8JqM7RUpKjalIRWWXE01CQOf/tUNWNHjmbMHg/hmNCwc/Pz3k1T/j/Lg== + +"@rollup/rollup-linux-s390x-gnu@4.52.5": + version "4.52.5" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.52.5.tgz#f7bc10fbe096ab44694233dc42a2291ed5453d4b" + integrity sha512-gn8kHOrku8D4NGHMK1Y7NA7INQTRdVOntt1OCYypZPRt6skGbddska44K8iocdpxHTMMNui5oH4elPH4QOLrFQ== + +"@rollup/rollup-linux-x64-gnu@4.52.5": + version "4.52.5" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.52.5.tgz#a151cb1234cc9b2cf5e8cfc02aa91436b8f9e278" + integrity sha512-hXGLYpdhiNElzN770+H2nlx+jRog8TyynpTVzdlc6bndktjKWyZyiCsuDAlpd+j+W+WNqfcyAWz9HxxIGfZm1Q== + +"@rollup/rollup-linux-x64-musl@4.52.5": + version "4.52.5" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.52.5.tgz#7859e196501cc3b3062d45d2776cfb4d2f3a9350" + integrity sha512-arCGIcuNKjBoKAXD+y7XomR9gY6Mw7HnFBv5Rw7wQRvwYLR7gBAgV7Mb2QTyjXfTveBNFAtPt46/36vV9STLNg== + +"@rollup/rollup-openharmony-arm64@4.52.5": + version "4.52.5" + resolved "https://registry.yarnpkg.com/@rollup/rollup-openharmony-arm64/-/rollup-openharmony-arm64-4.52.5.tgz#85d0df7233734df31e547c1e647d2a5300b3bf30" + integrity sha512-QoFqB6+/9Rly/RiPjaomPLmR/13cgkIGfA40LHly9zcH1S0bN2HVFYk3a1eAyHQyjs3ZJYlXvIGtcCs5tko9Cw== + +"@rollup/rollup-win32-arm64-msvc@4.52.5": + version "4.52.5" + resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.52.5.tgz#e62357d00458db17277b88adbf690bb855cac937" + integrity sha512-w0cDWVR6MlTstla1cIfOGyl8+qb93FlAVutcor14Gf5Md5ap5ySfQ7R9S/NjNaMLSFdUnKGEasmVnu3lCMqB7w== + +"@rollup/rollup-win32-ia32-msvc@4.52.5": + version "4.52.5" + resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.52.5.tgz#fc7cd40f44834a703c1f1c3fe8bcc27ce476cd50" + integrity sha512-Aufdpzp7DpOTULJCuvzqcItSGDH73pF3ko/f+ckJhxQyHtp67rHw3HMNxoIdDMUITJESNE6a8uh4Lo4SLouOUg== + "@rollup/rollup-win32-x64-gnu@4.52.5": version "4.52.5" resolved "https://registry.npmjs.org/@rollup/rollup-win32-x64-gnu/-/rollup-win32-x64-gnu-4.52.5.tgz" @@ -1411,6 +1511,68 @@ source-map-js "^1.2.1" tailwindcss "4.1.17" +"@tailwindcss/oxide-android-arm64@4.1.17": + version "4.1.17" + resolved "https://registry.yarnpkg.com/@tailwindcss/oxide-android-arm64/-/oxide-android-arm64-4.1.17.tgz#17f0dc901f88a979c5bff618181bce596dff596d" + integrity sha512-BMqpkJHgOZ5z78qqiGE6ZIRExyaHyuxjgrJ6eBO5+hfrfGkuya0lYfw8fRHG77gdTjWkNWEEm+qeG2cDMxArLQ== + +"@tailwindcss/oxide-darwin-arm64@4.1.17": + version "4.1.17" + resolved "https://registry.yarnpkg.com/@tailwindcss/oxide-darwin-arm64/-/oxide-darwin-arm64-4.1.17.tgz#63e12e62b83f6949dbb10b5a7f6e441606835efc" + integrity sha512-EquyumkQweUBNk1zGEU/wfZo2qkp/nQKRZM8bUYO0J+Lums5+wl2CcG1f9BgAjn/u9pJzdYddHWBiFXJTcxmOg== + +"@tailwindcss/oxide-darwin-x64@4.1.17": + version "4.1.17" + resolved "https://registry.yarnpkg.com/@tailwindcss/oxide-darwin-x64/-/oxide-darwin-x64-4.1.17.tgz#6dad270d2777508f55e2b73eca0eaef625bc45a7" + integrity sha512-gdhEPLzke2Pog8s12oADwYu0IAw04Y2tlmgVzIN0+046ytcgx8uZmCzEg4VcQh+AHKiS7xaL8kGo/QTiNEGRog== + +"@tailwindcss/oxide-freebsd-x64@4.1.17": + version "4.1.17" + resolved "https://registry.yarnpkg.com/@tailwindcss/oxide-freebsd-x64/-/oxide-freebsd-x64-4.1.17.tgz#e7628b4602ac7d73c11a9922ecb83c24337eff55" + integrity sha512-hxGS81KskMxML9DXsaXT1H0DyA+ZBIbyG/sSAjWNe2EDl7TkPOBI42GBV3u38itzGUOmFfCzk1iAjDXds8Oh0g== + +"@tailwindcss/oxide-linux-arm-gnueabihf@4.1.17": + version "4.1.17" + resolved "https://registry.yarnpkg.com/@tailwindcss/oxide-linux-arm-gnueabihf/-/oxide-linux-arm-gnueabihf-4.1.17.tgz#4d96a6fe4c7ed20e7a013101ee46f46caca2233e" + integrity sha512-k7jWk5E3ldAdw0cNglhjSgv501u7yrMf8oeZ0cElhxU6Y2o7f8yqelOp3fhf7evjIS6ujTI3U8pKUXV2I4iXHQ== + +"@tailwindcss/oxide-linux-arm64-gnu@4.1.17": + version "4.1.17" + resolved "https://registry.yarnpkg.com/@tailwindcss/oxide-linux-arm64-gnu/-/oxide-linux-arm64-gnu-4.1.17.tgz#adc3c01cd73610870bfc21db5713571e08fb2210" + integrity sha512-HVDOm/mxK6+TbARwdW17WrgDYEGzmoYayrCgmLEw7FxTPLcp/glBisuyWkFz/jb7ZfiAXAXUACfyItn+nTgsdQ== + +"@tailwindcss/oxide-linux-arm64-musl@4.1.17": + version "4.1.17" + resolved "https://registry.yarnpkg.com/@tailwindcss/oxide-linux-arm64-musl/-/oxide-linux-arm64-musl-4.1.17.tgz#39ceda30407af56a1ee125b2c5ce856c6d29250f" + integrity sha512-HvZLfGr42i5anKtIeQzxdkw/wPqIbpeZqe7vd3V9vI3RQxe3xU1fLjss0TjyhxWcBaipk7NYwSrwTwK1hJARMg== + +"@tailwindcss/oxide-linux-x64-gnu@4.1.17": + version "4.1.17" + resolved "https://registry.yarnpkg.com/@tailwindcss/oxide-linux-x64-gnu/-/oxide-linux-x64-gnu-4.1.17.tgz#a3d4bd876c04d09856af0c394f5095fbc8a2b14c" + integrity sha512-M3XZuORCGB7VPOEDH+nzpJ21XPvK5PyjlkSFkFziNHGLc5d6g3di2McAAblmaSUNl8IOmzYwLx9NsE7bplNkwQ== + +"@tailwindcss/oxide-linux-x64-musl@4.1.17": + version "4.1.17" + resolved "https://registry.yarnpkg.com/@tailwindcss/oxide-linux-x64-musl/-/oxide-linux-x64-musl-4.1.17.tgz#bdc20aa4fb2d28cc928f2cfffff7a9cd03a51d5b" + integrity sha512-k7f+pf9eXLEey4pBlw+8dgfJHY4PZ5qOUFDyNf7SI6lHjQ9Zt7+NcscjpwdCEbYi6FI5c2KDTDWyf2iHcCSyyQ== + +"@tailwindcss/oxide-wasm32-wasi@4.1.17": + version "4.1.17" + resolved "https://registry.yarnpkg.com/@tailwindcss/oxide-wasm32-wasi/-/oxide-wasm32-wasi-4.1.17.tgz#7c0804748935928751838f86ff4f879c38f8a6d7" + integrity sha512-cEytGqSSoy7zK4JRWiTCx43FsKP/zGr0CsuMawhH67ONlH+T79VteQeJQRO/X7L0juEUA8ZyuYikcRBf0vsxhg== + dependencies: + "@emnapi/core" "^1.6.0" + "@emnapi/runtime" "^1.6.0" + "@emnapi/wasi-threads" "^1.1.0" + "@napi-rs/wasm-runtime" "^1.0.7" + "@tybys/wasm-util" "^0.10.1" + tslib "^2.4.0" + +"@tailwindcss/oxide-win32-arm64-msvc@4.1.17": + version "4.1.17" + resolved "https://registry.yarnpkg.com/@tailwindcss/oxide-win32-arm64-msvc/-/oxide-win32-arm64-msvc-4.1.17.tgz#7222fc2ceee9d45ebe5aebf38707ee9833a20475" + integrity sha512-JU5AHr7gKbZlOGvMdb4722/0aYbU+tN6lv1kONx0JK2cGsh7g148zVWLM0IKR3NeKLv+L90chBVYcJ8uJWbC9A== + "@tailwindcss/oxide-win32-x64-msvc@4.1.17": version "4.1.17" resolved "https://registry.npmjs.org/@tailwindcss/oxide-win32-x64-msvc/-/oxide-win32-x64-msvc-4.1.17.tgz" @@ -3786,6 +3948,11 @@ fs-extra@^9.1.0: jsonfile "^6.0.1" universalify "^2.0.0" +fsevents@~2.3.2, fsevents@~2.3.3: + version "2.3.3" + resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.3.tgz#cac6407785d03675a2a5e1a5305c697b347d90d6" + integrity sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw== + function-bind@^1.1.1, function-bind@^1.1.2: version "1.1.2" resolved "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz" @@ -4661,6 +4828,56 @@ levn@^0.4.1: prelude-ls "^1.2.1" type-check "~0.4.0" +lightningcss-android-arm64@1.30.2: + version "1.30.2" + resolved "https://registry.yarnpkg.com/lightningcss-android-arm64/-/lightningcss-android-arm64-1.30.2.tgz#6966b7024d39c94994008b548b71ab360eb3a307" + integrity sha512-BH9sEdOCahSgmkVhBLeU7Hc9DWeZ1Eb6wNS6Da8igvUwAe0sqROHddIlvU06q3WyXVEOYDZ6ykBZQnjTbmo4+A== + +lightningcss-darwin-arm64@1.30.2: + version "1.30.2" + resolved "https://registry.yarnpkg.com/lightningcss-darwin-arm64/-/lightningcss-darwin-arm64-1.30.2.tgz#a5fa946d27c029e48c7ff929e6e724a7de46eb2c" + integrity sha512-ylTcDJBN3Hp21TdhRT5zBOIi73P6/W0qwvlFEk22fkdXchtNTOU4Qc37SkzV+EKYxLouZ6M4LG9NfZ1qkhhBWA== + +lightningcss-darwin-x64@1.30.2: + version "1.30.2" + resolved "https://registry.yarnpkg.com/lightningcss-darwin-x64/-/lightningcss-darwin-x64-1.30.2.tgz#5ce87e9cd7c4f2dcc1b713f5e8ee185c88d9b7cd" + integrity sha512-oBZgKchomuDYxr7ilwLcyms6BCyLn0z8J0+ZZmfpjwg9fRVZIR5/GMXd7r9RH94iDhld3UmSjBM6nXWM2TfZTQ== + +lightningcss-freebsd-x64@1.30.2: + version "1.30.2" + resolved "https://registry.yarnpkg.com/lightningcss-freebsd-x64/-/lightningcss-freebsd-x64-1.30.2.tgz#6ae1d5e773c97961df5cff57b851807ef33692a5" + integrity sha512-c2bH6xTrf4BDpK8MoGG4Bd6zAMZDAXS569UxCAGcA7IKbHNMlhGQ89eRmvpIUGfKWNVdbhSbkQaWhEoMGmGslA== + +lightningcss-linux-arm-gnueabihf@1.30.2: + version "1.30.2" + resolved "https://registry.yarnpkg.com/lightningcss-linux-arm-gnueabihf/-/lightningcss-linux-arm-gnueabihf-1.30.2.tgz#62c489610c0424151a6121fa99d77731536cdaeb" + integrity sha512-eVdpxh4wYcm0PofJIZVuYuLiqBIakQ9uFZmipf6LF/HRj5Bgm0eb3qL/mr1smyXIS1twwOxNWndd8z0E374hiA== + +lightningcss-linux-arm64-gnu@1.30.2: + version "1.30.2" + resolved "https://registry.yarnpkg.com/lightningcss-linux-arm64-gnu/-/lightningcss-linux-arm64-gnu-1.30.2.tgz#2a3661b56fe95a0cafae90be026fe0590d089298" + integrity sha512-UK65WJAbwIJbiBFXpxrbTNArtfuznvxAJw4Q2ZGlU8kPeDIWEX1dg3rn2veBVUylA2Ezg89ktszWbaQnxD/e3A== + +lightningcss-linux-arm64-musl@1.30.2: + version "1.30.2" + resolved "https://registry.yarnpkg.com/lightningcss-linux-arm64-musl/-/lightningcss-linux-arm64-musl-1.30.2.tgz#d7ddd6b26959245e026bc1ad9eb6aa983aa90e6b" + integrity sha512-5Vh9dGeblpTxWHpOx8iauV02popZDsCYMPIgiuw97OJ5uaDsL86cnqSFs5LZkG3ghHoX5isLgWzMs+eD1YzrnA== + +lightningcss-linux-x64-gnu@1.30.2: + version "1.30.2" + resolved "https://registry.yarnpkg.com/lightningcss-linux-x64-gnu/-/lightningcss-linux-x64-gnu-1.30.2.tgz#5a89814c8e63213a5965c3d166dff83c36152b1a" + integrity sha512-Cfd46gdmj1vQ+lR6VRTTadNHu6ALuw2pKR9lYq4FnhvgBc4zWY1EtZcAc6EffShbb1MFrIPfLDXD6Xprbnni4w== + +lightningcss-linux-x64-musl@1.30.2: + version "1.30.2" + resolved "https://registry.yarnpkg.com/lightningcss-linux-x64-musl/-/lightningcss-linux-x64-musl-1.30.2.tgz#808c2e91ce0bf5d0af0e867c6152e5378c049728" + integrity sha512-XJaLUUFXb6/QG2lGIW6aIk6jKdtjtcffUT0NKvIqhSBY3hh9Ch+1LCeH80dR9q9LBjG3ewbDjnumefsLsP6aiA== + +lightningcss-win32-arm64-msvc@1.30.2: + version "1.30.2" + resolved "https://registry.yarnpkg.com/lightningcss-win32-arm64-msvc/-/lightningcss-win32-arm64-msvc-1.30.2.tgz#ab4a8a8a2e6a82a4531e8bbb6bf0ff161ee6625a" + integrity sha512-FZn+vaj7zLv//D/192WFFVA0RgHawIcHqLX9xuWiQt7P0PtdFEVaxgF9rjM/IRYHQXNnk61/H/gb2Ei+kUQ4xQ== + lightningcss-win32-x64-msvc@1.30.2: version "1.30.2" resolved "https://registry.npmjs.org/lightningcss-win32-x64-msvc/-/lightningcss-win32-x64-msvc-1.30.2.tgz" @@ -5385,10 +5602,10 @@ punycode@^2.1.0: resolved "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz" integrity sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg== -qs@6.14.0: - version "6.14.0" - resolved "https://registry.npmjs.org/qs/-/qs-6.14.0.tgz" - integrity sha512-YWWTjgABSKcvs/nWBi9PycY/JiPJqOD4JA6o9Sej2AtvSGarXxKC3OQSk4pAarbdQlKAh5D4FCQkJNkW+GAn3w== +qs@~6.14.1: + version "6.14.1" + resolved "https://registry.yarnpkg.com/qs/-/qs-6.14.1.tgz#a41d85b9d3902f31d27861790506294881871159" + integrity sha512-4EK3+xJl8Ts67nLYNwqw/dsFVnCf+qR7RgXSK9jEEm9unao3njwMDdmsdvoKBKHzxd7tCYz5e5M+SnMjdtXGQQ== dependencies: side-channel "^1.1.0" @@ -6517,6 +6734,11 @@ tslib@^2.0.1, tslib@^2.1.0, tslib@^2.3.0: resolved "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz" integrity sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg== +tslib@^2.4.0: + version "2.8.1" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.8.1.tgz#612efe4ed235d567e8aba5f2a5fab70280ade83f" + integrity sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w== + tsutils@^3.21.0: version "3.21.0" resolved "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz" From 05c7c0b5c47276cfb97f685655530461046fbaa3 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 9 Jan 2026 17:33:28 +0000 Subject: [PATCH 3/8] Bump react-router from 7.9.6 to 7.12.0 in /frontend (#642) Bumps [react-router](https://github.com/remix-run/react-router/tree/HEAD/packages/react-router) from 7.9.6 to 7.12.0. - [Release notes](https://github.com/remix-run/react-router/releases) - [Changelog](https://github.com/remix-run/react-router/blob/main/packages/react-router/CHANGELOG.md) - [Commits](https://github.com/remix-run/react-router/commits/react-router@7.12.0/packages/react-router) --- updated-dependencies: - dependency-name: react-router dependency-version: 7.12.0 dependency-type: direct:production ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- frontend/package-lock.json | 6 +++--- frontend/yarn.lock | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/frontend/package-lock.json b/frontend/package-lock.json index eef3748..822231e 100644 --- a/frontend/package-lock.json +++ b/frontend/package-lock.json @@ -10967,9 +10967,9 @@ } }, "node_modules/react-router": { - "version": "7.9.6", - "resolved": "https://registry.npmjs.org/react-router/-/react-router-7.9.6.tgz", - "integrity": "sha512-Y1tUp8clYRXpfPITyuifmSoE2vncSME18uVLgaqyxh9H35JWpIfzHo+9y3Fzh5odk/jxPW29IgLgzcdwxGqyNA==", + "version": "7.12.0", + "resolved": "https://registry.npmjs.org/react-router/-/react-router-7.12.0.tgz", + "integrity": "sha512-kTPDYPFzDVGIIGNLS5VJykK0HfHLY5MF3b+xj0/tTyNYL1gF1qs7u67Z9jEhQk2sQ98SUaHxlG31g1JtF7IfVw==", "license": "MIT", "dependencies": { "cookie": "^1.0.1", diff --git a/frontend/yarn.lock b/frontend/yarn.lock index 1753846..276be28 100644 --- a/frontend/yarn.lock +++ b/frontend/yarn.lock @@ -5744,9 +5744,9 @@ react-refresh@^0.18.0: integrity sha512-QgT5//D3jfjJb6Gsjxv0Slpj23ip+HtOpnNgnb2S5zU3CB26G/IDPGoy4RJB42wzFE46DRsstbW6tKHoKbhAxw== react-router@^7.9.6: - version "7.9.6" - resolved "https://registry.npmjs.org/react-router/-/react-router-7.9.6.tgz" - integrity sha512-Y1tUp8clYRXpfPITyuifmSoE2vncSME18uVLgaqyxh9H35JWpIfzHo+9y3Fzh5odk/jxPW29IgLgzcdwxGqyNA== + version "7.12.0" + resolved "https://registry.yarnpkg.com/react-router/-/react-router-7.12.0.tgz#459a86862abbedd02e76e686751fe71f9fd73a4f" + integrity sha512-kTPDYPFzDVGIIGNLS5VJykK0HfHLY5MF3b+xj0/tTyNYL1gF1qs7u67Z9jEhQk2sQ98SUaHxlG31g1JtF7IfVw== dependencies: cookie "^1.0.1" set-cookie-parser "^2.6.0" From 37af7dfbec92d8345e73c4d817a8390197da4c78 Mon Sep 17 00:00:00 2001 From: Vedant Apraj Date: Fri, 9 Jan 2026 23:17:22 +0530 Subject: [PATCH 4/8] fix: maintain cluster context after adding repo (#616) (#641) * fix: maintain cluster context after adding repo (#616) * chore: rollback lock file changes as requested --- .../src/components/LinkWithSearchParams.tsx | 4 +- frontend/src/components/Tabs.tsx | 1 - .../components/modal/AddRepositoryModal.tsx | 14 +++++-- frontend/src/layout/Header.tsx | 4 +- frontend/src/pages/Repository.tsx | 38 +++++-------------- 5 files changed, 25 insertions(+), 36 deletions(-) diff --git a/frontend/src/components/LinkWithSearchParams.tsx b/frontend/src/components/LinkWithSearchParams.tsx index 42464db..708cc08 100644 --- a/frontend/src/components/LinkWithSearchParams.tsx +++ b/frontend/src/components/LinkWithSearchParams.tsx @@ -23,8 +23,10 @@ const LinkWithSearchParams = ({ let prefixedUrl = to; - if (!clusterMode) { + if (!clusterMode && context) { prefixedUrl = `/${encodeURIComponent(context)}${to}`; + } else { + prefixedUrl = to; } const url = `${prefixedUrl}/?${params.toString()}`; diff --git a/frontend/src/components/Tabs.tsx b/frontend/src/components/Tabs.tsx index 9a9a8fb..d73dc57 100644 --- a/frontend/src/components/Tabs.tsx +++ b/frontend/src/components/Tabs.tsx @@ -18,7 +18,6 @@ export default function Tabs({ tabs, selectedTab }: TabsProps) { const moveTab = (tab: Tab) => { upsertSearchParams("tab", tab.value); }; - return (
diff --git a/frontend/src/components/modal/AddRepositoryModal.tsx b/frontend/src/components/modal/AddRepositoryModal.tsx index e833cea..dba5a63 100644 --- a/frontend/src/components/modal/AddRepositoryModal.tsx +++ b/frontend/src/components/modal/AddRepositoryModal.tsx @@ -5,8 +5,8 @@ import useAlertError from "../../hooks/useAlertError"; import useCustomSearchParams from "../../hooks/useCustomSearchParams"; import { useAppContext } from "../../context/AppContext"; import { useQueryClient } from "@tanstack/react-query"; -import { useNavigate } from "react-router"; import apiService from "../../API/apiService"; +import useNavigateWithSearchParams from "../../hooks/useNavigateWithSearchParams"; interface FormKeys { name: string; @@ -33,7 +33,7 @@ function AddRepositoryModal({ isOpen, onClose }: AddRepositoryModalProps) { const [isLoading, setIsLoading] = useState(false); const alertError = useAlertError(); const { setSelectedRepo } = useAppContext(); - const navigate = useNavigate(); + const navigate = useNavigateWithSearchParams(); const queryClient = useQueryClient(); const addRepository = async () => { @@ -58,7 +58,8 @@ function AddRepositoryModal({ isOpen, onClose }: AddRepositoryModalProps) { queryKey: ["helm", "repositories"], }); setSelectedRepo(formData.name || ""); - await navigate(`/repository/${formData.name}`, { + const path = `/repository/${formData.name}`; + await navigate(path, { replace: true, }); } catch (err) { @@ -68,6 +69,13 @@ function AddRepositoryModal({ isOpen, onClose }: AddRepositoryModalProps) { }); } finally { setIsLoading(false); + setFormData({ + name: "", + url: "", + username: "", + password: "", + }); + onClose(); } }; diff --git a/frontend/src/layout/Header.tsx b/frontend/src/layout/Header.tsx index 7a81fe9..44f31a8 100644 --- a/frontend/src/layout/Header.tsx +++ b/frontend/src/layout/Header.tsx @@ -76,7 +76,7 @@ export default function Header() {
  • @@ -85,7 +85,7 @@ export default function Header() {
  • { @@ -21,12 +21,9 @@ function RepositoryPage() { ); const handleRepositoryChanged = (selectedRepository: Repository) => { - void navigateTo( - context - ? `/${encodeURIComponent(context)}/repository/${selectedRepository.name}` - : `/repository/${selectedRepository.name}`, - { replace: true } - ); + void navigateTo(`/repository/${selectedRepository.name}`, { + replace: true, + }); }; useEffect(() => { @@ -34,31 +31,14 @@ function RepositoryPage() { setSelectedRepo(repoFromParams); } }, [setSelectedRepo, repoFromParams]); - - useEffect(() => { - if (selectedRepo && !repoFromParams) { - void navigateTo( - context - ? `/${encodeURIComponent(context)}/repository/${selectedRepo}` - : `/repository/${selectedRepo}`, - { replace: true } - ); - } - }, [selectedRepo, repoFromParams, context, navigateTo]); - const { data: repositories = [], isSuccess } = useGetRepositories(); - const onSuccess = useEffectEvent(() => { - if (repositories && repositories.length && !repoFromParams) { - handleRepositoryChanged(repositories[0]); - } - }); - useEffect(() => { - if (repositories.length && isSuccess) { - onSuccess(); + if (repositories.length && isSuccess && !repoFromParams) { + const firstRepo = repositories[0]; + void navigateTo(`/repository/${firstRepo.name}`, { replace: true }); } - }, [repositories, isSuccess]); + }, [repositories, isSuccess, repoFromParams, context, navigateTo]); const selectedRepository = useMemo(() => { if (repoFromParams) { From 323a60fe31955e7ba91511d4d51c3aa430812d31 Mon Sep 17 00:00:00 2001 From: Olga Kruglova <33450462+olkruglova@users.noreply.github.com> Date: Mon, 12 Jan 2026 09:47:12 +0100 Subject: [PATCH 5/8] Fix inconsistency in README.md (#643) --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 53742f8..82e1b04 100644 --- a/README.md +++ b/README.md @@ -84,7 +84,7 @@ If your port 8080 is busy, you can specify a different port to use via `--port < If you need to limit the operations to a specific namespace, please use `--namespace=...` in your command-line. You can specify multiple namespaces, separated by commas. -If you don't want the browser tab to automatically open, add `--no-browser` flag in your command line. +If you don't want the browser tab to automatically open, add `--no-browser` flag in your command-line. If you want to increase the logging verbosity and see all the debug info, use the `--verbose` flag. From 65a250e2a4c72a930575319df86f1623a8ea72cd Mon Sep 17 00:00:00 2001 From: S Kumar Dhananjaya <57564775+KumarDhananjaya@users.noreply.github.com> Date: Sat, 17 Jan 2026 17:34:55 +0530 Subject: [PATCH 6/8] Feat: add flags to disable slow health and latest version checks (#493) (#644) * added more info to features.md * added details to FEATURES.md * . * reset to last commit * Update FEATURES.md * feat: add flags to disable slow health and latest version checks - Introduce --no-health and --no-latest CLI flags - Support HD_NO_HEALTH and HD_NO_LATEST environment variables - Skip slow k8s health checks and latest version fetching when flags are set - Optimize frontend data fetching based on these flags * chore: fix lint errors in InstalledPackageCard.tsx * chore: remove accidental lockfile changes --- frontend/src/API/interfaces.ts | 2 ++ .../components/InstalledPackages/InstalledPackageCard.tsx | 6 +++++- frontend/src/data/types.ts | 2 ++ main.go | 4 ++++ pkg/dashboard/handlers/helmHandlers.go | 7 ++++++- pkg/dashboard/objects/data.go | 2 ++ pkg/dashboard/server.go | 5 +++++ 7 files changed, 26 insertions(+), 2 deletions(-) diff --git a/frontend/src/API/interfaces.ts b/frontend/src/API/interfaces.ts index 8f2f3a2..3497407 100644 --- a/frontend/src/API/interfaces.ts +++ b/frontend/src/API/interfaces.ts @@ -43,6 +43,8 @@ export interface ApplicationStatus { ClusterMode: boolean; CurVer: string; LatestVer: string; + NoHealth: boolean; + NoLatest: boolean; } export interface KubectlContexts { diff --git a/frontend/src/components/InstalledPackages/InstalledPackageCard.tsx b/frontend/src/components/InstalledPackages/InstalledPackageCard.tsx index 9f5a2d0..a6c2cf8 100644 --- a/frontend/src/components/InstalledPackages/InstalledPackageCard.tsx +++ b/frontend/src/components/InstalledPackages/InstalledPackageCard.tsx @@ -16,6 +16,7 @@ import { isNewerVersion } from "../../utils"; import type { LatestChartVersion } from "../../API/interfaces"; import useNavigateWithSearchParams from "../../hooks/useNavigateWithSearchParams"; import { useInView } from "react-intersection-observer"; +import { useGetApplicationStatus } from "../../API/other"; type InstalledPackageCardProps = { release: Release; @@ -31,14 +32,17 @@ export default function InstalledPackageCard({ threshold: 0.3, triggerOnce: true, }); + const { data: status } = useGetApplicationStatus(); + const { data: latestVersionResult } = useGetLatestVersion(release.chartName, { queryKey: ["chartName", release.chartName], + enabled: !status?.NoLatest, }); const { data: statusData = [], isLoading } = useQuery({ queryKey: ["resourceStatus", release], queryFn: () => apiService.getResourceStatus({ release }), - enabled: inView, + enabled: inView && !status?.NoHealth, }); const latestVersionData: LatestChartVersion | undefined = diff --git a/frontend/src/data/types.ts b/frontend/src/data/types.ts index 3e7b8a6..b49861e 100644 --- a/frontend/src/data/types.ts +++ b/frontend/src/data/types.ts @@ -104,6 +104,8 @@ export type Status = { Analytics: boolean; CacheHitRatio: number; ClusterMode: boolean; + NoHealth: boolean; + NoLatest: boolean; }; export type ChartVersion = { diff --git a/main.go b/main.go index 4eac5dc..25af713 100644 --- a/main.go +++ b/main.go @@ -34,6 +34,8 @@ type options struct { Namespace string `short:"n" long:"namespace" description:"Namespace for HELM operations"` Devel bool `long:"devel" description:"Include development versions of charts"` LocalChart []string `long:"local-chart" description:"Specify location of local chart to include into UI"` + NoHealth bool `long:"no-health" description:"Disable health checks for installed charts"` + NoLatest bool `long:"no-latest" description:"Disable latest version checks for installed charts"` } func main() { @@ -62,6 +64,8 @@ func main() { NoTracking: opts.NoTracking, Devel: opts.Devel, LocalCharts: opts.LocalChart, + NoHealth: opts.NoHealth, + NoLatest: opts.NoLatest, } ctx, cancel := context.WithCancel(context.Background()) diff --git a/pkg/dashboard/handlers/helmHandlers.go b/pkg/dashboard/handlers/helmHandlers.go index fce14b5..e3a328d 100644 --- a/pkg/dashboard/handlers/helmHandlers.go +++ b/pkg/dashboard/handlers/helmHandlers.go @@ -148,7 +148,7 @@ func (h *HelmHandler) Resources(c *gin.Context) { //return } - if c.Query("health") != "" { // we need to query k8s for health status + if c.Query("health") != "" && !h.Data.StatusInfo.NoHealth { // we need to query k8s for health status app := h.GetApp(c) if app == nil { _ = c.AbortWithError(http.StatusInternalServerError, err) @@ -216,6 +216,11 @@ func (h *HelmHandler) RepoLatestVer(c *gin.Context) { return // sets error inside } + if h.Data.StatusInfo.NoLatest { + c.Status(http.StatusNoContent) + return + } + rep, err := app.Repositories.Containing(qp.Name) if err != nil { _ = c.AbortWithError(http.StatusInternalServerError, err) diff --git a/pkg/dashboard/objects/data.go b/pkg/dashboard/objects/data.go index b87d73b..3bfa726 100644 --- a/pkg/dashboard/objects/data.go +++ b/pkg/dashboard/objects/data.go @@ -41,6 +41,8 @@ type StatusInfo struct { Analytics bool CacheHitRatio float64 ClusterMode bool + NoHealth bool + NoLatest bool } func NewDataLayer(ns []string, ver string, cg HelmConfigGetter, devel bool) (*DataLayer, error) { diff --git a/pkg/dashboard/server.go b/pkg/dashboard/server.go index 068bdd1..7fd0e65 100644 --- a/pkg/dashboard/server.go +++ b/pkg/dashboard/server.go @@ -29,6 +29,8 @@ type Server struct { NoTracking bool Devel bool LocalCharts []string + NoHealth bool + NoLatest bool } func (s *Server) StartServer(ctx context.Context, cancel context.CancelFunc) (string, utils.ControlChan, error) { @@ -40,6 +42,9 @@ func (s *Server) StartServer(ctx context.Context, cancel context.CancelFunc) (st data.LocalCharts = s.LocalCharts data.StatusInfo.Analytics = (!s.NoTracking && s.Version != "0.0.0") || utils.EnvAsBool("HD_DEV_ANALYTICS", false) + data.StatusInfo.NoHealth = s.NoHealth || utils.EnvAsBool("HD_NO_HEALTH", false) + data.StatusInfo.NoLatest = s.NoLatest || utils.EnvAsBool("HD_NO_LATEST", false) + err = s.detectClusterMode(data) if err != nil { return "", nil, errorx.Decorate(err, "Failed to detect cluster mode") From aa2cc04084d0d44d9880a08bf63cdbf3cac03c2d Mon Sep 17 00:00:00 2001 From: S Kumar Dhananjaya <57564775+KumarDhananjaya@users.noreply.github.com> Date: Sat, 17 Jan 2026 22:11:09 +0530 Subject: [PATCH 7/8] Fix: resolve incorrect upgrade recommendation (#577) (#645) * added more info to features.md * added details to FEATURES.md * . * reset to last commit * Update FEATURES.md * fix: resolve incorrect upgrade recommendation (#577) --- frontend/src/layout/Header.tsx | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/frontend/src/layout/Header.tsx b/frontend/src/layout/Header.tsx index 44f31a8..fd4ace0 100644 --- a/frontend/src/layout/Header.tsx +++ b/frontend/src/layout/Header.tsx @@ -14,6 +14,7 @@ import LinkWithSearchParams from "../components/LinkWithSearchParams"; import apiService from "../API/apiService"; import { useAppContext } from "../context/AppContext"; import { useEffect, useEffectEvent } from "react"; +import { isNewerVersion } from "../utils"; export default function Header() { const { clusterMode, setClusterMode } = useAppContext(); @@ -124,7 +125,9 @@ export default function Header() { ]} />
  • - {"v" + statusData?.CurVer !== statusData?.LatestVer ? ( + {statusData?.CurVer && + statusData?.LatestVer && + isNewerVersion(statusData.CurVer, statusData.LatestVer) ? (
  • Date: Sun, 18 Jan 2026 19:47:00 +0530 Subject: [PATCH 8/8] Fix: resolve rollback to same revision bug (#569) (#646) * added more info to features.md * added details to FEATURES.md * . * reset to last commit * Update FEATURES.md * fix: resolve rollback to same revision bug (#578) --- frontend/src/components/revision/RevisionDetails.tsx | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/frontend/src/components/revision/RevisionDetails.tsx b/frontend/src/components/revision/RevisionDetails.tsx index b36d43f..d6c77a4 100644 --- a/frontend/src/components/revision/RevisionDetails.tsx +++ b/frontend/src/components/revision/RevisionDetails.tsx @@ -335,7 +335,9 @@ const Rollback = ({ useRollbackRelease({ onSuccess: async () => { await navigate( - `/${namespace}/${chart}/installed/revision/${revisionInt + 1}` + `/${namespace}/${chart}/installed/revision/${ + installedRevision.revision + 1 + }` ); window.location.reload(); }, @@ -387,7 +389,7 @@ const Rollback = ({ rollbackRelease({ ns: namespace, name: String(chart), - revision: release.revision, + revision: rollbackRevision, }); }, variant: ModalButtonStyle.info,