diff --git a/src-ui/package-lock.json b/src-ui/package-lock.json
index 4f927789f..454e3e2d9 100644
--- a/src-ui/package-lock.json
+++ b/src-ui/package-lock.json
@@ -8,14 +8,14 @@
       "name": "paperless-ui",
       "version": "0.0.0",
       "dependencies": {
-        "@angular/common": "~15.2.7",
-        "@angular/compiler": "~15.2.7",
-        "@angular/core": "~15.2.7",
-        "@angular/forms": "~15.2.7",
-        "@angular/localize": "~15.2.7",
-        "@angular/platform-browser": "~15.2.7",
-        "@angular/platform-browser-dynamic": "~15.2.7",
-        "@angular/router": "~15.2.7",
+        "@angular/common": "~15.2.8",
+        "@angular/compiler": "~15.2.8",
+        "@angular/core": "~15.2.8",
+        "@angular/forms": "~15.2.8",
+        "@angular/localize": "~15.2.8",
+        "@angular/platform-browser": "~15.2.8",
+        "@angular/platform-browser-dynamic": "~15.2.8",
+        "@angular/router": "~15.2.8",
         "@ng-bootstrap/ng-bootstrap": "^14.1.0",
         "@ng-select/ng-select": "^10.0.4",
         "@ngneat/dirty-check-forms": "^3.0.3",
@@ -42,7 +42,7 @@
         "@angular-eslint/schematics": "15.2.1",
         "@angular-eslint/template-parser": "15.2.1",
         "@angular/cli": "~15.2.7",
-        "@angular/compiler-cli": "~15.2.7",
+        "@angular/compiler-cli": "~15.2.8",
         "@types/jest": "^29.5.0",
         "@types/node": "^18.15.11",
         "@typescript-eslint/eslint-plugin": "^5.58.0",
@@ -306,12 +306,12 @@
       }
     },
     "node_modules/@angular-devkit/architect": {
-      "version": "0.1502.6",
-      "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.1502.6.tgz",
-      "integrity": "sha512-n4oJ9vzFWwabf+AfgqqevVzdJhNKNCav7ytefjD/Y01vkNwlXqWnHcvyyHCLkVibJ6WR8J9lK4t77j/HFlDvWQ==",
-      "dev": true,
+      "version": "0.1502.7",
+      "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.1502.7.tgz",
+      "integrity": "sha512-MzB6D/yUo6cBJfQ31zNDHJ3C3iKmBtxP3i9WIRnnkZwS1VUfO8OX3TZ6lycYbREF1oL/AQ/r9GK+KA5DNEBSAw==",
+      "devOptional": true,
       "dependencies": {
-        "@angular-devkit/core": "15.2.6",
+        "@angular-devkit/core": "15.2.7",
         "rxjs": "6.6.7"
       },
       "engines": {
@@ -324,7 +324,7 @@
       "version": "6.6.7",
       "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz",
       "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==",
-      "dev": true,
+      "devOptional": true,
       "dependencies": {
         "tslib": "^1.9.0"
       },
@@ -336,18 +336,18 @@
       "version": "1.14.1",
       "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz",
       "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==",
-      "dev": true
+      "devOptional": true
     },
     "node_modules/@angular-devkit/build-angular": {
-      "version": "15.2.6",
-      "resolved": "https://registry.npmjs.org/@angular-devkit/build-angular/-/build-angular-15.2.6.tgz",
-      "integrity": "sha512-OmMcdXXUrAdZNxwxDE8SUx1FMcq9FyMnrSv1PmP9sHPBoxAdBVc/qNdGA9V7C5yHvWHGgzsx7ZK5TDuvifzS5g==",
+      "version": "15.2.7",
+      "resolved": "https://registry.npmjs.org/@angular-devkit/build-angular/-/build-angular-15.2.7.tgz",
+      "integrity": "sha512-zZ+tlt5aNGY9APUdjQHeVFJpVLeixlZRNHmfdXD+rN4WR2q9E0pTvLUThrkOmO8YrVyGbdvcw1O7XNdL+3b02w==",
       "dev": true,
       "dependencies": {
         "@ampproject/remapping": "2.2.0",
-        "@angular-devkit/architect": "0.1502.6",
-        "@angular-devkit/build-webpack": "0.1502.6",
-        "@angular-devkit/core": "15.2.6",
+        "@angular-devkit/architect": "0.1502.7",
+        "@angular-devkit/build-webpack": "0.1502.7",
+        "@angular-devkit/core": "15.2.7",
         "@babel/core": "7.20.12",
         "@babel/generator": "7.20.14",
         "@babel/helper-annotate-as-pure": "7.18.6",
@@ -359,7 +359,7 @@
         "@babel/runtime": "7.20.13",
         "@babel/template": "7.20.7",
         "@discoveryjs/json-ext": "0.5.7",
-        "@ngtools/webpack": "15.2.6",
+        "@ngtools/webpack": "15.2.7",
         "ansi-colors": "4.1.3",
         "autoprefixer": "10.4.13",
         "babel-loader": "9.1.2",
@@ -479,12 +479,12 @@
       "dev": true
     },
     "node_modules/@angular-devkit/build-webpack": {
-      "version": "0.1502.6",
-      "resolved": "https://registry.npmjs.org/@angular-devkit/build-webpack/-/build-webpack-0.1502.6.tgz",
-      "integrity": "sha512-X7XQ11QDz2Bs5qpJ3a5glIytvI+S74ORQxdzvT6a6KB8ayW0SgZEhTwD+GF7pa5My8draIaXBGzzQR1qmpWK5Q==",
+      "version": "0.1502.7",
+      "resolved": "https://registry.npmjs.org/@angular-devkit/build-webpack/-/build-webpack-0.1502.7.tgz",
+      "integrity": "sha512-sNE4t4shSwxagqm+jdojbkYfuo/CHNMi4faItDWTTsCOf9wQxCxV4Waxee4akAkv3K6fzrnZy3ad/oQQMUl0Iw==",
       "dev": true,
       "dependencies": {
-        "@angular-devkit/architect": "0.1502.6",
+        "@angular-devkit/architect": "0.1502.7",
         "rxjs": "6.6.7"
       },
       "engines": {
@@ -516,10 +516,10 @@
       "dev": true
     },
     "node_modules/@angular-devkit/core": {
-      "version": "15.2.6",
-      "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-15.2.6.tgz",
-      "integrity": "sha512-YVTWZ+M+xNKdFX4EnY9QX49PZraawiaA0iTd2CUW8ZoTUvU7yOGMKZLSdz6aokTMRVfm0449wt6YL994ibOo1g==",
-      "dev": true,
+      "version": "15.2.7",
+      "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-15.2.7.tgz",
+      "integrity": "sha512-k2MKUm4ygTD9+89neqMmBphDr0o8Tp9RtgfzbS8VHgGkGYlbu0KPsxHyHB3Mvzl1EkSz6EHyrU3t89m+Rcj1lw==",
+      "devOptional": true,
       "dependencies": {
         "ajv": "8.12.0",
         "ajv-formats": "2.1.1",
@@ -545,7 +545,7 @@
       "version": "6.6.7",
       "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz",
       "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==",
-      "dev": true,
+      "devOptional": true,
       "dependencies": {
         "tslib": "^1.9.0"
       },
@@ -557,7 +557,7 @@
       "version": "1.14.1",
       "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz",
       "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==",
-      "dev": true
+      "devOptional": true
     },
     "node_modules/@angular-devkit/schematics": {
       "version": "15.2.7",
@@ -577,32 +577,6 @@
         "yarn": ">= 1.13.0"
       }
     },
-    "node_modules/@angular-devkit/schematics/node_modules/@angular-devkit/core": {
-      "version": "15.2.7",
-      "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-15.2.7.tgz",
-      "integrity": "sha512-k2MKUm4ygTD9+89neqMmBphDr0o8Tp9RtgfzbS8VHgGkGYlbu0KPsxHyHB3Mvzl1EkSz6EHyrU3t89m+Rcj1lw==",
-      "devOptional": true,
-      "dependencies": {
-        "ajv": "8.12.0",
-        "ajv-formats": "2.1.1",
-        "jsonc-parser": "3.2.0",
-        "rxjs": "6.6.7",
-        "source-map": "0.7.4"
-      },
-      "engines": {
-        "node": "^14.20.0 || ^16.13.0 || >=18.10.0",
-        "npm": "^6.11.0 || ^7.5.6 || >=8.0.0",
-        "yarn": ">= 1.13.0"
-      },
-      "peerDependencies": {
-        "chokidar": "^3.5.2"
-      },
-      "peerDependenciesMeta": {
-        "chokidar": {
-          "optional": true
-        }
-      }
-    },
     "node_modules/@angular-devkit/schematics/node_modules/magic-string": {
       "version": "0.29.0",
       "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.29.0.tgz",
@@ -759,69 +733,10 @@
         "yarn": ">= 1.13.0"
       }
     },
-    "node_modules/@angular/cli/node_modules/@angular-devkit/architect": {
-      "version": "0.1502.7",
-      "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.1502.7.tgz",
-      "integrity": "sha512-MzB6D/yUo6cBJfQ31zNDHJ3C3iKmBtxP3i9WIRnnkZwS1VUfO8OX3TZ6lycYbREF1oL/AQ/r9GK+KA5DNEBSAw==",
-      "devOptional": true,
-      "dependencies": {
-        "@angular-devkit/core": "15.2.7",
-        "rxjs": "6.6.7"
-      },
-      "engines": {
-        "node": "^14.20.0 || ^16.13.0 || >=18.10.0",
-        "npm": "^6.11.0 || ^7.5.6 || >=8.0.0",
-        "yarn": ">= 1.13.0"
-      }
-    },
-    "node_modules/@angular/cli/node_modules/@angular-devkit/core": {
-      "version": "15.2.7",
-      "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-15.2.7.tgz",
-      "integrity": "sha512-k2MKUm4ygTD9+89neqMmBphDr0o8Tp9RtgfzbS8VHgGkGYlbu0KPsxHyHB3Mvzl1EkSz6EHyrU3t89m+Rcj1lw==",
-      "devOptional": true,
-      "dependencies": {
-        "ajv": "8.12.0",
-        "ajv-formats": "2.1.1",
-        "jsonc-parser": "3.2.0",
-        "rxjs": "6.6.7",
-        "source-map": "0.7.4"
-      },
-      "engines": {
-        "node": "^14.20.0 || ^16.13.0 || >=18.10.0",
-        "npm": "^6.11.0 || ^7.5.6 || >=8.0.0",
-        "yarn": ">= 1.13.0"
-      },
-      "peerDependencies": {
-        "chokidar": "^3.5.2"
-      },
-      "peerDependenciesMeta": {
-        "chokidar": {
-          "optional": true
-        }
-      }
-    },
-    "node_modules/@angular/cli/node_modules/rxjs": {
-      "version": "6.6.7",
-      "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz",
-      "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==",
-      "devOptional": true,
-      "dependencies": {
-        "tslib": "^1.9.0"
-      },
-      "engines": {
-        "npm": ">=2.0.0"
-      }
-    },
-    "node_modules/@angular/cli/node_modules/tslib": {
-      "version": "1.14.1",
-      "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz",
-      "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==",
-      "devOptional": true
-    },
     "node_modules/@angular/common": {
-      "version": "15.2.7",
-      "resolved": "https://registry.npmjs.org/@angular/common/-/common-15.2.7.tgz",
-      "integrity": "sha512-CbmrQeZ0yChQrF/ab3v+gv6x2uLbv/s1wZNUBSO/p1STz6BZzHRJqObVlfPlQvyBx5btBBy/+I1sUh1yumARDA==",
+      "version": "15.2.8",
+      "resolved": "https://registry.npmjs.org/@angular/common/-/common-15.2.8.tgz",
+      "integrity": "sha512-yLDQihiRcVl38HrWMPbqgzOaSUw85AQH5BsGdjbS6BpoBQj3EXOpccCMFsuxOKxPG4toatgawNqrEnK0Jpv9Mw==",
       "dependencies": {
         "tslib": "^2.3.0"
       },
@@ -829,14 +744,14 @@
         "node": "^14.20.0 || ^16.13.0 || >=18.10.0"
       },
       "peerDependencies": {
-        "@angular/core": "15.2.7",
+        "@angular/core": "15.2.8",
         "rxjs": "^6.5.3 || ^7.4.0"
       }
     },
     "node_modules/@angular/compiler": {
-      "version": "15.2.7",
-      "resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-15.2.7.tgz",
-      "integrity": "sha512-SesyYI2ExUa13XukXgIsmfg3ar90HbWeWDJTgmzsIfph0M9t6+SaPGpf3FCtdBgNADIpUFp3cieCOJgLESzxYQ==",
+      "version": "15.2.8",
+      "resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-15.2.8.tgz",
+      "integrity": "sha512-+dvspIDvuGoYqdL7r/3o9ojkR3fH1zevgC0ISJivcIrMi+WcJ0FV2JmJdnm8V52oNsHy+sMF9eEZGEbCbACE/A==",
       "dependencies": {
         "tslib": "^2.3.0"
       },
@@ -844,7 +759,7 @@
         "node": "^14.20.0 || ^16.13.0 || >=18.10.0"
       },
       "peerDependencies": {
-        "@angular/core": "15.2.7"
+        "@angular/core": "15.2.8"
       },
       "peerDependenciesMeta": {
         "@angular/core": {
@@ -853,9 +768,9 @@
       }
     },
     "node_modules/@angular/compiler-cli": {
-      "version": "15.2.7",
-      "resolved": "https://registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-15.2.7.tgz",
-      "integrity": "sha512-4v51dOaT8GDUzRh6+mCLZOaYuU9FYX6vOHaLod9np3tVWPhcpoF2ZklRSiQDeFqrhr5B4vuCp/Lh9N2wzc22XQ==",
+      "version": "15.2.8",
+      "resolved": "https://registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-15.2.8.tgz",
+      "integrity": "sha512-fFxaDlbILo0t2t662qA0cjgn+kWItGlc1tFYKU6X7bvYb3t2e0cd9FzrFPLXUQVboGis83ULcJ2zkDxScnuPuQ==",
       "dependencies": {
         "@babel/core": "7.19.3",
         "@jridgewell/sourcemap-codec": "^1.4.14",
@@ -877,7 +792,7 @@
         "node": "^14.20.0 || ^16.13.0 || >=18.10.0"
       },
       "peerDependencies": {
-        "@angular/compiler": "15.2.7",
+        "@angular/compiler": "15.2.8",
         "typescript": ">=4.8.2 <5.0"
       }
     },
@@ -919,9 +834,9 @@
       }
     },
     "node_modules/@angular/core": {
-      "version": "15.2.7",
-      "resolved": "https://registry.npmjs.org/@angular/core/-/core-15.2.7.tgz",
-      "integrity": "sha512-iS7JCJubRFqdndoUdAnvNkQRT3tY5tNFupBQS/sytkwxVrdBg+Is5jpdgk741n824vTMsE+CnuY0SETar8rN6g==",
+      "version": "15.2.8",
+      "resolved": "https://registry.npmjs.org/@angular/core/-/core-15.2.8.tgz",
+      "integrity": "sha512-NDs+g4uM4EhyCvluf8a0YBCFXsDAEfCMHOD5cS00Bl+liTQ7JwtmepkWXMyjLB92irC9JaR79kdy4BoIKOh8WA==",
       "dependencies": {
         "tslib": "^2.3.0"
       },
@@ -934,9 +849,9 @@
       }
     },
     "node_modules/@angular/forms": {
-      "version": "15.2.7",
-      "resolved": "https://registry.npmjs.org/@angular/forms/-/forms-15.2.7.tgz",
-      "integrity": "sha512-rzrebDIrtxxOeMcBzRBxqaOBZ+T1DJrysG/6YWZy428W/Z3MfPxUarPxgfx/oZI+x5uUsDaZmyoRdhVPJ2KhZg==",
+      "version": "15.2.8",
+      "resolved": "https://registry.npmjs.org/@angular/forms/-/forms-15.2.8.tgz",
+      "integrity": "sha512-VyevVj20DdQWjAQUyiFTe+DAzqG9GqfAOWn376Y/lhPcwxAojXePTGNgtQud566/urDrNrP5haaLD6O36/3n+w==",
       "dependencies": {
         "tslib": "^2.3.0"
       },
@@ -944,16 +859,16 @@
         "node": "^14.20.0 || ^16.13.0 || >=18.10.0"
       },
       "peerDependencies": {
-        "@angular/common": "15.2.7",
-        "@angular/core": "15.2.7",
-        "@angular/platform-browser": "15.2.7",
+        "@angular/common": "15.2.8",
+        "@angular/core": "15.2.8",
+        "@angular/platform-browser": "15.2.8",
         "rxjs": "^6.5.3 || ^7.4.0"
       }
     },
     "node_modules/@angular/localize": {
-      "version": "15.2.7",
-      "resolved": "https://registry.npmjs.org/@angular/localize/-/localize-15.2.7.tgz",
-      "integrity": "sha512-ySuy35QKApWH9sW3PfnAAnZjLl3NT+SacvlEWigrTeCqfBEuDPUG57ugvc1/Lzuo09UOh3HQkrQBbdWAILd8JA==",
+      "version": "15.2.8",
+      "resolved": "https://registry.npmjs.org/@angular/localize/-/localize-15.2.8.tgz",
+      "integrity": "sha512-wJLBp0MUnET9kHzBtqIlZ3RQ56JFItXSgmBXagQq+MU+uJZmGvuw6fez0i5wkgv9Rgnr25oCULVtpTF+T5RGYA==",
       "dependencies": {
         "@babel/core": "7.19.3",
         "glob": "8.1.0",
@@ -968,8 +883,8 @@
         "node": "^14.20.0 || ^16.13.0 || >=18.10.0"
       },
       "peerDependencies": {
-        "@angular/compiler": "15.2.7",
-        "@angular/compiler-cli": "15.2.7"
+        "@angular/compiler": "15.2.8",
+        "@angular/compiler-cli": "15.2.8"
       }
     },
     "node_modules/@angular/localize/node_modules/@babel/core": {
@@ -1010,9 +925,9 @@
       }
     },
     "node_modules/@angular/platform-browser": {
-      "version": "15.2.7",
-      "resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-15.2.7.tgz",
-      "integrity": "sha512-aCbd7xyuP7c2eDITkOTDO2mqP550WHCBN8U6VnjysqtB5ocbJtR6z/MIRItN/Zx+xj3piiaKei//XIkb3Q5fXQ==",
+      "version": "15.2.8",
+      "resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-15.2.8.tgz",
+      "integrity": "sha512-8sKFUld54inj0FnQ1ydhFxnDgsbbf43W9FALye/5uEtLgwwE/ZvkNYMaQ7hq1JPuQRMDj3gJkFqaLeFjplpHDA==",
       "dependencies": {
         "tslib": "^2.3.0"
       },
@@ -1020,9 +935,9 @@
         "node": "^14.20.0 || ^16.13.0 || >=18.10.0"
       },
       "peerDependencies": {
-        "@angular/animations": "15.2.7",
-        "@angular/common": "15.2.7",
-        "@angular/core": "15.2.7"
+        "@angular/animations": "15.2.8",
+        "@angular/common": "15.2.8",
+        "@angular/core": "15.2.8"
       },
       "peerDependenciesMeta": {
         "@angular/animations": {
@@ -1031,9 +946,9 @@
       }
     },
     "node_modules/@angular/platform-browser-dynamic": {
-      "version": "15.2.7",
-      "resolved": "https://registry.npmjs.org/@angular/platform-browser-dynamic/-/platform-browser-dynamic-15.2.7.tgz",
-      "integrity": "sha512-t1Nf7hgbcYvhmxuzgUtsV47jrI5CXUBqrtz5I0ilWG92zZTig5qvfd1/2Ub8NHz87uHNrnggyZpL2+4MJ26nyQ==",
+      "version": "15.2.8",
+      "resolved": "https://registry.npmjs.org/@angular/platform-browser-dynamic/-/platform-browser-dynamic-15.2.8.tgz",
+      "integrity": "sha512-75HyoZNibA3u/FvdK4Aw5KMzUmS/nDk5N8s7gfM09fe1resSPgFiW8JJEkr1xiUdA2WtSRbHs34y5rHLDe7n1Q==",
       "dependencies": {
         "tslib": "^2.3.0"
       },
@@ -1041,16 +956,16 @@
         "node": "^14.20.0 || ^16.13.0 || >=18.10.0"
       },
       "peerDependencies": {
-        "@angular/common": "15.2.7",
-        "@angular/compiler": "15.2.7",
-        "@angular/core": "15.2.7",
-        "@angular/platform-browser": "15.2.7"
+        "@angular/common": "15.2.8",
+        "@angular/compiler": "15.2.8",
+        "@angular/core": "15.2.8",
+        "@angular/platform-browser": "15.2.8"
       }
     },
     "node_modules/@angular/router": {
-      "version": "15.2.7",
-      "resolved": "https://registry.npmjs.org/@angular/router/-/router-15.2.7.tgz",
-      "integrity": "sha512-Wkk+oJSUrVafJjmv9uE1SoY4wDE9bjX7ald+UXePz+QyM/PFoLkm/CzLYjFBkJnsOkOVxw1VmvacoUjWN6BCTQ==",
+      "version": "15.2.8",
+      "resolved": "https://registry.npmjs.org/@angular/router/-/router-15.2.8.tgz",
+      "integrity": "sha512-C62QBEeJSBTNTrQHZiklPrxwJwuENoZzWX22MMJ7dxl+7VjRgnmj8J7mcX9fLjHlL+mC3RvesMlX7sGZRQV1cg==",
       "dependencies": {
         "tslib": "^2.3.0"
       },
@@ -1058,9 +973,9 @@
         "node": "^14.20.0 || ^16.13.0 || >=18.10.0"
       },
       "peerDependencies": {
-        "@angular/common": "15.2.7",
-        "@angular/core": "15.2.7",
-        "@angular/platform-browser": "15.2.7",
+        "@angular/common": "15.2.8",
+        "@angular/core": "15.2.8",
+        "@angular/platform-browser": "15.2.8",
         "rxjs": "^6.5.3 || ^7.4.0"
       }
     },
@@ -4204,9 +4119,9 @@
       }
     },
     "node_modules/@ngtools/webpack": {
-      "version": "15.2.6",
-      "resolved": "https://registry.npmjs.org/@ngtools/webpack/-/webpack-15.2.6.tgz",
-      "integrity": "sha512-I+kekKItfsCLdX+ZjjmsWqd0AyoYGTQPjlbQAiPtmdH73/rfPOF4Q/3AU4tzTdn0n0GXqZWv6VOs91w99ydi0A==",
+      "version": "15.2.7",
+      "resolved": "https://registry.npmjs.org/@ngtools/webpack/-/webpack-15.2.7.tgz",
+      "integrity": "sha512-iUCSR03PzGSpwwZ5soioTIWsTPBayzkZfhKMkfz1RqtkbcxC4I07NRoQ1djofhsYyW2I1n7XS8w3K7NILtN3gQ==",
       "dev": true,
       "engines": {
         "node": "^14.20.0 || ^16.13.0 || >=18.10.0",
@@ -4432,50 +4347,6 @@
         "yarn": ">= 1.13.0"
       }
     },
-    "node_modules/@schematics/angular/node_modules/@angular-devkit/core": {
-      "version": "15.2.7",
-      "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-15.2.7.tgz",
-      "integrity": "sha512-k2MKUm4ygTD9+89neqMmBphDr0o8Tp9RtgfzbS8VHgGkGYlbu0KPsxHyHB3Mvzl1EkSz6EHyrU3t89m+Rcj1lw==",
-      "devOptional": true,
-      "dependencies": {
-        "ajv": "8.12.0",
-        "ajv-formats": "2.1.1",
-        "jsonc-parser": "3.2.0",
-        "rxjs": "6.6.7",
-        "source-map": "0.7.4"
-      },
-      "engines": {
-        "node": "^14.20.0 || ^16.13.0 || >=18.10.0",
-        "npm": "^6.11.0 || ^7.5.6 || >=8.0.0",
-        "yarn": ">= 1.13.0"
-      },
-      "peerDependencies": {
-        "chokidar": "^3.5.2"
-      },
-      "peerDependenciesMeta": {
-        "chokidar": {
-          "optional": true
-        }
-      }
-    },
-    "node_modules/@schematics/angular/node_modules/rxjs": {
-      "version": "6.6.7",
-      "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz",
-      "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==",
-      "devOptional": true,
-      "dependencies": {
-        "tslib": "^1.9.0"
-      },
-      "engines": {
-        "npm": ">=2.0.0"
-      }
-    },
-    "node_modules/@schematics/angular/node_modules/tslib": {
-      "version": "1.14.1",
-      "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz",
-      "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==",
-      "devOptional": true
-    },
     "node_modules/@sideway/address": {
       "version": "4.1.4",
       "resolved": "https://registry.npmjs.org/@sideway/address/-/address-4.1.4.tgz",
@@ -4624,9 +4495,9 @@
       }
     },
     "node_modules/@types/connect-history-api-fallback": {
-      "version": "1.3.5",
-      "resolved": "https://registry.npmjs.org/@types/connect-history-api-fallback/-/connect-history-api-fallback-1.3.5.tgz",
-      "integrity": "sha512-h8QJa8xSb1WD4fpKBDcATDNGXghFj6/3GRWG6dhmRcu0RX1Ubasur2Uvx5aeEwlf0MwblEC2bMzzMQntxnw/Cw==",
+      "version": "1.5.0",
+      "resolved": "https://registry.npmjs.org/@types/connect-history-api-fallback/-/connect-history-api-fallback-1.5.0.tgz",
+      "integrity": "sha512-4x5FkPpLipqwthjPsF7ZRbOv3uoLUFkTA9G9v583qi4pACvq0uTELrB8OLUzPWUI4IJIyvM85vzkV1nyiI2Lig==",
       "dev": true,
       "dependencies": {
         "@types/express-serve-static-core": "*",
@@ -4672,14 +4543,15 @@
       }
     },
     "node_modules/@types/express-serve-static-core": {
-      "version": "4.17.33",
-      "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.33.tgz",
-      "integrity": "sha512-TPBqmR/HRYI3eC2E5hmiivIzv+bidAfXofM+sbonAGvyDhySGw9/PQZFt2BLOrjUUR++4eJVpx6KnLQK1Fk9tA==",
+      "version": "4.17.34",
+      "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.34.tgz",
+      "integrity": "sha512-fvr49XlCGoUj2Pp730AItckfjat4WNb0lb3kfrLWffd+RLeoGAMsq7UOy04PAPtoL01uKwcp6u8nhzpgpDYr3w==",
       "dev": true,
       "dependencies": {
         "@types/node": "*",
         "@types/qs": "*",
-        "@types/range-parser": "*"
+        "@types/range-parser": "*",
+        "@types/send": "*"
       }
     },
     "node_modules/@types/graceful-fs": {
@@ -4692,9 +4564,9 @@
       }
     },
     "node_modules/@types/http-proxy": {
-      "version": "1.17.10",
-      "resolved": "https://registry.npmjs.org/@types/http-proxy/-/http-proxy-1.17.10.tgz",
-      "integrity": "sha512-Qs5aULi+zV1bwKAg5z1PWnDXWmsn+LxIvUGv6E2+OOMYhclZMO+OXd9pYVf2gLykf2I7IV2u7oTHwChPNsvJ7g==",
+      "version": "1.17.11",
+      "resolved": "https://registry.npmjs.org/@types/http-proxy/-/http-proxy-1.17.11.tgz",
+      "integrity": "sha512-HC8G7c1WmaF2ekqpnFq626xd3Zz0uvaqFmBJNRZCGEZCXkvSdJoNFn/8Ygbd9fKNQj8UzLdCETaI0UWPAjK7IA==",
       "dev": true,
       "dependencies": {
         "@types/node": "*"
@@ -5020,9 +4892,9 @@
       "dev": true
     },
     "node_modules/@types/mime": {
-      "version": "3.0.1",
-      "resolved": "https://registry.npmjs.org/@types/mime/-/mime-3.0.1.tgz",
-      "integrity": "sha512-Y4XFY5VJAuw0FgAqPNd6NNoV44jbq9Bz2L7Rh/J6jLTiHBSBJa9fxqQIvkIld4GsoDOcCbvzOUAbLPsSKKg+uA==",
+      "version": "1.3.2",
+      "resolved": "https://registry.npmjs.org/@types/mime/-/mime-1.3.2.tgz",
+      "integrity": "sha512-YATxVxgRqNH6nHEIsvg6k2Boc1JHI9ZbH5iWFFv/MTkchz3b1ieGDa5T0a9RznNdI0KhVbdbWSN+KWWrQZRxTw==",
       "dev": true
     },
     "node_modules/@types/node": {
@@ -5073,6 +4945,16 @@
       "integrity": "sha512-21cFJr9z3g5dW8B0CVI9g2O9beqaThGQ6ZFBqHfwhzLDKUxaqTIy3vnfah/UPkfOiF2pLq+tGz+W8RyCskuslw==",
       "dev": true
     },
+    "node_modules/@types/send": {
+      "version": "0.17.1",
+      "resolved": "https://registry.npmjs.org/@types/send/-/send-0.17.1.tgz",
+      "integrity": "sha512-Cwo8LE/0rnvX7kIIa3QHCkcuF21c05Ayb0ZfxPiv0W8VRiZiNW/WuRupHKpqqGVGf7SUA44QSOUKaEd9lIrd/Q==",
+      "dev": true,
+      "dependencies": {
+        "@types/mime": "^1",
+        "@types/node": "*"
+      }
+    },
     "node_modules/@types/serve-index": {
       "version": "1.9.1",
       "resolved": "https://registry.npmjs.org/@types/serve-index/-/serve-index-1.9.1.tgz",
@@ -8142,9 +8024,9 @@
       "dev": true
     },
     "node_modules/dns-packet": {
-      "version": "5.5.0",
-      "resolved": "https://registry.npmjs.org/dns-packet/-/dns-packet-5.5.0.tgz",
-      "integrity": "sha512-USawdAUzRkV6xrqTjiAEp6M9YagZEzWcSUaZTcIFAiyQWW1SoI6KyId8y2+/71wbgHKQAKd+iupLv4YvEwYWvA==",
+      "version": "5.6.0",
+      "resolved": "https://registry.npmjs.org/dns-packet/-/dns-packet-5.6.0.tgz",
+      "integrity": "sha512-rza3UH1LwdHh9qyPXp8lkwpjSNk/AMD3dPytUoRoqnypDUhY0xvbdmVhWOfxO68frEfV9BU8V12Ez7ZsHGZpCQ==",
       "dev": true,
       "dependencies": {
         "@leichtgewicht/ip-codec": "^2.0.1"
diff --git a/src-ui/package.json b/src-ui/package.json
index 0d7c989d2..2279d9b45 100644
--- a/src-ui/package.json
+++ b/src-ui/package.json
@@ -13,14 +13,14 @@
   },
   "private": true,
   "dependencies": {
-    "@angular/common": "~15.2.7",
-    "@angular/compiler": "~15.2.7",
-    "@angular/core": "~15.2.7",
-    "@angular/forms": "~15.2.7",
-    "@angular/localize": "~15.2.7",
-    "@angular/platform-browser": "~15.2.7",
-    "@angular/platform-browser-dynamic": "~15.2.7",
-    "@angular/router": "~15.2.7",
+    "@angular/common": "~15.2.8",
+    "@angular/compiler": "~15.2.8",
+    "@angular/core": "~15.2.8",
+    "@angular/forms": "~15.2.8",
+    "@angular/localize": "~15.2.8",
+    "@angular/platform-browser": "~15.2.8",
+    "@angular/platform-browser-dynamic": "~15.2.8",
+    "@angular/router": "~15.2.8",
     "@ng-bootstrap/ng-bootstrap": "^14.1.0",
     "@ng-select/ng-select": "^10.0.4",
     "@ngneat/dirty-check-forms": "^3.0.3",
@@ -47,7 +47,7 @@
     "@angular-eslint/schematics": "15.2.1",
     "@angular-eslint/template-parser": "15.2.1",
     "@angular/cli": "~15.2.7",
-    "@angular/compiler-cli": "~15.2.7",
+    "@angular/compiler-cli": "~15.2.8",
     "@types/jest": "^29.5.0",
     "@types/node": "^18.15.11",
     "@typescript-eslint/eslint-plugin": "^5.58.0",