Repository navigation
Conversation
Let alert owners independently subscribe to message changes for ordinary violations and approved or suppressed violations. Preserve existing and empty subscriptions, explain the opt-in behavior, and cover persistence through the real browser and API server. Allow end-to-end setup from paths containing spaces or non-ASCII characters. Signed-off-by: WenFeng Gao <bd007xf@gmail.com>
A project initialization can finish after its view has been removed and try to activate a missing tab. Preserve fast return navigation without raising an error. Expire sessions only after the source page's initial data has completed so the test exercises the next navigation. Keep real unauthorized responses, the final redirect checks and the original navigation assertions intact. Signed-off-by: WenFeng Gao <bd007xf@gmail.com>
This was referenced Nov 7, 2026
Draft
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
Expose
POLICY_VIOLATION_UPDATEDandPOLICY_VIOLATION_UPDATED_REVIEWEDas independent choices in event-based portfolio alerts. Existing creation-only subscriptions remain unchanged. The help text explains stable messages, review/suppression exclusions, preserved decisions and the absence of historical replay.Addressed Issue
Companion to DependencyTrack/dependency-track#7908, addressing DependencyTrack/dependency-track#7649.
User documentation: DependencyTrack/docs#324.
Additional Details
Both choices use the existing
notifyOnpayload. Neither is selected automatically, and neither appears for system or scheduled alerts. The descriptions have unique accessible associations for each expanded alert. English text is added toen.json; the same keys are null in the other 14 locales, following the localization convention and existing English fallback.The new browser scenarios use a real API Server, PostgreSQL and the actual alert editor. They cover empty, ordinary-only, reviewed-only and combined subscriptions, exact saved request data, reload/persistence, creation-only compatibility, unsubscribe, and scope/trigger restrictions. Existing notification alert scenarios also run unchanged.
The E2E setup now converts its compose file URL using
fileURLToPath, preserving filesystem paths containing spaces or non-ASCII characters when passing the existing argument array to Docker. No dependencies or lock files change.A separate regression-fix commit addresses two issues exposed by the complete run. A project initialization could finish after navigating back and activate a removed tab; a one-line existence check retains the original fast-navigation and scroll assertions. Session-expiration tests now wait for their source page's initial license/portfolio responses to finish before revoking the session. The original main reproduces the project error, and a controlled real-request diagnostic shows that revoking during initial loading correctly returns 401 and redirects before the intended next click. No unauthorized-response handling, final redirect assertion, retry setting, or error gate is relaxed.
This requires an API Server containing DependencyTrack/dependency-track#7908. Frontend main CI uses
5-snapshot, so these new API-dependent scenarios require that backend change to merge and a supporting image to be published. The local run uses the image built from that implementation; its production code is identical to the current backend PR head.Validation on Node 26.7.0/npm 11.19.0, real PostgreSQL 18.6, and pinned Playwright 1.64.1 / Chromium headless shell 156.0.8078.4:
npm cipassed with the unchanged lock file.npm run prettier-fix,npm run prettier,npm run eslint,npm run vue-i18n-extract, andnpm run buildpassed.npm test: 27 passed, zero failed/skipped.The official Playwright installer installed the exact pinned headless shell and FFmpeg in an isolated browser cache. Canonical HTTPS artifacts were cached locally to work around slow downloads; browser versions and test assertions were not replaced. Every browser test runs without retries. Test notification rules use Console, and the local API's HTTP allowlist only permits the local Hydra service; no external notification destination is used.
The unchanged dependency lock currently has six npm audit findings (three high, three moderate). This change adds no dependencies and does not claim to resolve those baseline findings.
Build output also retains baseline large-chunk and SBOM-plugin auto-registration diagnostics; a successful build does not establish a complete SBOM audit. Both commits carry the contributor's DCO sign-off.
Checklist