Skip to content

chore: Angular 18 to 20 migration#571

Merged
wurstbrot merged 13 commits into
devsecopsmaturitymodel:gsoc2026from
sawankshrma:angular_18-20
Jul 9, 2026
Merged

chore: Angular 18 to 20 migration#571
wurstbrot merged 13 commits into
devsecopsmaturitymodel:gsoc2026from
sawankshrma:angular_18-20

Conversation

@sawankshrma

@sawankshrma sawankshrma commented Jul 3, 2026

Copy link
Copy Markdown
Collaborator

description in doc

ran command -- ng generate @angular/core:control-flow
Upgrade rxjs from 7.5.0 to 7.8.1 to support moduleResolution: bundler (rxjs 7.5.0 lacks an exports field in its package.json, which bundler resolution requires to resolve type declarations).
Run the official Angular schematic (ng generate @angular/core:inject) across the codebase to replace constructor parameter injection with the inject() function, per the @angular-eslint/prefer-inject rule.
@sawankshrma sawankshrma requested a review from vbakke July 3, 2026 17:43
this.filtersTeamGroups = { ...this.filtersTeamGroups };
this.hasTeamsFilter = selectedTeams.length > 0;
this.sectorService.setVisibleTeams(selectedTeams);

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Group highlight uses an order-sensitive array comparison. this.filtersTeamGroups[group] = equalArray(selectedTeams, this.teamGroups[group]) compares event.value (chip/DOM order = alphabetical, since the team listbox uses keyvalue without a comparator) against the YAML declaration order; equalArray checks v === b[i] with no sorting.

Any group whose team list isn't already alphabetical in the YAML will never be highlighted, even when exactly its teams are selected. Sort both sides before comparing, or use a set-based comparison.
group should be sorted beforehand.

Determined with claude code and not tested

Comment thread src/app/pages/circular-heatmap/circular-heatmap.component.ts
Comment thread src/app/pages/matrix/matrix.component.ts

@vbakke vbakke left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I removed nodes_modules and did a fresh pnpm install. Quite a few warnings about deprecated libraries, and version not compatible with Angular 20.

Not so important for this pull request, but for the next upgrade, we need to ensure official compatibility on our sub packages.

Heatmap: Chips - Deselecting Team Group

It makes sense to be able to deselect any chip in DSOMM. But deselecting the Team Group filter does not. At least not the current behaviour, where the teams stay selected, but the Group name is deselected.

I'd suggest, either like the current behaviour at https://dsomm.owasp.org/, or if one can deselect a Team Group, it should revert to 'All teams', and de select any selected Team chip.

Comment thread package.json
Comment thread package.json
Comment thread package.json
Comment thread package.json

@vbakke vbakke left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Write my comments in the backlog is all good to me.

@wurstbrot wurstbrot merged commit adbcc63 into devsecopsmaturitymodel:gsoc2026 Jul 9, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants