From 5a7c90a28a410ba0b63d67daa9130bb51dcf6504 Mon Sep 17 00:00:00 2001 From: Andrea Leardini Date: Mon, 27 Jul 2026 09:18:06 +0200 Subject: [PATCH 01/10] chore(ui): update module default logo --- ui/src/assets/module_default_logo.png | Bin 73225 -> 2374 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/ui/src/assets/module_default_logo.png b/ui/src/assets/module_default_logo.png index e31a72f7e8acbecbf3d2e4b9bed586aba0ec1c67..f719c00b28a8993db855cc161947c74629b3a0ab 100644 GIT binary patch literal 2374 zcmbVO`9ISS9R6%dQ)@6q7@z`ynV8Z)pNN9zuQHH@x0hdn^Fd-$nd#hwOX75cBgPgn&yS z;qF0RfW>9+tL{bh*&YA@V_BPF9V0-C1!wHUh^YQpUCQd2UZ`V!RUq3+l<=nKpY%J} z>os%>Jyq9^s?$~c$0}WIYuCy4%=OZ-L%tFouc-niSJC#T6W`wwuak$Dd>>ldg+jx< zy~A?6yk{A^yBPi_PhR|`+qKlO71On}bO!_xkt6n3RP=5-F~atBRfNbHyU^>W?<)d3@#m@}a#y=W zPP?K9a>3bDttg7>1>W-#(A35A3?>o6&dRN$!O4TN>JUDE)YOUOyF@xgu^J6J!2i;w zrFmO&kL4&Nfnc(Y%h&0mBW}~C7XTgZM`l{LmDAkf(h4g{P&<;VoaEK>8Ac8ROvS37 z-Ga}kXe%HSeDnlPgbrLhH0xc?d28gPy{V*K>JAd7L5xx2z_s&0&;K_CHi;DK9cl7b zc~fi%sf_=4R^*c3LDhf^@a#SDM_KiGid?@i{%)l}(3?Su=D@v-q4g5T3gbB2@n0Tc z9j)Qvo`SlHntAMRKIF^V(#B^a z?^s3?%~F^tCmyxp0%__h?Fcz>c8b++w(=08&ppiH{5 zi0Sw5NtVGvgfJ!cwu0wgI*Q!9UnrebNzicK@GORX$ig0Ae%aZhy(e%ae%%l_o1SOT zTS6if<=pd`cz$I1SoTTR&WWMkSJqECN1VgFwv#xkOS(5V#ki3_)pGYw{bMrtjFge~ zW$~qFS1;MDukMu9&&>8HA8#(KR(Ia=dI;+Pf82}cEWM-XGZzJorBAXf8^wXgziITz zC=AWvqN*8Z?#q#riu04~sv6)|&~nJAdYlW(vfCvZ8lMebMqq~e{r4V>7lGGT8F5|1 zZ|O^k%m4+v%pxyE|K#lM501w@$WXtllF0k#IX{NQJe6nsw7LFTawCR~!7IBAowP}# zxyJ9lqc(s8sIM@=om`-VFcSTmr&*9!aMrZ{#TFdXN%xqWUGVMP{SZ5dLtf>j5G9~& zb*}$?hNS4%ugS(8oAZ(SQ7Ul_SKqb9R_dlbcvT|E$)ain=uLe3)-Yi&iRayo?P{h2 zd}6GzE=FC7o+V}yhOq6P%)ha7|NA5(x?FHm2W_C&sHO$fX0_-l%&om!jJ$AeKJaeI zbsvkrOA*iPi&JHj0mJZ}zF8d$Ws=#0burGtU+aYp@t>MxG$mSIyQMsw8)G|HIh&=a zs8jHeDOO&Cbnu5vFi)b1YTuh{&Eb({#U}+SlQReu;-PcNN(j{B6~BmuLYH;Tcj0PS z?Q#3n8#%PKPajWN@)Exv>ZQdiJ=O}0!oAYQ+W@%*K_D)~ZA|c= zkdS%bR7W7DJaxqVVeqm{L0o2)-t%NTAckd0upHY|Gg|$qpl*XSLsMK*i);+NZSS}d zgEPZz5F{Xm)bvF*nomplRV%?+3=KQ`C#hP@6Uwh>%V)r9gm3Z9hSD^&40FJ(ZTZOl z%Lnpt7C`O9Lw%VOV$>zh7(sY;aTP2F8uggN%ljJYvyl(pq`J0>loej-S+YwwmpgiS zB1DXQe7&8frE6FEfL{~A;mq~d(&ep8ekusYOmp>FMTfI7nc)z`iaH3fZaQJjc?t?^bRJ8 zJDEQHqQ}fO-b?9#wln3G_~D+43hki}iC5Piac3Ed{gsCINYF%o@wiK{w3`wPp8CbH zV8$cP^(Q@i$_Ae^ig^yqRJa?b06riKDfT$hWZM92yED4K6V`BtyS8M%t%bcir{7(+ QKXU+Ua|g4>CgiyP0E#k0;{X5v literal 73225 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
}b7#xhv|^}uEX6LzQp^O|u9$U2sBHgCN38Gm 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 ^DretPq3u9Mb`BGQ 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 PAmGEAUofjP@ksg~i!h|G From f6d732d1eaa6f64575b833287a9f7371b4b7b59d Mon Sep 17 00:00:00 2001 From: Andrea Leardini Date: Mon, 27 Jul 2026 09:18:06 +0200 Subject: [PATCH 02/10] chore(ui): remove unwanted VS Code extensions from devcontainer --- .devcontainer/devcontainer.json | 1 - 1 file changed, 1 deletion(-) diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json index aaf8539f..713048ec 100644 --- a/.devcontainer/devcontainer.json +++ b/.devcontainer/devcontainer.json @@ -14,7 +14,6 @@ "dbaeumer.vscode-eslint", "esbenp.prettier-vscode", "octref.vetur", - "shenjiaolong.vue-helper", "streetsidesoftware.code-spell-checker" ] } From 812c312c285e045d994c1ccd79e57bfc4251ded1 Mon Sep 17 00:00:00 2001 From: Andrea Leardini Date: Mon, 27 Jul 2026 09:18:06 +0200 Subject: [PATCH 03/10] build(ui): tune webpack chunk size and silence sass deprecations --- ui/vue.config.js | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/ui/vue.config.js b/ui/vue.config.js index 20f96870..c60230bf 100644 --- a/ui/vue.config.js +++ b/ui/vue.config.js @@ -1,10 +1,18 @@ module.exports = { + css: { + loaderOptions: { + sass: { + sassOptions: { + silenceDeprecations: ["import", "global-builtin", "color-functions", "if-function", "legacy-js-api"], + }, + }, + }, + }, publicPath: "./", configureWebpack: { optimization: { splitChunks: { - minSize: 10000, - maxSize: 250000, + maxSize: 500000, }, }, }, From 90a0b1f6de391f62dfd82217a1a1140807b37f16 Mon Sep 17 00:00:00 2001 From: Andrea Leardini Date: Mon, 27 Jul 2026 09:18:06 +0200 Subject: [PATCH 04/10] chore(ui): disable no-console eslint rule --- ui/.eslintrc.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ui/.eslintrc.js b/ui/.eslintrc.js index 94b61b31..75603c23 100644 --- a/ui/.eslintrc.js +++ b/ui/.eslintrc.js @@ -8,7 +8,7 @@ module.exports = { parser: "@babel/eslint-parser", }, rules: { - "no-console": process.env.NODE_ENV === "production" ? "warn" : "off", + "no-console": "off", "no-debugger": process.env.NODE_ENV === "production" ? "warn" : "off", }, }; From 10270c5bfda57846e7c7a7e39d2ced3cd644892a Mon Sep 17 00:00:00 2001 From: Andrea Leardini Date: Mon, 27 Jul 2026 09:18:06 +0200 Subject: [PATCH 05/10] test(ui): import Browser inside the Take screenshots test --- tests/15__ui.robot | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/15__ui.robot b/tests/15__ui.robot index 55d1fe8e..7fae011f 100644 --- a/tests/15__ui.robot +++ b/tests/15__ui.robot @@ -1,5 +1,4 @@ *** Settings *** -Library Browser *** Variables *** ${ADMIN_USER} admin @@ -20,6 +19,7 @@ Login to cluster-admin Take screenshots [Tags] ui + Import Library Browser New Browser chromium headless=True New Context ignoreHTTPSErrors=True Login to cluster-admin From 23201ce4e641ef5fdb8f8fe195cc7a05fdaf9333 Mon Sep 17 00:00:00 2001 From: Andrea Leardini Date: Mon, 27 Jul 2026 09:18:06 +0200 Subject: [PATCH 06/10] build: require core >= 3.20.1 --- build-images.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build-images.sh b/build-images.sh index 64c20d31..9f4d0b4c 100644 --- a/build-images.sh +++ b/build-images.sh @@ -37,7 +37,7 @@ buildah add "${container}" ui/dist /ui # Setup the entrypoint, ask to reserve one TCP port with the label and set a rootless container buildah config --entrypoint=/ \ --label="org.nethserver.max-per-node=1" \ - --label="org.nethserver.min-core=3.6.0-0" \ + --label="org.nethserver.min-core=3.20.1" \ --label="org.nethserver.volumes=dovecot-data" \ --label="org.nethserver.images=$(printf "${repobase}/mail-%s:${IMAGETAG:-latest} " \ dovecot \ From 7e9799a37524472e3215e6c26436c8f6293cfbaa Mon Sep 17 00:00:00 2001 From: Andrea Leardini Date: Mon, 27 Jul 2026 09:18:23 +0200 Subject: [PATCH 07/10] build(ui): update axios --- ui/package.json | 2 +- ui/yarn.lock | 92 ++++++++++++++++++++++++++++++------------------- 2 files changed, 57 insertions(+), 37 deletions(-) diff --git a/ui/package.json b/ui/package.json index 2c42e902..8615b2bd 100644 --- a/ui/package.json +++ b/ui/package.json @@ -14,7 +14,7 @@ "@carbon/vue": "^2.40.0", "@nethserver/ns8-ui-lib": "^1.3.1", "await-to-js": "^3.0.0", - "axios": "^0.32.0", + "axios": "^1.18.1", "carbon-components": "^10.41.0", "core-js": "^3.6.5", "lottie-web-vue": "^1.2.0", diff --git a/ui/yarn.lock b/ui/yarn.lock index 2bdaf701..a98209e6 100644 --- a/ui/yarn.lock +++ b/ui/yarn.lock @@ -2659,6 +2659,15 @@ __metadata: languageName: node linkType: hard +"agent-base@npm:6": + version: 6.0.2 + resolution: "agent-base@npm:6.0.2" + dependencies: + debug: "npm:4" + checksum: 10c0/dc4f757e40b5f3e3d674bc9beb4f1048f4ee83af189bae39be99f57bf1f48dde166a8b0a5342a84b5944ee8e6ed1e5a9d801858f4ad44764e84957122fe46261 + languageName: node + linkType: hard + "ajv-errors@npm:^1.0.0": version: 1.0.1 resolution: "ajv-errors@npm:1.0.1" @@ -3016,14 +3025,15 @@ __metadata: languageName: node linkType: hard -"axios@npm:^0.32.0": - version: 0.32.0 - resolution: "axios@npm:0.32.0" +"axios@npm:^1.18.1": + version: 1.18.1 + resolution: "axios@npm:1.18.1" dependencies: - follow-redirects: "npm:^1.15.4" - form-data: "npm:^4.0.4" - proxy-from-env: "npm:^1.1.0" - checksum: 10c0/b4fe7ef169120aa8a6995c2d8301a0ef7d50eddbedc202ce23e6d6d9b349a7406bd40e7a38ba5f79b5b63b299b782fc219fd49bd473d07f024244243500cc94e + follow-redirects: "npm:^1.16.0" + form-data: "npm:^4.0.5" + https-proxy-agent: "npm:^5.0.1" + proxy-from-env: "npm:^2.1.0" + checksum: 10c0/9d9378a3af0d0ad730a52ad9d15ec7201f3926ad6e7e8bbffc5ae21ca2835ad11d1d9598698f5dd9718917486039f55ea1d7dc23d8e44fa827a55cc3262c02fc languageName: node linkType: hard @@ -4593,6 +4603,18 @@ __metadata: languageName: node linkType: hard +"debug@npm:4, debug@npm:^4.3.1, debug@npm:^4.4.3": + version: 4.4.3 + resolution: "debug@npm:4.4.3" + dependencies: + ms: "npm:^2.1.3" + peerDependenciesMeta: + supports-color: + optional: true + checksum: 10c0/d79136ec6c83ecbefd0f6a5593da6a9c91ec4d7ddc4b54c883d6e71ec9accb5f67a1a5e96d00a328196b5b5c86d365e98d8a3a70856aaf16b4e7b1985e67f5a6 + languageName: node + linkType: hard + "debug@npm:^3.1.1, debug@npm:^3.2.6": version: 3.2.7 resolution: "debug@npm:3.2.7" @@ -4614,18 +4636,6 @@ __metadata: languageName: node linkType: hard -"debug@npm:^4.3.1, debug@npm:^4.4.3": - version: 4.4.3 - resolution: "debug@npm:4.4.3" - dependencies: - ms: "npm:^2.1.3" - peerDependenciesMeta: - supports-color: - optional: true - checksum: 10c0/d79136ec6c83ecbefd0f6a5593da6a9c91ec4d7ddc4b54c883d6e71ec9accb5f67a1a5e96d00a328196b5b5c86d365e98d8a3a70856aaf16b4e7b1985e67f5a6 - languageName: node - linkType: hard - "decamelize@npm:^1.2.0": version: 1.2.0 resolution: "decamelize@npm:1.2.0" @@ -5960,13 +5970,13 @@ __metadata: languageName: node linkType: hard -"follow-redirects@npm:^1.15.4": - version: 1.15.11 - resolution: "follow-redirects@npm:1.15.11" +"follow-redirects@npm:^1.16.0": + version: 1.16.0 + resolution: "follow-redirects@npm:1.16.0" peerDependenciesMeta: debug: optional: true - checksum: 10c0/d301f430542520a54058d4aeeb453233c564aaccac835d29d15e050beb33f339ad67d9bddbce01739c5dc46a6716dbe3d9d0d5134b1ca203effa11a7ef092343 + checksum: 10c0/a1e2900163e6f1b4d1ed5c221b607f41decbab65534c63fe7e287e40a5d552a6496e7d9d7d976fa4ba77b4c51c11e5e9f683f10b43011ea11e442ff128d0e181 languageName: node linkType: hard @@ -5984,16 +5994,16 @@ __metadata: languageName: node linkType: hard -"form-data@npm:^4.0.4": - version: 4.0.5 - resolution: "form-data@npm:4.0.5" +"form-data@npm:^4.0.5": + version: 4.0.6 + resolution: "form-data@npm:4.0.6" dependencies: asynckit: "npm:^0.4.0" combined-stream: "npm:^1.0.8" es-set-tostringtag: "npm:^2.1.0" - hasown: "npm:^2.0.2" - mime-types: "npm:^2.1.12" - checksum: 10c0/dd6b767ee0bbd6d84039db12a0fa5a2028160ffbfaba1800695713b46ae974a5f6e08b3356c3195137f8530dcd9dfcb5d5ae1eeff53d0db1e5aad863b619ce3b + hasown: "npm:^2.0.4" + mime-types: "npm:^2.1.35" + checksum: 10c0/43947a77bf0ff45c6ceed789778982d47a3f3e720a74b71721174ebf3310a5f1a8be1d6b38a3ee3688e8a18a2c4273073ec0844cd37efda3eaf46d41c9c318ff languageName: node linkType: hard @@ -6516,7 +6526,7 @@ __metadata: languageName: node linkType: hard -"hasown@npm:^2.0.3": +"hasown@npm:^2.0.3, hasown@npm:^2.0.4": version: 2.0.4 resolution: "hasown@npm:2.0.4" dependencies: @@ -6765,6 +6775,16 @@ __metadata: languageName: node linkType: hard +"https-proxy-agent@npm:^5.0.1": + version: 5.0.1 + resolution: "https-proxy-agent@npm:5.0.1" + dependencies: + agent-base: "npm:6" + debug: "npm:4" + checksum: 10c0/6dd639f03434003577c62b27cafdb864784ef19b2de430d8ae2a1d45e31c4fd60719e5637b44db1a88a046934307da7089e03d6089ec3ddacc1189d8de8897d1 + languageName: node + linkType: hard + "human-signals@npm:^1.1.1": version: 1.1.1 resolution: "human-signals@npm:1.1.1" @@ -8090,7 +8110,7 @@ __metadata: languageName: node linkType: hard -"mime-types@npm:^2.1.12": +"mime-types@npm:^2.1.12, mime-types@npm:^2.1.35": version: 2.1.35 resolution: "mime-types@npm:2.1.35" dependencies: @@ -9766,10 +9786,10 @@ __metadata: languageName: node linkType: hard -"proxy-from-env@npm:^1.1.0": - version: 1.1.0 - resolution: "proxy-from-env@npm:1.1.0" - checksum: 10c0/fe7dd8b1bdbbbea18d1459107729c3e4a2243ca870d26d34c2c1bcd3e4425b7bcc5112362df2d93cc7fb9746f6142b5e272fd1cc5c86ddf8580175186f6ad42b +"proxy-from-env@npm:^2.1.0": + version: 2.1.0 + resolution: "proxy-from-env@npm:2.1.0" + checksum: 10c0/ed01729fd4d094eab619cd7e17ce3698b3413b31eb102c4904f9875e677cd207392795d5b4adee9cec359dfd31c44d5ad7595a3a3ad51c40250e141512281c58 languageName: node linkType: hard @@ -11633,7 +11653,7 @@ __metadata: "@vue/cli-service": "npm:~4.5.0" "@vue/eslint-config-prettier": "npm:^6.0.0" await-to-js: "npm:^3.0.0" - axios: "npm:^0.32.0" + axios: "npm:^1.18.1" carbon-components: "npm:^10.41.0" core-js: "npm:^3.6.5" eslint: "npm:^6.7.2" From b5a665fcf7ede392be533a153021457acb653955 Mon Sep 17 00:00:00 2001 From: Andrea Leardini Date: Mon, 27 Jul 2026 09:18:32 +0200 Subject: [PATCH 08/10] build(ui): update Vue to 2.7 --- ui/package.json | 16 ++++++------- ui/yarn.lock | 62 ++++++++++++++++--------------------------------- 2 files changed, 28 insertions(+), 50 deletions(-) diff --git a/ui/package.json b/ui/package.json index 8615b2bd..1b48220e 100644 --- a/ui/package.json +++ b/ui/package.json @@ -19,30 +19,30 @@ "core-js": "^3.6.5", "lottie-web-vue": "^1.2.0", "sass": "^1.34.1", - "vue": "^2.6.11", + "vue": "^2.7.0", "vue-axios": "^3.2.4", "vue-date-fns": "^2.0.1", "vue-i18n": "^8.24.4", "vue-infinite-loading": "^2.4.5", + "vue-loader": "^15.10.0", "vue-router": "^3.2.0", "vue2-debounce": "^1.0.1", "vuex": "^3.4.0" }, "devDependencies": { "@babel/eslint-parser": "^7.11.0", - "@vue/cli-plugin-babel": "~4.5.0", - "@vue/cli-plugin-eslint": "~4.5.0", - "@vue/cli-plugin-router": "~4.5.0", - "@vue/cli-plugin-vuex": "~4.5.0", - "@vue/cli-service": "~4.5.0", + "@vue/cli-plugin-babel": "~4.5.18", + "@vue/cli-plugin-eslint": "~4.5.18", + "@vue/cli-plugin-router": "~4.5.18", + "@vue/cli-plugin-vuex": "~4.5.18", + "@vue/cli-service": "~4.5.18", "@vue/eslint-config-prettier": "^6.0.0", "eslint": "^6.7.2", "eslint-plugin-prettier": "^3.3.1", "eslint-plugin-vue": "^6.2.2", "mark.js": "^8.11.1", "prettier": "^2.2.1", - "sass-loader": "^10.1.1", - "vue-template-compiler": "^2.6.11" + "sass-loader": "^10.1.1" }, "resolutions": { "@babel/traverse": "7.29.7" diff --git a/ui/yarn.lock b/ui/yarn.lock index a98209e6..a26a4cca 100644 --- a/ui/yarn.lock +++ b/ui/yarn.lock @@ -2114,7 +2114,7 @@ __metadata: languageName: node linkType: hard -"@vue/cli-plugin-babel@npm:~4.5.0": +"@vue/cli-plugin-babel@npm:~4.5.18": version: 4.5.19 resolution: "@vue/cli-plugin-babel@npm:4.5.19" dependencies: @@ -2131,7 +2131,7 @@ __metadata: languageName: node linkType: hard -"@vue/cli-plugin-eslint@npm:~4.5.0": +"@vue/cli-plugin-eslint@npm:~4.5.18": version: 4.5.19 resolution: "@vue/cli-plugin-eslint@npm:4.5.19" dependencies: @@ -2148,7 +2148,7 @@ __metadata: languageName: node linkType: hard -"@vue/cli-plugin-router@npm:^4.5.19, @vue/cli-plugin-router@npm:~4.5.0": +"@vue/cli-plugin-router@npm:^4.5.19, @vue/cli-plugin-router@npm:~4.5.18": version: 4.5.19 resolution: "@vue/cli-plugin-router@npm:4.5.19" dependencies: @@ -2159,7 +2159,7 @@ __metadata: languageName: node linkType: hard -"@vue/cli-plugin-vuex@npm:^4.5.19, @vue/cli-plugin-vuex@npm:~4.5.0": +"@vue/cli-plugin-vuex@npm:^4.5.19, @vue/cli-plugin-vuex@npm:~4.5.18": version: 4.5.19 resolution: "@vue/cli-plugin-vuex@npm:4.5.19" peerDependencies: @@ -2168,7 +2168,7 @@ __metadata: languageName: node linkType: hard -"@vue/cli-service@npm:~4.5.0": +"@vue/cli-service@npm:~4.5.18": version: 4.5.19 resolution: "@vue/cli-service@npm:4.5.19" dependencies: @@ -4587,13 +4587,6 @@ __metadata: languageName: node linkType: hard -"de-indent@npm:^1.0.2": - version: 1.0.2 - resolution: "de-indent@npm:1.0.2" - checksum: 10c0/7058ce58abd6dfc123dd204e36be3797abd419b59482a634605420f47ae97639d0c183ec5d1b904f308a01033f473673897afc2bd59bc620ebf1658763ef4291 - languageName: node - linkType: hard - "debug@npm:2.6.9, debug@npm:^2.2.0, debug@npm:^2.3.3": version: 2.6.9 resolution: "debug@npm:2.6.9" @@ -6535,7 +6528,7 @@ __metadata: languageName: node linkType: hard -"he@npm:1.2.x, he@npm:^1.1.0": +"he@npm:1.2.x": version: 1.2.0 resolution: "he@npm:1.2.0" bin: @@ -11646,11 +11639,11 @@ __metadata: "@carbon/icons-vue": "npm:^10.37.0" "@carbon/vue": "npm:^2.40.0" "@nethserver/ns8-ui-lib": "npm:^1.3.1" - "@vue/cli-plugin-babel": "npm:~4.5.0" - "@vue/cli-plugin-eslint": "npm:~4.5.0" - "@vue/cli-plugin-router": "npm:~4.5.0" - "@vue/cli-plugin-vuex": "npm:~4.5.0" - "@vue/cli-service": "npm:~4.5.0" + "@vue/cli-plugin-babel": "npm:~4.5.18" + "@vue/cli-plugin-eslint": "npm:~4.5.18" + "@vue/cli-plugin-router": "npm:~4.5.18" + "@vue/cli-plugin-vuex": "npm:~4.5.18" + "@vue/cli-service": "npm:~4.5.18" "@vue/eslint-config-prettier": "npm:^6.0.0" await-to-js: "npm:^3.0.0" axios: "npm:^1.18.1" @@ -11664,13 +11657,13 @@ __metadata: prettier: "npm:^2.2.1" sass: "npm:^1.34.1" sass-loader: "npm:^10.1.1" - vue: "npm:^2.6.11" + vue: "npm:^2.7.0" vue-axios: "npm:^3.2.4" vue-date-fns: "npm:^2.0.1" vue-i18n: "npm:^8.24.4" vue-infinite-loading: "npm:^2.4.5" + vue-loader: "npm:^15.10.0" vue-router: "npm:^3.2.0" - vue-template-compiler: "npm:^2.6.11" vue2-debounce: "npm:^1.0.1" vuex: "npm:^3.4.0" languageName: unknown @@ -12085,9 +12078,9 @@ __metadata: languageName: node linkType: hard -"vue-loader@npm:^15.9.2": - version: 15.9.7 - resolution: "vue-loader@npm:15.9.7" +"vue-loader@npm:^15.10.0, vue-loader@npm:^15.9.2": + version: 15.11.1 + resolution: "vue-loader@npm:15.11.1" dependencies: "@vue/component-compiler-utils": "npm:^3.1.0" hash-sum: "npm:^1.0.2" @@ -12100,9 +12093,11 @@ __metadata: peerDependenciesMeta: cache-loader: optional: true + prettier: + optional: true vue-template-compiler: optional: true - checksum: 10c0/71a517e6a1c726886f6c0937d2641ba7fd3e4a269805e5d17c302cc3cc4391bd5c12f70122e8a004271b6ae76c519c6cfd2661b9809ab70d5f02c382204edd3e + checksum: 10c0/22491414f3743d485cf8d966837314706abf35d330bf055e356d55f16df8d4ab21fb712c7168509f7492d62cdf799aedf8d31df36d89bd5a4479b9f90fa094c1 languageName: node linkType: hard @@ -12123,16 +12118,6 @@ __metadata: languageName: node linkType: hard -"vue-template-compiler@npm:^2.6.11": - version: 2.6.14 - resolution: "vue-template-compiler@npm:2.6.14" - dependencies: - de-indent: "npm:^1.0.2" - he: "npm:^1.1.0" - checksum: 10c0/59ec9eded8b5d3ff97fac8e22bd208d6b3ca52f5eceacd47bf8b686c12f43d2bfa9f64514e7ec83bb76733a1872c28cab2d8502d8f2f9e728093e11249f0d62d - languageName: node - linkType: hard - "vue-template-es2015-compiler@npm:^1.9.0": version: 1.9.1 resolution: "vue-template-es2015-compiler@npm:1.9.1" @@ -12149,14 +12134,7 @@ __metadata: languageName: node linkType: hard -"vue@npm:^2.6.11": - version: 2.6.14 - resolution: "vue@npm:2.6.14" - checksum: 10c0/efbe26ccc7c1bd025b88e464ebc81217b92350a77b98049122a46ac2242e249719f930d3914e2efdeaaa521a51e6e6b1cb9ffbf95b4835ed94dc92efb481040f - languageName: node - linkType: hard - -"vue@npm:^2.7.10": +"vue@npm:^2.7.0, vue@npm:^2.7.10": version: 2.7.16 resolution: "vue@npm:2.7.16" dependencies: From dda76ffe2a9886968f3f182b7628765509b2bd8b Mon Sep 17 00:00:00 2001 From: Andrea Leardini Date: Mon, 27 Jul 2026 09:18:34 +0200 Subject: [PATCH 09/10] build(ui): update ns8-ui-lib to latest 2.x --- ui/package.json | 2 +- ui/yarn.lock | 10 +++++----- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/ui/package.json b/ui/package.json index 1b48220e..0e2545e2 100644 --- a/ui/package.json +++ b/ui/package.json @@ -12,7 +12,7 @@ "dependencies": { "@carbon/icons-vue": "^10.37.0", "@carbon/vue": "^2.40.0", - "@nethserver/ns8-ui-lib": "^1.3.1", + "@nethserver/ns8-ui-lib": "^2.0.0", "await-to-js": "^3.0.0", "axios": "^1.18.1", "carbon-components": "^10.41.0", diff --git a/ui/yarn.lock b/ui/yarn.lock index a26a4cca..900b3d48 100644 --- a/ui/yarn.lock +++ b/ui/yarn.lock @@ -1460,9 +1460,9 @@ __metadata: languageName: node linkType: hard -"@nethserver/ns8-ui-lib@npm:^1.3.1": - version: 1.12.4 - resolution: "@nethserver/ns8-ui-lib@npm:1.12.4" +"@nethserver/ns8-ui-lib@npm:^2.0.0": + version: 2.0.0 + resolution: "@nethserver/ns8-ui-lib@npm:2.0.0" dependencies: "@rollup/plugin-json": "npm:^4.1.0" core-js: "npm:^3.15.2" @@ -1471,7 +1471,7 @@ __metadata: vue-date-fns: "npm:^2.0.1" peerDependencies: vue: ^2.6.12 - checksum: 10c0/dfd6475dbf462280ca43002ef504f95e21bc5f842312020e79cfc1e7f1e7389cbcbef290c70376aa37876cd89f37a9fe3cceaf0e645df7ff7420573740d3f5dd + checksum: 10c0/4a238e4dcd8ae988cf6a5ed2c041507cdf8341e80f832e45c7fd5049a290b5c44a1731a38db4efd08b7835b2aaf6da99c6972a59202e5d882359081809faabb4 languageName: node linkType: hard @@ -11638,7 +11638,7 @@ __metadata: "@babel/eslint-parser": "npm:^7.11.0" "@carbon/icons-vue": "npm:^10.37.0" "@carbon/vue": "npm:^2.40.0" - "@nethserver/ns8-ui-lib": "npm:^1.3.1" + "@nethserver/ns8-ui-lib": "npm:^2.0.0" "@vue/cli-plugin-babel": "npm:~4.5.18" "@vue/cli-plugin-eslint": "npm:~4.5.18" "@vue/cli-plugin-router": "npm:~4.5.18" From ffb59db23f4871512fde3c29e80215e2a3f52fe8 Mon Sep 17 00:00:00 2001 From: Andrea Leardini Date: Mon, 27 Jul 2026 09:18:36 +0200 Subject: [PATCH 10/10] style(ui): format code with prettier --- ui/src/components/AppMobileSideMenu.vue | 8 +------- ui/src/views/Status.vue | 4 +++- ui/src/views/settings/SettingsMailboxes.vue | 4 +++- 3 files changed, 7 insertions(+), 9 deletions(-) diff --git a/ui/src/components/AppMobileSideMenu.vue b/ui/src/components/AppMobileSideMenu.vue index 523e16ff..e46e91a4 100644 --- a/ui/src/components/AppMobileSideMenu.vue +++ b/ui/src/components/AppMobileSideMenu.vue @@ -6,13 +6,7 @@
diff --git a/ui/src/views/Status.vue b/ui/src/views/Status.vue index a25760af..845beb1c 100644 --- a/ui/src/views/Status.vue +++ b/ui/src/views/Status.vue @@ -150,7 +150,9 @@ :totalFileCountLabel="core.$t('backup.total_file_count')" :backupDisabledLabel="core.$t('common.disabled')" :showMoreLabel="core.$t('common.show_more')" - :multipleUncertainStatusLabel="core.$t('backup.some_backups_failed_or_are_pending')" + :multipleUncertainStatusLabel=" + core.$t('backup.some_backups_failed_or_are_pending') + " :moduleId="instanceName" :moduleUiName="instanceLabel" :repositories="backupRepositories" diff --git a/ui/src/views/settings/SettingsMailboxes.vue b/ui/src/views/settings/SettingsMailboxes.vue index 74eede13..221a0b67 100644 --- a/ui/src/views/settings/SettingsMailboxes.vue +++ b/ui/src/views/settings/SettingsMailboxes.vue @@ -203,7 +203,9 @@