Platform Adoption coverage link encodes query string into routerLink path #1003

Closed
opened 2026-08-12 05:51:09 +00:00 by spikerj · 1 comment
Owner

Summary

PlatformAdoptionComponent builds deep-links as a single string containing a query (/admin/activity-coverage?userId=…) and binds that string to [routerLink].

Angular treats the whole value as a path, so ? / = are percent-encoded (%3FuserId%3D…). Staff clicking Action-level coverage → never land on ?userId= as a real query param.

Expected

Use path + queryParams separately, e.g.:

<a [routerLink]="['/admin/activity-coverage']" [queryParams]="{ userId: user.keycloakUserId }">

or a plain href if that is intentional.

Found by

Wave 6 coverage agent a1 — platform-adoption.render.spec.ts (documents current %3F encoding).

Location

  • projects/spikersoft/src/app/_components/admin/platform-adoption/platform-adoption.component.ts (coverageLink)
  • …/platform-adoption.component.html ([routerLink]="coverageLink(…)")
## Summary `PlatformAdoptionComponent` builds deep-links as a single string containing a query (`/admin/activity-coverage?userId=…`) and binds that string to `[routerLink]`. Angular treats the whole value as a **path**, so `?` / `=` are percent-encoded (`%3FuserId%3D…`). Staff clicking **Action-level coverage →** never land on `?userId=` as a real query param. ## Expected Use path + queryParams separately, e.g.: ```html <a [routerLink]="['/admin/activity-coverage']" [queryParams]="{ userId: user.keycloakUserId }"> ``` or a plain `href` if that is intentional. ## Found by Wave 6 coverage agent a1 — `platform-adoption.render.spec.ts` (documents current `%3F` encoding). ## Location - `projects/spikersoft/src/app/_components/admin/platform-adoption/platform-adoption.component.ts` (`coverageLink`) - `…/platform-adoption.component.html` (`[routerLink]="coverageLink(…)")`
Author
Owner

Already on master (not part of PR #819). Platform Adoption coverage links already use path + queryParams, so ?userId= is no longer encoded into the routerLink path. Closing.

Already on `master` (not part of PR #819). Platform Adoption coverage links already use path + queryParams, so ?userId= is no longer encoded into the routerLink path. Closing.
Sign in to join this conversation.