Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
2949 commits
Select commit Hold shift + click to select a range
a0221fa
build(deps): Bump nginx from `0848ca8` to `6a93380` (#3250)
dependabot[bot] Apr 8, 2026
270daba
build(deps): Bump node from `64202f1` to `8a40d4c` (#3246)
dependabot[bot] Apr 8, 2026
66b4b95
build(deps): Bump the angular-stack group with 5 updates (#3236)
dependabot[bot] Apr 8, 2026
36e3ebf
build(deps): Bump node from `8a40d4c` to `346a545` (#3253)
dependabot[bot] Apr 9, 2026
0d1ee57
build(deps): Override dompurify, diff, serialize-javascript, vite to…
madhavilosetty-intel Apr 9, 2026
5158349
chore: release v3.57.1 (#3256)
madhavilosetty-intel Apr 10, 2026
f14c7a9
chore(release): 3.57.1 [skip ci]
semantic-release-bot Apr 10, 2026
bfbd1d7
build(deps): Bump actions/upload-artifact from 7.0.0 to 7.0.1 (#3259)
dependabot[bot] Apr 13, 2026
f6650b8
build(deps-dev): Bump jasmine-core from 6.1.0 to 6.2.0 (#3258)
dependabot[bot] Apr 13, 2026
7fc2804
build(deps): Bump step-security/harden-runner from 2.16.1 to 2.17.0 (…
dependabot[bot] Apr 13, 2026
6fb15fc
build(deps-dev): Bump typescript-eslint from 8.58.1 to 8.58.2 (#3261)
dependabot[bot] Apr 14, 2026
239c4b6
build(deps): Bump follow-redirects from 1.15.11 to 1.16.0 (#3262)
dependabot[bot] Apr 14, 2026
9bbe734
build(deps): Bump the angular-stack group with 5 updates (#3254)
dependabot[bot] Apr 14, 2026
bb7292a
build(deps): Bump hono from 4.12.12 to 4.12.14 (#3263)
dependabot[bot] Apr 16, 2026
302032b
build(deps): Bump github/codeql-action from 4.35.1 to 4.35.2 (#3266)
dependabot[bot] Apr 16, 2026
260b939
build(deps): Bump step-security/harden-runner from 2.17.0 to 2.18.0 (…
dependabot[bot] Apr 16, 2026
4ed6dea
build(deps): Bump nginx from `6a93380` to `c9366b8` (#3264)
dependabot[bot] Apr 16, 2026
18a7607
build(deps): Bump cypress from 15.13.1 to 15.14.0 (#3269)
dependabot[bot] Apr 17, 2026
42db990
build(deps-dev): Bump eslint from 10.2.0 to 10.2.1 (#3270)
dependabot[bot] Apr 20, 2026
d1d6628
build(deps): Bump actions/setup-node from 6.3.0 to 6.4.0 (#3271)
dependabot[bot] Apr 20, 2026
c5b6450
build(deps): align angular stack to 21.2.9 (#3265)
dependabot[bot] Apr 20, 2026
86c43f5
build(deps-dev): Bump @eslint/js from 9.39.4 to 10.0.1 (#3193)
dependabot[bot] Apr 20, 2026
e296705
build(deps): Bump step-security/harden-runner from 2.18.0 to 2.19.0 (…
dependabot[bot] Apr 21, 2026
2fe6ba7
build(deps-dev): Bump typescript-eslint from 8.58.2 to 8.59.0 (#3273)
dependabot[bot] Apr 21, 2026
b3a6da0
build(deps): Bump cypress from 15.14.0 to 15.14.1 (#3277)
dependabot[bot] Apr 22, 2026
b1bcfa2
build(deps-dev): Bump prettier-plugin-multiline-arrays (#3276)
dependabot[bot] Apr 22, 2026
20c8b31
build(deps): Bump node from `346a545` to `7f01b6e` (#3275)
dependabot[bot] Apr 22, 2026
b0a433e
perf: improve KVM connection time
rsdmike Apr 22, 2026
950f590
chore(release): 3.57.2 [skip ci]
semantic-release-bot Apr 22, 2026
660ece3
build(deps): Bump node from `7f01b6e` to `7ec50c1` (#3279)
dependabot[bot] Apr 23, 2026
3b38647
build(deps): Bump the angular-stack group with 5 updates (#3280)
dependabot[bot] Apr 23, 2026
056a908
build(deps): Bump aquasecurity/trivy-action from 0.35.0 to 0.36.0 (#3…
dependabot[bot] Apr 23, 2026
4261a6e
build(deps-dev): Bump prettier-plugin-multiline-arrays (#3281)
dependabot[bot] Apr 23, 2026
2486036
build(deps-dev): Bump typescript-eslint from 8.59.0 to 8.59.1 (#3283)
dependabot[bot] Apr 28, 2026
6b6ab14
build(deps): Bump cypress from 15.14.1 to 15.14.2 (#3285)
dependabot[bot] Apr 30, 2026
3ea0c4c
build: update tsconfig for latest configuration (#3286)
rsdmike May 1, 2026
0cb5900
build(deps-dev): Bump eslint from 10.2.1 to 10.3.0 (#3287)
dependabot[bot] May 4, 2026
d60ffcc
build(deps): Bump step-security/harden-runner from 2.19.0 to 2.19.1 (…
dependabot[bot] May 4, 2026
3b60dfc
build(deps): Bump github/codeql-action from 4.35.2 to 4.35.3 (#3289)
dependabot[bot] May 4, 2026
7629a6a
build(deps-dev): Bump prettier-plugin-multiline-arrays (#3290)
dependabot[bot] May 5, 2026
089b6a7
build(deps-dev): Bump typescript-eslint from 8.59.1 to 8.59.2 (#3291)
dependabot[bot] May 5, 2026
e5ebd46
build(docker): allow specifying configuration for ui (#3293)
rsdmike May 5, 2026
0ec9d42
build(deps): Bump actions/add-to-project from 1.0.2 to 2.0.0 (#3292)
dependabot[bot] May 6, 2026
f405689
build(deps): Bump github/codeql-action from 4.35.3 to 4.35.4 (#3296)
dependabot[bot] May 8, 2026
289ea26
build(deps): Bump node from 25-bullseye-slim to 26-bullseye-slim (#3295)
dependabot[bot] May 8, 2026
028e928
build(deps): Bump node from `451a90b` to `c7169ac` (#3301)
dependabot[bot] May 11, 2026
95f2a4f
build(deps-dev): Bump @babel/plugin-transform-modules-systemjs (#3300)
dependabot[bot] May 11, 2026
7e3a375
build(deps-dev): Bump fast-uri from 3.1.0 to 3.1.2 (#3299)
dependabot[bot] May 11, 2026
d0a09dc
build(deps): Bump ip-address and express-rate-limit (#3298)
dependabot[bot] May 11, 2026
5eed8a2
build(deps): Bump hono from 4.12.14 to 4.12.18 (#3297)
dependabot[bot] May 11, 2026
054d836
build(deps): Bump actions/dependency-review-action from 4.9.0 to 5.0.…
dependabot[bot] May 11, 2026
97d118a
build(deps): Bump the angular-stack group across 1 directory with 5 u…
dependabot[bot] May 11, 2026
70bd38c
docs: ensure AI instructions exist for team (#3303)
rsdmike May 11, 2026
e21781a
ci: keep full Angular toolchain in one group (#3304)
madhavilosetty-intel May 12, 2026
1912d5a
build(deps-dev): Bump typescript-eslint from 8.59.2 to 8.59.3 (#3305)
dependabot[bot] May 12, 2026
8dc1148
build(deps): Bump cypress from 15.14.2 to 15.15.0 (#3306)
dependabot[bot] May 12, 2026
d6910f0
build: ensure stale content does not get copied into container (#3294)
rsdmike May 12, 2026
475f82c
build(deps): Bump step-security/harden-runner from 2.19.1 to 2.19.2 (…
dependabot[bot] May 14, 2026
5ace9dc
build(deps): Bump nginx from `c9366b8` to `a00f63b` (#3308)
dependabot[bot] May 14, 2026
7fd077e
build(deps): Bump step-security/harden-runner from 2.19.2 to 2.19.3 (…
dependabot[bot] May 15, 2026
7eb4f30
build(deps): Bump nginx from `a00f63b` to `9e666ae` (#3312)
dependabot[bot] May 15, 2026
707f1f6
fix: allow editing profile without re-entering passwords (#3307)
madhavilosetty-intel May 15, 2026
1f7c3a8
chore(release): 3.57.3 [skip ci]
semantic-release-bot May 15, 2026
6c79a36
build(deps): Bump the angular-stack group across 1 directory with 8 u…
dependabot[bot] May 15, 2026
2d565b1
build(deps): Bump github/codeql-action from 4.35.4 to 4.35.5 (#3314)
dependabot[bot] May 18, 2026
82d359e
build(deps): Bump date-fns from 4.1.0 to 4.2.1 (#3316)
dependabot[bot] May 19, 2026
2cb96a8
build(deps-dev): Bump typescript-eslint in the angular-stack group (#…
dependabot[bot] May 19, 2026
291583c
fix(devices): refresh certificate list immediately on add and delete …
rsdmike May 19, 2026
0d1d170
fix(devices): bind WSMAN Explorer placeholder via property syntax (#3…
rsdmike May 19, 2026
48baff6
build(deps): Bump codecov/codecov-action from 6.0.0 to 6.0.1 (#3324)
dependabot[bot] May 20, 2026
ae256ee
build(deps): Bump nginx from `9e666ae` to `241b0d0` (#3323)
dependabot[bot] May 20, 2026
53e1e49
build(deps): Bump node from `c7169ac` to `9c7d292` (#3322)
dependabot[bot] May 20, 2026
80fb9de
chore(release): 3.57.4 [skip ci]
semantic-release-bot May 20, 2026
ec1457e
build(deps): Bump ws, engine.io and socket.io-adapter (#3325)
dependabot[bot] May 20, 2026
ce19f03
chore: update build tasks and package.json (#3326)
madhavilosetty-intel May 20, 2026
f7de49d
chore(release): 3.57.5 [skip ci]
semantic-release-bot May 20, 2026
ace10e8
build(deps): Bump node from `9c7d292` to `ad91372` (#3327)
dependabot[bot] May 21, 2026
9fa5785
build(deps): Bump step-security/harden-runner from 2.19.3 to 2.19.4 (…
dependabot[bot] May 22, 2026
252a367
fix: correct malformed translate interpolation on proxy label (#3331)
madhavilosetty-intel May 22, 2026
c811ca4
chore(release): 3.57.6 [skip ci]
semantic-release-bot May 22, 2026
cf07ae8
build(deps): Bump the angular-stack group across 1 directory with 5 u…
dependabot[bot] May 22, 2026
9782fe1
test: add Redfish Cypress test suites (#3321)
kithwa May 25, 2026
47f8c1a
build(deps-dev): Bump typescript-eslint in the angular-stack group (#…
dependabot[bot] May 26, 2026
7c48052
build(deps): Bump docker/login-action from 4.1.0 to 4.2.0 (#3339)
dependabot[bot] May 26, 2026
8cac700
build(deps): Bump docker/setup-buildx-action from 4.0.0 to 4.1.0 (#3338)
dependabot[bot] May 26, 2026
15acf85
build(deps): Bump github/codeql-action from 4.35.5 to 4.36.0 (#3337)
dependabot[bot] May 26, 2026
4fc95f8
build(deps): Bump nginx from `241b0d0` to `3fe7a34` (#3336)
dependabot[bot] May 26, 2026
21b82da
build(deps): Bump date-fns from 4.2.1 to 4.3.0 (#3335)
dependabot[bot] May 26, 2026
a048a01
fix: require password when switching random to static on edit (#3334)
madhavilosetty-intel May 26, 2026
482e75f
chore(release): 3.57.7 [skip ci]
semantic-release-bot May 26, 2026
948a80a
fix: correctly parse AUTH_MODE_ENABLED (#3329)
rsdmike May 26, 2026
2232ee9
chore(release): 3.57.8 [skip ci]
semantic-release-bot May 26, 2026
9a8402c
fix: ensure amt features remain selected upon form re-entry (#3343)
rsdmike May 27, 2026
27cfead
chore(release): 3.57.9 [skip ci]
semantic-release-bot May 27, 2026
9343525
test: Update console activation (#3341)
choonkeat1986 May 28, 2026
cbf662d
build(deps): Bump tmp from 0.2.5 to 0.2.7 (#3344)
dependabot[bot] Jun 1, 2026
14ced1a
build(deps): Bump cypress from 15.15.0 to 15.16.0 (#3342)
dependabot[bot] Jun 1, 2026
36767a8
build(deps): Bump date-fns from 4.3.0 to 4.4.0 (#3348)
dependabot[bot] Jun 1, 2026
ef963f5
build(deps-dev): Bump eslint from 10.4.0 to 10.4.1 (#3347)
dependabot[bot] Jun 1, 2026
932b937
build(deps): Bump the angular-stack group across 1 directory with 5 u…
dependabot[bot] Jun 1, 2026
80f8605
build(deps): Bump JulienKode/pull-request-name-linter-action (#3349)
dependabot[bot] Jun 1, 2026
21d2962
build(deps-dev): Bump typescript-eslint in the angular-stack group (#…
dependabot[bot] Jun 1, 2026
85a11e1
test: component versions report in Cypress HTML report (#3274)
kithwa Jun 2, 2026
d958871
chore: update build tasks & package.json (#3354)
madhavilosetty-intel Jun 3, 2026
bdc1979
chore(release): 3.57.10 [skip ci]
semantic-release-bot Jun 3, 2026
626dcbb
fix(e2e): update cloud activation spec for tls-tunnel implementation …
lim-chris Jun 4, 2026
39f6324
chore(release): 3.57.11 [skip ci]
semantic-release-bot Jun 4, 2026
d2a1d39
build(deps): Bump actions/checkout from 6.0.2 to 6.0.3 (#3356)
dependabot[bot] Jun 4, 2026
f8225f4
build(deps-dev): Bump prettier-plugin-multiline-arrays (#3359)
dependabot[bot] Jun 5, 2026
a23c091
build(deps): Bump github/codeql-action from 4.36.0 to 4.36.2 (#3358)
dependabot[bot] Jun 5, 2026
d8bfe1d
build(deps): Bump node from `ad91372` to `21a8644` (#3355)
dependabot[bot] Jun 5, 2026
e5c0830
build(deps-dev): Bump jasmine-core from 6.2.0 to 6.3.0 (#3362)
dependabot[bot] Jun 9, 2026
8bfb193
build(deps): Bump cypress from 15.16.0 to 15.17.0 (#3366)
dependabot[bot] Jun 10, 2026
867262f
build(deps): Bump codecov/codecov-action from 6.0.1 to 7.0.0 (#3361)
dependabot[bot] Jun 10, 2026
97b1bde
build(deps-dev): Bump typescript-eslint (#3363)
dependabot[bot] Jun 10, 2026
0a8f562
feat: gate CIRA UI on server features API (enterprise) (#3350)
madhavilosetty-intel Jun 11, 2026
cb1c67b
chore(release): 3.58.0 [skip ci]
semantic-release-bot Jun 11, 2026
581d713
build(deps): Bump esbuild from 0.28.0 to 0.28.1 (#3372)
dependabot[bot] Jun 12, 2026
cc98ddb
build(deps): Bump node from `21a8644` to `d1ea1e2` (#3371)
dependabot[bot] Jun 12, 2026
be7a7a4
build(deps): Bump the angular-stack group across 1 directory with 5 u…
dependabot[bot] Jun 12, 2026
5d66dd6
build(deps-dev): Bump eslint from 10.4.1 to 10.5.0 (#3375)
dependabot[bot] Jun 15, 2026
e260194
build(deps-dev): Bump typescript-eslint in the angular-stack group (#…
dependabot[bot] Jun 16, 2026
c492505
build(deps-dev): Bump form-data from 4.0.5 to 4.0.6 (#3379)
dependabot[bot] Jun 17, 2026
1433fab
build(deps): Bump hono from 4.12.23 to 4.12.25 (#3378)
dependabot[bot] Jun 17, 2026
ba95a96
build(deps-dev): Bump the angular-stack group with 2 updates (#3382)
dependabot[bot] Jun 18, 2026
e07d4c9
build(deps): Bump node from `d1ea1e2` to `aa4ede6` (#3383)
dependabot[bot] Jun 22, 2026
cf3b948
build(deps): bump @ngx-translate to v18 and drop TranslateModule (#3368)
madhavilosetty-intel Jun 22, 2026
02ea280
build(deps): bump transitive ws to 8.21.0 to resolve DoS advisory (#3…
madhavilosetty-intel Jun 22, 2026
92d03bc
build(deps): Bump node from `aa4ede6` to `37776d1` (#3389)
dependabot[bot] Jun 24, 2026
e074c48
build(deps): Bump cypress from 15.17.0 to 15.18.0 (#3390)
dependabot[bot] Jun 24, 2026
3cd2b97
build(deps): Bump nginx from `3fe7a34` to `22c50af` (#3381)
dependabot[bot] Jun 24, 2026
340b131
build(deps): Bump nginx from `22c50af` to `dd722b8` (#3393)
dependabot[bot] Jun 28, 2026
26f3e20
build(deps): Bump node from `37776d1` to `9955181` (#3392)
dependabot[bot] Jun 28, 2026
bea14ac
build(deps-dev): Bump eslint from 10.5.0 to 10.6.0 (#3399)
dependabot[bot] Jun 29, 2026
81b8bcf
build(deps): Bump node from `9955181` to `813c054` (#3397)
dependabot[bot] Jun 29, 2026
a072892
build(deps-dev): Bump the angular-stack group across 1 directory with…
dependabot[bot] Jun 29, 2026
92808a5
build(deps): Bump actions/checkout from 6.0.3 to 7.0.0 (#3384)
dependabot[bot] Jun 29, 2026
481b853
build(deps): clear all npm audit advisories via overrides (#3386)
madhavilosetty-intel Jun 29, 2026
8200c64
build(deps-dev): Bump typescript-eslint in the angular-stack group (#…
dependabot[bot] Jul 1, 2026
e008d53
chore(release): 3.58.1 (#3404)
madhavilosetty-intel Jul 1, 2026
9b1f9a0
chore(release): 3.58.1 [skip ci]
semantic-release-bot Jul 1, 2026
fc46072
build(deps-dev): Bump prettier-plugin-multiline-arrays (#3406)
dependabot[bot] Jul 2, 2026
741d76d
build(deps-dev): Bump the angular-stack group across 1 directory with…
dependabot[bot] Jul 2, 2026
73f6139
fix(e2e): update rpc-go v3 CLI flags (#3407)
shaoboon Jul 6, 2026
625cdf9
chore(release): 3.58.2 [skip ci]
semantic-release-bot Jul 6, 2026
67f90b4
build(deps): Bump docker/login-action from 4.2.0 to 4.3.0 (#3411)
dependabot[bot] Jul 6, 2026
aea9696
build(deps): Bump docker/setup-buildx-action from 4.1.0 to 4.2.0 (#3408)
dependabot[bot] Jul 7, 2026
5fb0bd0
test: skip invalid password test for console ccm (#3416)
shaoboon Jul 7, 2026
d2c9d20
build(deps): Bump cypress from 15.18.0 to 15.18.1 (#3419)
dependabot[bot] Jul 8, 2026
de8245e
build(deps): Bump docker/login-action from 4.3.0 to 4.4.0 (#3414)
dependabot[bot] Jul 8, 2026
cc05c8f
build(deps): Bump github/codeql-action/upload-sarif (#3413)
dependabot[bot] Jul 8, 2026
7fbd003
build(deps-dev): Bump typescript-eslint (#3415)
dependabot[bot] Jul 8, 2026
eb13519
build(deps): bump github/codeql-action from 4.36.2 to 4.37.0 (#3420)
madhavilosetty-intel Jul 8, 2026
5cecd66
build(deps): Bump node from `813c054` to `1c45943` (#3421)
dependabot[bot] Jul 9, 2026
57ef782
build(deps): Bump github/codeql-action/upload-sarif (#3423)
dependabot[bot] Jul 9, 2026
2948d6c
build(deps): Bump step-security/harden-runner from 2.19.4 to 2.20.0 (…
dependabot[bot] Jul 9, 2026
32b42ce
ci(deps): group codeql-action sub-action updates in dependabot (#3425)
madhavilosetty-intel Jul 9, 2026
c4a2baf
build(deps): Bump the angular-stack group across 1 directory with 5 u…
dependabot[bot] Jul 10, 2026
1c86e79
ci: Enable Zizmor scans (#3403)
adimoft Jul 13, 2026
5f1302d
build(deps): Bump astral-sh/setup-uv from 8.2.0 to 8.3.2 (#3437)
dependabot[bot] Jul 14, 2026
3bd91cc
build(deps-dev): Bump typescript-eslint in the angular-stack group (#…
dependabot[bot] Jul 14, 2026
cce2af1
build(deps): Bump node from `1c45943` to `9461926` (#3433)
dependabot[bot] Jul 14, 2026
97ef523
build(deps-dev): Bump eslint from 10.6.0 to 10.7.0 (#3431)
dependabot[bot] Jul 14, 2026
bcd4893
build(deps): Bump step-security/harden-runner from 2.19.4 to 2.20.0 (…
dependabot[bot] Jul 14, 2026
af71179
build(deps): Bump github/codeql-action/upload-sarif (#3435)
dependabot[bot] Jul 14, 2026
442e0f1
build(deps): Bump actions/checkout from 6.0.3 to 7.0.0 (#3439)
dependabot[bot] Jul 14, 2026
8fee1b8
build(deps): Bump actions/setup-node from 6.4.0 to 7.0.0 (#3436)
dependabot[bot] Jul 14, 2026
052d02d
build(deps): Bump node from `9461926` to `1b1f313` (#3442)
dependabot[bot] Jul 15, 2026
c06ba3b
feat(devices): add network settings management for AMT devices (#3370)
shaoboon Jul 16, 2026
8413c54
chore(release): 3.59.0 [skip ci]
semantic-release-bot Jul 16, 2026
96c135e
build(deps): Bump nginx from `dd722b8` to `8763397` (#3444)
dependabot[bot] Jul 16, 2026
48b0fe8
feat: hide CIRA in profile when disabled on the server
nmgaston Jul 16, 2026
94ac40a
feat: remove CIRA disabled warning
nmgaston Jul 16, 2026
c718473
feat(devices): enable device network settings in cloud mode (#3396)
shaoboon Jul 16, 2026
5daaef8
chore(release): 3.60.0 [skip ci]
semantic-release-bot Jul 16, 2026
50a8078
Merge branch 'main' into hideDisabledCIRA
nmgaston Jul 17, 2026
2bfd183
refactor: rename deviceInfo lastUpdated to lastSynced, add firstDisco…
sinchubhat Jul 17, 2026
84181fd
fix: fix refresh power button issue (#3441)
DevipriyaS17 Jul 20, 2026
0cf5d40
chore(release): 3.60.1 [skip ci]
semantic-release-bot Jul 20, 2026
fba0fad
build(deps): Bump nginx from `8763397` to `45b82ed` (#3446)
dependabot[bot] Jul 20, 2026
f35dae5
build(deps): Bump the codeql-action group across 1 directory with 4 u…
dependabot[bot] Jul 20, 2026
eca507a
refactor: add refresh power status button label key to all languages …
DevipriyaS17 Jul 20, 2026
635dfb5
ci(gh-actions): resolve zizmor findings (#3449)
madhavilosetty-intel Jul 20, 2026
3b511df
feat: avoid reloading AMT Summary when updating AMT Features (#3427)
nmgaston Jul 20, 2026
37574a9
chore(release): 3.61.0 [skip ci]
semantic-release-bot Jul 20, 2026
c998d87
build(deps-dev): Bump typescript-eslint in the angular-stack group (#…
dependabot[bot] Jul 21, 2026
088d6af
build(deps): Bump actions/checkout from 7.0.0 to 7.0.1 (#3451)
dependabot[bot] Jul 21, 2026
b25e148
build(deps): Bump tar from 7.5.16 to 7.5.20 (#3455)
dependabot[bot] Jul 21, 2026
258a897
Merge branch 'main' into hideDisabledCIRA
nmgaston Jul 21, 2026
bd8e0a8
build(deps-dev): npm audit fix for dev-only advisories (#3456)
madhavilosetty-intel Jul 21, 2026
194487b
build(deps): Bump astral-sh/setup-uv from 8.3.2 to 9.0.0 (#3459)
dependabot[bot] Jul 22, 2026
ef77753
build(deps): Bump cypress from 15.18.1 to 15.19.0 (#3457)
dependabot[bot] Jul 22, 2026
113cb10
build(deps): Bump the codeql-action group with 4 updates (#3458)
dependabot[bot] Jul 22, 2026
feb7c7c
build(deps): Bump docker/login-action from 4.4.0 to 4.5.0 (#3463)
dependabot[bot] Jul 27, 2026
058bedc
build(deps): Bump ossf/scorecard-action from 2.4.3 to 2.4.4 (#3462)
dependabot[bot] Jul 27, 2026
47dfc04
build(deps): Bump tar from 7.5.20 to 7.5.22 (#3464)
dependabot[bot] Jul 27, 2026
6b299a4
build(deps): Bump docker/login-action from 4.5.0 to 4.5.1 (#3465)
dependabot[bot] Jul 28, 2026
32fd4a4
test: split Cloud and Console activation and deactivation coverage (#…
lim-chris Jul 28, 2026
3c57882
build(deps): Bump the codeql-action group across 1 directory with 4 u…
dependabot[bot] Jul 28, 2026
1446302
build(deps-dev): Bump eslint from 10.7.0 to 10.8.0 (#3466)
dependabot[bot] Jul 28, 2026
c291875
build(deps): bump webpack-dev-server and @hono/node-server (#3461)
sinchubhat Jul 28, 2026
2057fda
chore: release v3.61.1 (#3473)
madhavilosetty-intel Jul 28, 2026
f8437eb
chore(release): 3.61.1 [skip ci]
semantic-release-bot Jul 28, 2026
049d051
build(deps): Bump docker/login-action from 4.5.1 to 4.5.2 (#3474)
dependabot[bot] Jul 29, 2026
53ce8d1
build(deps-dev): Bump prettier-plugin-multiline-arrays (#3479)
dependabot[bot] Jul 30, 2026
b981ddc
build(deps): Bump docker/login-action from 4.5.2 to 4.6.0 (#3478)
dependabot[bot] Jul 30, 2026
96dec8a
build(deps): Bump the angular-stack group with 3 updates (#3477)
dependabot[bot] Jul 30, 2026
33516ef
feat: hide KVM tab on ISM systems. Use IDER tab instead (#3418)
nmgaston Jul 31, 2026
8804302
chore(release): 3.62.0 [skip ci]
semantic-release-bot Jul 31, 2026
d1970a9
build(deps): Bump ip-address from 10.2.0 to 10.4.0 (#3483)
dependabot[bot] Aug 4, 2026
4551a8c
build(deps): Bump the codeql-action group with 4 updates (#3482)
dependabot[bot] Aug 4, 2026
cd912c8
build(deps): Bump node from `1b1f313` to `ae4a1c7` (#3481)
dependabot[bot] Aug 4, 2026
80e5ce5
build(deps): Bump brace-expansion (#3485)
dependabot[bot] Aug 4, 2026
d2fce68
build(deps-dev): Bump fast-uri from 3.1.4 to 3.1.5 (#3487)
dependabot[bot] Aug 4, 2026
d7678a0
build(deps): Bump hono from 4.12.31 to 4.13.0 (#3486)
dependabot[bot] Aug 4, 2026
99793a1
build(deps): Bump socket.io-parser from 4.2.6 to 4.2.7 (#3484)
dependabot[bot] Aug 4, 2026
1dc19fb
feat(devices): add remote platform erase support (#3206)
nmgaston Aug 4, 2026
8444658
chore(release): 3.63.0 [skip ci]
semantic-release-bot Aug 4, 2026
a2babfc
build(deps): Bump the codeql-action group with 4 updates (#3490)
dependabot[bot] Aug 6, 2026
e857fef
build(deps): Bump step-security/harden-runner from 2.20.0 to 2.20.1 (…
dependabot[bot] Aug 7, 2026
e9cce09
build(deps): Bump the codeql-action group with 4 updates (#3493)
dependabot[bot] Aug 7, 2026
1767bb9
build(deps-dev): Bump typescript-eslint in the angular-stack group (#…
dependabot[bot] Aug 7, 2026
2253d08
build(deps): Bump js-yaml from 4.3.0 to 4.3.1 (#3491)
dependabot[bot] Aug 7, 2026
51eb8c2
refactor(e2e): stabilize AMT info retrieval with retry logic (#3488)
lim-chris Aug 10, 2026
3068e2d
build(deps): Bump node from `ae4a1c7` to `f422c39` (#3495)
dependabot[bot] Aug 10, 2026
64ead02
build(deps): Bump cypress from 15.19.0 to 15.20.0 (#3497)
dependabot[bot] Aug 10, 2026
bb56c70
build(deps-dev): Bump the angular-stack group with 2 updates (#3496)
dependabot[bot] Aug 10, 2026
ff1f4f3
fix: remove "Use CIRA" option from Add Device dialog (#3282)
madhavilosetty-intel Aug 10, 2026
91e3019
chore(release): 3.63.1 [skip ci]
semantic-release-bot Aug 10, 2026
bf4ed6c
fix: add back warning when CIRA profile exists and CIRA is disabled o…
nmgaston Aug 10, 2026
818f030
Merge branch 'hideDisabledCIRA' of https://github.com/device-manageme…
nmgaston Aug 10, 2026
28d4ca2
build(deps-dev): Bump eslint from 10.8.0 to 10.8.1 (#3498)
dependabot[bot] Aug 11, 2026
9430668
build(deps): Bump esbuild from 0.28.1 to 0.28.2 (#3500)
dependabot[bot] Aug 12, 2026
7be03cd
feat(login): use HttpOnly session cookie instead of localStorage (#3499)
madhavilosetty-intel Aug 12, 2026
a3a55e7
chore(release): 3.64.0 [skip ci]
semantic-release-bot Aug 12, 2026
3b3ccae
fix(login): keep bearer auth for cloud builds (#3501)
madhavilosetty-intel Aug 13, 2026
1939c98
chore(release): 3.64.1 [skip ci]
semantic-release-bot Aug 13, 2026
7835a66
build(deps-dev): Bump typescript-eslint in the angular-stack group (#…
dependabot[bot] Aug 15, 2026
bf2d59f
build(deps): Bump cypress from 15.20.0 to 15.20.1 (#3503)
dependabot[bot] Aug 15, 2026
b0a6ade
build(deps): Bump step-security/harden-runner from 2.20.1 to 2.21.0 (…
dependabot[bot] Aug 17, 2026
a923d51
build(deps): Bump astral-sh/setup-uv from 9.0.0 to 10.0.1 (#3508)
dependabot[bot] Aug 17, 2026
b572c3d
build(deps): Bump the codeql-action group with 4 updates (#3506)
dependabot[bot] Aug 17, 2026
72fcc50
build(deps): Bump the angular-stack group with 5 updates (#3505)
dependabot[bot] Aug 18, 2026
c540ef6
feat: add dialog warning if adding profile without CIRA configured
nmgaston Aug 19, 2026
df10c86
build(deps): Bump docker/setup-buildx-action from 4.2.0 to 4.3.0 (#3513)
dependabot[bot] Aug 20, 2026
61e3daf
feat(devices): default useTLS and allowSelfSigned on add device (#3480)
DevipriyaS17 Aug 20, 2026
c2eb426
chore(release): 3.65.0 [skip ci]
semantic-release-bot Aug 20, 2026
5f9b247
Merge branch 'main' into hideDisabledCIRA
nmgaston Aug 21, 2026
57dab5f
feat: add dialog warning if adding profile without CIRA configured
nmgaston Aug 21, 2026
b8783b5
Merge branch 'main' into hideDisabledCIRA
nmgaston Aug 21, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
21 changes: 16 additions & 5 deletions src/app/core/navbar/navbar.component.ts
Original file line number Diff line number Diff line change
Expand Up @@ -6,12 +6,13 @@
import { Component, OnInit, inject, signal } from '@angular/core'
import { environment } from '../../../environments/environment'
import { MatIcon } from '@angular/material/icon'
import { RouterLink, RouterLinkActive } from '@angular/router'
import { NavigationEnd, Router, RouterLink, RouterLinkActive } from '@angular/router'
import { MatDivider } from '@angular/material/divider'
import { MatNavList, MatListItem, MatListItemIcon } from '@angular/material/list'
import { MatTooltip } from '@angular/material/tooltip'
import { TranslatePipe, TranslateService } from '@ngx-translate/core'
import { ServerFeaturesService } from '../../server-features.service'
import { filter } from 'rxjs/operators'

@Component({
selector: 'app-navbar',
Expand All @@ -37,19 +38,29 @@ export class NavbarComponent implements OnInit {
// Start from cloudMode so enterprise hides the tab until the API responds,
// avoiding a flash of the tab when the server reports CIRA disabled.
ciraEnabled = signal(this.cloudMode)
private readonly router = inject(Router)
private readonly translate = inject(TranslateService)
private readonly serverFeaturesService = inject(ServerFeaturesService)

ngOnInit(): void {
if (this.cloudMode === false) {
this.serverFeaturesService.getFeatures().subscribe({
next: (features) => this.ciraEnabled.set(features.ciraEnabled),
// Fail open: if the features call fails, keep the CIRA tab visible.
error: () => this.ciraEnabled.set(true)
this.refreshCiraAvailability()
// Re-check server feature flags on navigation so runtime server setting
// changes (like enabling CIRA) are reflected without full page reload.
this.router.events.pipe(filter((event) => event instanceof NavigationEnd)).subscribe(() => {
this.refreshCiraAvailability()
})
}
}

private refreshCiraAvailability(): void {
this.serverFeaturesService.getFeatures().subscribe({
next: (features) => this.ciraEnabled.set(features.ciraEnabled),
// Fail open: if the features call fails, keep the CIRA tab visible.
error: () => this.ciraEnabled.set(true)
})
}

get ciraTitle(): string {
return this.ciraEnabled()
? this.translate.instant('configs.header.ciraTitle.value')
Expand Down
49 changes: 18 additions & 31 deletions src/app/profiles/profile-detail/profile-detail.component.html
Original file line number Diff line number Diff line change
Expand Up @@ -320,24 +320,22 @@
<mat-error>{{ 'profileDetail.connectionModeRequired.value' | translate }}</mat-error>
</p>
}
<fieldset>
<legend>{{ 'profileDetail.internetModeLegend.value' | translate }}</legend>
<p>{{ 'profileDetail.internetModeDescription.value' | translate }}</p>
<p>
<mat-radio-button
data-cy="radio-cira"
[value]="connectionMode.cira"
[disabled]="!ciraEnabled() || ciraConfigurations().length === 0">
{{ 'profileDetail.ciraCloud.value' | translate }}
@if (!ciraEnabled()) {
<span>{{ 'profileDetail.ciraDisabledOption.value' | translate }}</span>
} @else if (ciraConfigurations().length === 0) {
<span>{{ 'profileDetail.noCiraConfigs.value' | translate }}</span>
}
</mat-radio-button>
</p>
@if (profileForm.get('connectionMode')?.value === 'CIRA') {
@if (ciraEnabled()) {
@if (ciraEnabled()) {
<fieldset>
<legend>{{ 'profileDetail.internetModeLegend.value' | translate }}</legend>
<p>{{ 'profileDetail.internetModeDescription.value' | translate }}</p>
<p>
<mat-radio-button
data-cy="radio-cira"
[value]="connectionMode.cira"
[disabled]="ciraConfigurations().length === 0">
Comment thread
nmgaston marked this conversation as resolved.
{{ 'profileDetail.ciraCloud.value' | translate }}
@if (ciraConfigurations().length === 0) {
<span>{{ 'profileDetail.noCiraConfigs.value' | translate }}</span>
}
Comment thread
nmgaston marked this conversation as resolved.
</mat-radio-button>
</p>
@if (profileForm.get('connectionMode')?.value === 'CIRA') {
<mat-form-field class="flex flex-1">
<mat-label>{{ 'profileDetail.ciraConfiguration.value' | translate }}</mat-label>
<mat-select formControlName="ciraConfigName">
Expand All @@ -352,20 +350,9 @@
{{ 'profileDetail.ciraConfigHint.value' | translate }}
</mat-hint>
</mat-form-field>
} @else {
<!-- CIRA disabled on this server but the profile still references a CIRA config.
Show it read-only with a warning and let the user switch to TLS/Direct. -->
<p class="error-messages-container">
<mat-icon color="warn">warning</mat-icon>
<span class="error-messages">{{ 'profileDetail.ciraDisabledWarning.value' | translate }}</span>
</p>
<mat-form-field class="flex flex-1">
<mat-label>{{ 'profileDetail.ciraConfiguration.value' | translate }}</mat-label>
<input matInput formControlName="ciraConfigName" readonly />
</mat-form-field>
}
}
</fieldset>
</fieldset>
}
<fieldset>
<legend>{{ 'profileDetail.directConnectLegend.value' | translate }}</legend>
<p>
Expand Down
37 changes: 33 additions & 4 deletions src/app/profiles/profile-detail/profile-detail.component.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,7 @@ import { provideHttpClientTesting } from '@angular/common/http/testing'
import { provideTranslateHttpLoader, TRANSLATE_HTTP_LOADER_CONFIG } from '@ngx-translate/http-loader'

describe('ProfileDetailComponent', () => {
const defaultCloudMode = environment.cloud
let component: ProfileDetailComponent
let fixture: ComponentFixture<ProfileDetailComponent>
let profileSpy: jasmine.Spy
Expand Down Expand Up @@ -148,6 +149,7 @@ describe('ProfileDetailComponent', () => {
})

afterEach(() => {
environment.cloud = defaultCloudMode
TestBed.resetTestingModule()
})

Expand All @@ -174,6 +176,7 @@ describe('ProfileDetailComponent', () => {
expect(wirelessGetDataSpy).toHaveBeenCalled()
expect(proxyGetDataSpy).toHaveBeenCalled()
})

it('should set connectionMode to TLS when tlsMode is a TLS mode (1-4)', () => {
const profile: Profile = { tlsMode: 4, ciraConfigName: 'config1' } as any
component.setConnectionMode(profile)
Expand All @@ -184,6 +187,26 @@ describe('ProfileDetailComponent', () => {
component.setConnectionMode(profile)
expect(component.profileForm.controls.connectionMode.value).toBe('CIRA')
})
it('should not set connectionMode to CIRA when CIRA is disabled and availability is resolved', () => {
component.profileForm.controls.ciraConfigName.setValue('config1')
component.ciraEnabled.set(false)
;(component as any).ciraAvailabilityResolved.set(true)

const profile: Profile = { ciraConfigName: 'config1' } as any
component.setConnectionMode(profile)

expect(component.profileForm.controls.connectionMode.value).toBe('TLS')
expect(component.profileForm.controls.ciraConfigName.value).toBeNull()
})
it('should keep CIRA connectionMode before enterprise feature availability resolves', () => {
component.ciraEnabled.set(false)
;(component as any).ciraAvailabilityResolved.set(false)

const profile: Profile = { ciraConfigName: 'config1' } as any
component.setConnectionMode(profile)

expect(component.profileForm.controls.connectionMode.value).toBe('CIRA')
})
it('should set connectionMode to DIRECT when tlsMode is 0 and no CIRA config', () => {
const profile: Profile = { tlsMode: 0, ciraConfigName: null } as any
component.setConnectionMode(profile)
Expand Down Expand Up @@ -835,9 +858,11 @@ describe('ProfileDetailComponent', () => {
// server-features branch instead of the cloud branch.
const createEnterpriseComponent = (): ProfileDetailComponent => {
environment.cloud = false
const enterpriseFixture = TestBed.createComponent(ProfileDetailComponent)
enterpriseFixture.detectChanges()
return enterpriseFixture.componentInstance
fixture.destroy()
fixture = TestBed.createComponent(ProfileDetailComponent)
component = fixture.componentInstance
fixture.detectChanges()
return component
}

afterEach(() => {
Expand All @@ -848,10 +873,12 @@ describe('ProfileDetailComponent', () => {
serverFeaturesGetFeaturesSpy.and.returnValue(of({ ciraEnabled: false }))
ciraGetDataSpy.calls.reset()

createEnterpriseComponent()
const enterpriseComponent = createEnterpriseComponent()

expect(serverFeaturesGetFeaturesSpy).toHaveBeenCalled()
expect(ciraGetDataSpy).not.toHaveBeenCalled()
expect(enterpriseComponent.ciraEnabled()).toBeFalse()
expect(fixture.nativeElement.querySelector('[data-cy="radio-cira"]')).toBeNull()
})

it('should expose ciraEnabled() === false after the features call resolves with CIRA disabled', () => {
Expand All @@ -870,6 +897,7 @@ describe('ProfileDetailComponent', () => {

expect(ciraGetDataSpy).toHaveBeenCalled()
expect(enterpriseComponent.ciraEnabled()).toBeTrue()
expect(fixture.nativeElement.querySelector('[data-cy="radio-cira"]')).not.toBeNull()
})

it('should fail open and fetch CIRA configs when the features call errors', () => {
Expand All @@ -880,6 +908,7 @@ describe('ProfileDetailComponent', () => {

expect(ciraGetDataSpy).toHaveBeenCalled()
expect(enterpriseComponent.ciraEnabled()).toBeTrue()
expect(fixture.nativeElement.querySelector('[data-cy="radio-cira"]')).not.toBeNull()
})
})

Expand Down
61 changes: 49 additions & 12 deletions src/app/profiles/profile-detail/profile-detail.component.ts
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,8 @@ import { FormBuilder, FormControl, Validators, ReactiveFormsModule } from '@angu
import { MatSnackBar } from '@angular/material/snack-bar'
import { MatDialog, MatDialogConfig } from '@angular/material/dialog'
import { ActivatedRoute, Router } from '@angular/router'
import { finalize, map, startWith } from 'rxjs/operators'
import { forkJoin, Observable } from 'rxjs'
import { concatMap, finalize, map, startWith, takeWhile, toArray } from 'rxjs/operators'
import { from, Observable } from 'rxjs'
import { COMMA, ENTER } from '@angular/cdk/keycodes'
import { CdkDragDrop, moveItemInArray, CdkDropList, CdkDrag } from '@angular/cdk/drag-drop'
import { NgClass, AsyncPipe } from '@angular/common'
Expand Down Expand Up @@ -44,6 +44,7 @@ import { ServerFeaturesService } from '../../server-features.service'
// Shared components
import { RandomPassAlertComponent } from '../../shared/random-pass-alert/random-pass-alert.component'
import { StaticCIRAWarningComponent } from '../../shared/static-cira-warning/static-cira-warning.component'
import { NoCIRAWarningComponent } from '../../shared/no-cira-warning/no-cira-warning.component'

// Models and constants
import { CIRAConfig, IEEE8021xConfig } from '../../../models/models'
Expand Down Expand Up @@ -147,6 +148,9 @@ export class ProfileDetailComponent implements OnInit {
// (fetched on init). Start from cloudMode so enterprise hides CIRA until the
// API responds, avoiding a flash when the server reports CIRA disabled.
public readonly ciraEnabled = signal(this.cloudMode)
// Enterprise starts with ciraEnabled=false before server features return; track
// when availability is actually known to avoid coercing a saved CIRA profile too early.
private readonly ciraAvailabilityResolved = signal(this.cloudMode)
public readonly isLoading = signal(false)
public readonly errorMessages = signal<string[]>([])

Expand Down Expand Up @@ -217,17 +221,31 @@ export class ProfileDetailComponent implements OnInit {
this.serverFeaturesService.getFeatures().subscribe({
next: (features) => {
this.ciraEnabled.set(features.ciraEnabled)
this.ciraAvailabilityResolved.set(true)
if (!features.ciraEnabled) {
this.coerceConnectionModeIfCiraUnavailable()
}
if (features.ciraEnabled) this.getCiraConfigs()
},
// Fail open: if the features call fails, assume CIRA is enabled.
error: () => {
this.ciraEnabled.set(true)
this.ciraAvailabilityResolved.set(true)
this.getCiraConfigs()
}
})
}
}

private coerceConnectionModeIfCiraUnavailable(): void {
if (this.profileForm.controls.connectionMode.value !== this.connectionMode.cira) {
return
}

// CIRA is unavailable, so prefer secure direct TLS over unsecured DIRECT.
this.profileForm.controls.connectionMode.setValue(this.connectionMode.tls)
}

private setupFormSubscriptions(): void {
this.profileForm.controls.activation.valueChanges.subscribe((value) => {
if (value) this.activationChange(value)
Expand Down Expand Up @@ -262,10 +280,15 @@ export class ProfileDetailComponent implements OnInit {
}

setConnectionMode(data: Profile): void {
const canUseCira = this.ciraEnabled() || !this.ciraAvailabilityResolved()

if (data.tlsMode != null && data.tlsMode > 0) {
this.profileForm.controls.connectionMode.setValue(this.connectionMode.tls)
} else if (data.ciraConfigName != null) {
} else if (data.ciraConfigName != null && canUseCira) {
this.profileForm.controls.connectionMode.setValue(this.connectionMode.cira)
} else if (data.ciraConfigName != null && !canUseCira) {
// Existing CIRA profiles should default to TLS when CIRA is disabled.
this.profileForm.controls.connectionMode.setValue(this.connectionMode.tls)
} else {
this.profileForm.controls.connectionMode.setValue(this.connectionMode.direct)
}
Expand Down Expand Up @@ -660,6 +683,11 @@ export class ProfileDetailComponent implements OnInit {
return dialog.afterClosed()
}

private noCIRAWarning(): Observable<any> {
const dialog = this.dialog.open(NoCIRAWarningComponent, { width: '750px' })
return dialog.afterClosed()
}

private randPasswordWarning(): Observable<any> {
const dialog = this.dialog.open(RandomPassAlertComponent, this.matDialogConfig)
return dialog.afterClosed()
Expand All @@ -670,23 +698,32 @@ export class ProfileDetailComponent implements OnInit {
// Warn user of risk if CIRA configuration and static network are selected simultaneously
if (this.profileForm.valid) {
const result: any = Object.assign({}, this.profileForm.getRawValue())
const dialogs = []
if (!this.isEdit() && (result.generateRandomPassword || result.generateRandomMEBxPassword)) {
dialogs.push(this.randPasswordWarning())
const dialogs: (() => Observable<any>)[] = []
if (result.connectionMode !== this.connectionMode.cira) {
dialogs.push(() => this.noCIRAWarning())
}
if (result.connectionMode === this.connectionMode.cira && result.dhcpEnabled === false) {
dialogs.push(this.CIRAStaticWarning())
dialogs.push(() => this.CIRAStaticWarning())
}
if (!this.isEdit() && (result.generateRandomPassword || result.generateRandomMEBxPassword)) {
dialogs.push(() => this.randPasswordWarning())
}

if (dialogs.length === 0) {
this.onSubmit()
return
}
forkJoin(dialogs).subscribe((data) => {
if (data.every((x) => x === true)) {
this.onSubmit()
}
})
from(dialogs)
.pipe(
concatMap((factory) => factory()),
takeWhile((result) => result === true),
toArray()
)
.subscribe((results) => {
if (results.length === dialogs.length) {
this.onSubmit()
}
})
} else {
this.profileForm.markAllAsTouched()
}
Expand Down
10 changes: 9 additions & 1 deletion src/app/profiles/profiles.component.html
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,15 @@ <h3 class="flex justify-center">{{ 'profiles.noData.value' | translate }}</h3>
@if (!ciraEnabled() && element.ciraConfigName) {
<mat-icon
color="warn"
[matTooltip]="'profileDetail.ciraDisabledWarning.value' | translate"
[matTooltip]="'profiles.ciraExportDisabled.value' | translate"
style="font-size: 18px; height: 18px; width: 18px; vertical-align: middle; margin-left: 4px"
>warning</mat-icon
>
}
@if (!ciraEnabled() && !element.ciraConfigName && !element.tlsMode) {
<mat-icon
color="warn"
[matTooltip]="'profiles.ciraDisabledNoConfig.value' | translate"
style="font-size: 18px; height: 18px; width: 18px; vertical-align: middle; margin-left: 4px"
>warning</mat-icon
>
Expand Down
18 changes: 18 additions & 0 deletions src/app/profiles/profiles.component.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@

import { ComponentFixture, TestBed } from '@angular/core/testing'
import { MatDialog } from '@angular/material/dialog'
import { By } from '@angular/platform-browser'
import { BrowserAnimationsModule } from '@angular/platform-browser/animations'
import { of } from 'rxjs'

Expand Down Expand Up @@ -166,4 +167,21 @@ describe('ProfilesComponent', () => {
;(environment as { cloud: boolean }).cloud = originalCloud
}
})

it('should show warning icon on profiles that use CIRA when CIRA is disabled', () => {
component.ciraEnabled.set(false)
fixture.detectChanges()

const icons = fixture.debugElement.queryAll(By.css('mat-icon[color="warn"]'))
// The mock data has one profile with ciraConfigName set
expect(icons.length).toBe(1)
})

it('should not show warning icon when CIRA is enabled', () => {
// ciraEnabled is true by default in cloud mode
fixture.detectChanges()

const icons = fixture.debugElement.queryAll(By.css('mat-icon[color="warn"]'))
expect(icons.length).toBe(0)
})
})
Loading
Loading