Skip to content

fix(shell): the floating controls move with the backdrop they sit abo… #893

fix(shell): the floating controls move with the backdrop they sit abo…

fix(shell): the floating controls move with the backdrop they sit abo… #893

Triggered via push September 5, 2026 19:00
Status Failure
Total duration 22m 32s
Artifacts 29

code-quality.yml

on: push
Matrix: quality / security
quality  /  Nextcloud test matrix
8s
quality / Nextcloud test matrix
quality  /  Changed paths
11s
quality / Changed paths
quality  /  Frontend Build
1m 49s
quality / Frontend Build
Matrix: quality / frontend-checks
Matrix: quality / license
Matrix: quality / php-quality
Matrix: quality / vue-quality
quality  /  Nextcloud API check (app:check-code)
quality / Nextcloud API check (app:check-code)
quality  /  REUSE compliance
13s
quality / REUSE compliance
quality  /  info.xml lint
14s
quality / info.xml lint
quality  /  Frontend Tests (unit)
1m 18s
quality / Frontend Tests (unit)
quality  /  Coverage Baseline Protection
quality / Coverage Baseline Protection
quality  /  Features Check
quality / Features Check
quality  /  Features Extract
11s
quality / Features Extract
quality  /  Integration Tests (Newman)
1m 57s
quality / Integration Tests (Newman)
quality  /  Journeydoc Capture (screenshots)
quality / Journeydoc Capture (screenshots)
Matrix: quality / phpunit
quality  /  E2E Tests (Playwright)
18m 41s
quality / E2E Tests (Playwright)
quality  /  Quality Report
31s
quality / Quality Report
Fit to window
Zoom out
Zoom in

Annotations

12 errors, 34 warnings, and 2 notices
[chromium] › tests/e2e/dashboard-sharing.spec.ts:196:6 › dashboard-sharing UI (REQ-SHARE-001/002/004) › owner removes a share and it stays gone across reload: server/apps/launchpad/tests/e2e/dashboard-sharing.spec.ts#L116
10) [chromium] › tests/e2e/dashboard-sharing.spec.ts:196:6 › dashboard-sharing UI (REQ-SHARE-001/002/004) › owner removes a share and it stays gone across reload TimeoutError: locator.click: Timeout 10000ms exceeded. Call log: - waiting for locator('.sharee-option').filter({ hasText: /recipient/i }).first() - locator resolved to <span data-v-645b00cb="" class="sharee-option">…</span> - attempting click action - waiting for element to be visible, enabled and stable - element is visible, enabled and stable - scrolling into view if needed - done scrolling - <div data-v-645b00cb="" class="dashboard-config__field dashboard-config__public">…</div> from <div role="dialog" tabindex="-1" aria-modal="true" data-v-3c357e2d="" data-v-645b00cb="" data-v-048c9b6c="" class="modal-mask" data-v-owner="300" aria-labelledby="modal-name-nc-vue-39" aria-describedby="modal-description-nc-vue-39">…</div> subtree intercepts pointer events - retrying click action - waiting for element to be visible, enabled and stable - element is visible, enabled and stable - scrolling into view if needed - done scrolling - <p data-v-645b00cb="" class="dashboard-config__hint">Not shared with anyone yet.</p> from <div role="dialog" tabindex="-1" aria-modal="true" data-v-3c357e2d="" data-v-645b00cb="" data-v-048c9b6c="" class="modal-mask" data-v-owner="300" aria-labelledby="modal-name-nc-vue-39" aria-describedby="modal-description-nc-vue-39">…</div> subtree intercepts pointer events - retrying click action - waiting 20ms 2 × waiting for element to be visible, enabled and stable - element is visible, enabled and stable - scrolling into view if needed - done scrolling - <p data-v-645b00cb="" class="dashboard-config__hint">Not shared with anyone yet.</p> from <div role="dialog" tabindex="-1" aria-modal="true" data-v-3c357e2d="" data-v-645b00cb="" data-v-048c9b6c="" class="modal-mask" data-v-owner="300" aria-labelledby="modal-name-nc-vue-39" aria-describedby="modal-description-nc-vue-39">…</div> subtree intercepts pointer events - retrying click action - waiting 100ms 19 × waiting for element to be visible, enabled and stable - element is visible, enabled and stable - scrolling into view if needed - done scrolling - <p data-v-645b00cb="" class="dashboard-config__hint">Not shared with anyone yet.</p> from <div role="dialog" tabindex="-1" aria-modal="true" data-v-3c357e2d="" data-v-645b00cb="" data-v-048c9b6c="" class="modal-mask" data-v-owner="300" aria-labelledby="modal-name-nc-vue-39" aria-describedby="modal-description-nc-vue-39">…</div> subtree intercepts pointer events - retrying click action - waiting 500ms 114 | .first() 115 | await expect(option).toBeVisible({ timeout: 8_000 }) > 116 | await option.click() | ^ 117 | } 118 | 119 | /** at addSharee (/home/runner/work/launchpad/launchpad/server/apps/launchpad/tests/e2e/dashboard-sharing.spec.ts:116:15) at /home/runner/work/launchpad/launchpad/server/apps/launchpad/tests/e2e/dashboard-sharing.spec.ts:204:4
[chromium] › tests/e2e/dashboard-sharing.spec.ts:157:6 › dashboard-sharing UI (REQ-SHARE-001/002/004) › owner changes a share permission level and it persists across reload: server/apps/launchpad/tests/e2e/dashboard-sharing.spec.ts#L116
9) [chromium] › tests/e2e/dashboard-sharing.spec.ts:157:6 › dashboard-sharing UI (REQ-SHARE-001/002/004) › owner changes a share permission level and it persists across reload TimeoutError: locator.click: Timeout 10000ms exceeded. Call log: - waiting for locator('.sharee-option').filter({ hasText: /recipient/i }).first() - locator resolved to <span data-v-645b00cb="" class="sharee-option">…</span> - attempting click action - waiting for element to be visible, enabled and stable - element is visible, enabled and stable - scrolling into view if needed - done scrolling - <div data-v-645b00cb="" class="dashboard-config__field dashboard-config__public">…</div> from <div role="dialog" tabindex="-1" aria-modal="true" data-v-3c357e2d="" data-v-645b00cb="" data-v-048c9b6c="" class="modal-mask" data-v-owner="300" aria-labelledby="modal-name-nc-vue-39" aria-describedby="modal-description-nc-vue-39">…</div> subtree intercepts pointer events - retrying click action - waiting for element to be visible, enabled and stable - element is visible, enabled and stable - scrolling into view if needed - done scrolling - <p data-v-645b00cb="" class="dashboard-config__hint">Not shared with anyone yet.</p> from <div role="dialog" tabindex="-1" aria-modal="true" data-v-3c357e2d="" data-v-645b00cb="" data-v-048c9b6c="" class="modal-mask" data-v-owner="300" aria-labelledby="modal-name-nc-vue-39" aria-describedby="modal-description-nc-vue-39">…</div> subtree intercepts pointer events - retrying click action - waiting 20ms 2 × waiting for element to be visible, enabled and stable - element is visible, enabled and stable - scrolling into view if needed - done scrolling - <p data-v-645b00cb="" class="dashboard-config__hint">Not shared with anyone yet.</p> from <div role="dialog" tabindex="-1" aria-modal="true" data-v-3c357e2d="" data-v-645b00cb="" data-v-048c9b6c="" class="modal-mask" data-v-owner="300" aria-labelledby="modal-name-nc-vue-39" aria-describedby="modal-description-nc-vue-39">…</div> subtree intercepts pointer events - retrying click action - waiting 100ms 19 × waiting for element to be visible, enabled and stable - element is visible, enabled and stable - scrolling into view if needed - done scrolling - <p data-v-645b00cb="" class="dashboard-config__hint">Not shared with anyone yet.</p> from <div role="dialog" tabindex="-1" aria-modal="true" data-v-3c357e2d="" data-v-645b00cb="" data-v-048c9b6c="" class="modal-mask" data-v-owner="300" aria-labelledby="modal-name-nc-vue-39" aria-describedby="modal-description-nc-vue-39">…</div> subtree intercepts pointer events - retrying click action - waiting 500ms 114 | .first() 115 | await expect(option).toBeVisible({ timeout: 8_000 }) > 116 | await option.click() | ^ 117 | } 118 | 119 | /** at addSharee (/home/runner/work/launchpad/launchpad/server/apps/launchpad/tests/e2e/dashboard-sharing.spec.ts:116:15) at /home/runner/work/launchpad/launchpad/server/apps/launchpad/tests/e2e/dashboard-sharing.spec.ts:166:4
[chromium] › tests/e2e/dashboard-sharing.spec.ts:134:6 › dashboard-sharing UI (REQ-SHARE-001/002/004) › owner adds a user share and it appears in the shares list: server/apps/launchpad/tests/e2e/dashboard-sharing.spec.ts#L116
8) [chromium] › tests/e2e/dashboard-sharing.spec.ts:134:6 › dashboard-sharing UI (REQ-SHARE-001/002/004) › owner adds a user share and it appears in the shares list TimeoutError: locator.click: Timeout 10000ms exceeded. Call log: - waiting for locator('.sharee-option').filter({ hasText: /recipient/i }).first() - locator resolved to <span data-v-645b00cb="" class="sharee-option">…</span> - attempting click action - waiting for element to be visible, enabled and stable - element is visible, enabled and stable - scrolling into view if needed - done scrolling - <div data-v-645b00cb="" class="dashboard-config__field dashboard-config__public">…</div> from <div role="dialog" tabindex="-1" aria-modal="true" data-v-3c357e2d="" data-v-645b00cb="" data-v-048c9b6c="" class="modal-mask" data-v-owner="300" aria-labelledby="modal-name-nc-vue-39" aria-describedby="modal-description-nc-vue-39">…</div> subtree intercepts pointer events - retrying click action - waiting for element to be visible, enabled and stable - element is not stable - retrying click action - waiting 20ms 2 × waiting for element to be visible, enabled and stable - element is visible, enabled and stable - scrolling into view if needed - done scrolling - <p data-v-645b00cb="" class="dashboard-config__hint">Not shared with anyone yet.</p> from <div role="dialog" tabindex="-1" aria-modal="true" data-v-3c357e2d="" data-v-645b00cb="" data-v-048c9b6c="" class="modal-mask" data-v-owner="300" aria-labelledby="modal-name-nc-vue-39" aria-describedby="modal-description-nc-vue-39">…</div> subtree intercepts pointer events - retrying click action - waiting 100ms 19 × waiting for element to be visible, enabled and stable - element is visible, enabled and stable - scrolling into view if needed - done scrolling - <p data-v-645b00cb="" class="dashboard-config__hint">Not shared with anyone yet.</p> from <div role="dialog" tabindex="-1" aria-modal="true" data-v-3c357e2d="" data-v-645b00cb="" data-v-048c9b6c="" class="modal-mask" data-v-owner="300" aria-labelledby="modal-name-nc-vue-39" aria-describedby="modal-description-nc-vue-39">…</div> subtree intercepts pointer events - retrying click action - waiting 500ms 114 | .first() 115 | await expect(option).toBeVisible({ timeout: 8_000 }) > 116 | await option.click() | ^ 117 | } 118 | 119 | /** at addSharee (/home/runner/work/launchpad/launchpad/server/apps/launchpad/tests/e2e/dashboard-sharing.spec.ts:116:15) at /home/runner/work/launchpad/launchpad/server/apps/launchpad/tests/e2e/dashboard-sharing.spec.ts:140:3
[chromium] › tests/e2e/conditional-visibility-editor.spec.ts:1100:6 › conditional-visibility editor — preview (REQ-CVUI-004: server/apps/launchpad/tests/e2e/conditional-visibility-editor.spec.ts#L458
7) [chromium] › tests/e2e/conditional-visibility-editor.spec.ts:1100:6 › conditional-visibility editor — preview (REQ-CVUI-004, REQ-CVUI-005) › the preview request carries byte-identical ruleConfig to the one the row persists TimeoutError: locator.click: Timeout 10000ms exceeded. Call log: - waiting for locator('.vs__dropdown-option').nth(3) - locator resolved to <li role="option" aria-selected="false" id="vs-nc-vue-51__option-3" class="vs__dropdown-option">…</li> - attempting click action 2 × waiting for element to be visible, enabled and stable - element is visible, enabled and stable - scrolling into view if needed - done scrolling - <div data-v-c19740b0="" class="visibility-rule-row__actions">…</div> from <div role="dialog" tabindex="-1" aria-modal="true" data-v-3c357e2d="" data-v-305ab947="" data-v-048c9b6c="" class="modal-mask" data-v-owner="354" aria-labelledby="modal-name-nc-vue-45" aria-describedby="modal-description-nc-vue-45">…</div> subtree intercepts pointer events - retrying click action - waiting 20ms 2 × waiting for element to be visible, enabled and stable - element is visible, enabled and stable - scrolling into view if needed - done scrolling - <div data-v-c19740b0="" class="visibility-rule-row__actions">…</div> from <div role="dialog" tabindex="-1" aria-modal="true" data-v-3c357e2d="" data-v-305ab947="" data-v-048c9b6c="" class="modal-mask" data-v-owner="354" aria-labelledby="modal-name-nc-vue-45" aria-describedby="modal-description-nc-vue-45">…</div> subtree intercepts pointer events - retrying click action - waiting 100ms 19 × waiting for element to be visible, enabled and stable - element is visible, enabled and stable - scrolling into view if needed - done scrolling - <div data-v-c19740b0="" class="visibility-rule-row__actions">…</div> from <div role="dialog" tabindex="-1" aria-modal="true" data-v-3c357e2d="" data-v-305ab947="" data-v-048c9b6c="" class="modal-mask" data-v-owner="354" aria-labelledby="modal-name-nc-vue-45" aria-describedby="modal-description-nc-vue-45">…</div> subtree intercepts pointer events - retrying click action - waiting 500ms 456 | 'the rule-type select must offer all four types', 457 | ).toHaveCount(4) > 458 | await options.nth(index).click() | ^ 459 | } 460 | 461 | /** The single visible rule row, whichever section it currently sits in. */ at chooseType (/home/runner/work/launchpad/launchpad/server/apps/launchpad/tests/e2e/conditional-visibility-editor.spec.ts:458:27) at /home/runner/work/launchpad/launchpad/server/apps/launchpad/tests/e2e/conditional-visibility-editor.spec.ts:1108:3
[chromium] › tests/e2e/conditional-visibility-editor.spec.ts:1031:6 › conditional-visibility editor — preview (REQ-CVUI-004: server/apps/launchpad/tests/e2e/conditional-visibility-editor.spec.ts#L458
6) [chromium] › tests/e2e/conditional-visibility-editor.spec.ts:1031:6 › conditional-visibility editor — preview (REQ-CVUI-004, REQ-CVUI-005) › preview evaluates a row that was never saved, and stores nothing TimeoutError: locator.click: Timeout 10000ms exceeded. Call log: - waiting for locator('.vs__dropdown-option').nth(2) - locator resolved to <li role="option" aria-selected="false" id="vs-nc-vue-51__option-2" class="vs__dropdown-option">…</li> - attempting click action 2 × waiting for element to be visible, enabled and stable - element is visible, enabled and stable - scrolling into view if needed - done scrolling - <span id="nc-vue-58" data-v-5ca1e30f="" class="checkbox-content__text checkbox-radio-switch__text">Exclude — hide when matched</span> from <div role="dialog" tabindex="-1" aria-modal="true" data-v-3c357e2d="" data-v-305ab947="" data-v-048c9b6c="" class="modal-mask" data-v-owner="354" aria-labelledby="modal-name-nc-vue-45" aria-describedby="modal-description-nc-vue-45">…</div> subtree intercepts pointer events - retrying click action - waiting 20ms 2 × waiting for element to be visible, enabled and stable - element is visible, enabled and stable - scrolling into view if needed - done scrolling - <span id="nc-vue-58" data-v-5ca1e30f="" class="checkbox-content__text checkbox-radio-switch__text">Exclude — hide when matched</span> from <div role="dialog" tabindex="-1" aria-modal="true" data-v-3c357e2d="" data-v-305ab947="" data-v-048c9b6c="" class="modal-mask" data-v-owner="354" aria-labelledby="modal-name-nc-vue-45" aria-describedby="modal-description-nc-vue-45">…</div> subtree intercepts pointer events - retrying click action - waiting 100ms 19 × waiting for element to be visible, enabled and stable - element is visible, enabled and stable - scrolling into view if needed - done scrolling - <span id="nc-vue-58" data-v-5ca1e30f="" class="checkbox-content__text checkbox-radio-switch__text">Exclude — hide when matched</span> from <div role="dialog" tabindex="-1" aria-modal="true" data-v-3c357e2d="" data-v-305ab947="" data-v-048c9b6c="" class="modal-mask" data-v-owner="354" aria-labelledby="modal-name-nc-vue-45" aria-describedby="modal-description-nc-vue-45">…</div> subtree intercepts pointer events - retrying click action - waiting 500ms 456 | 'the rule-type select must offer all four types', 457 | ).toHaveCount(4) > 458 | await options.nth(index).click() | ^ 459 | } 460 | 461 | /** The single visible rule row, whichever section it currently sits in. */ at chooseType (/home/runner/work/launchpad/launchpad/server/apps/launchpad/tests/e2e/conditional-visibility-editor.spec.ts:458:27) at /home/runner/work/launchpad/launchpad/server/apps/launchpad/tests/e2e/conditional-visibility-editor.spec.ts:1039:3
[chromium] › tests/e2e/conditional-visibility-editor.spec.ts:922:6 › conditional-visibility editor — legible semantics (REQ-CVUI-003) › the include/exclude distinction survives with colour removed: server/apps/launchpad/tests/e2e/conditional-visibility-editor.spec.ts#L458
5) [chromium] › tests/e2e/conditional-visibility-editor.spec.ts:922:6 › conditional-visibility editor — legible semantics (REQ-CVUI-003) › the include/exclude distinction survives with colour removed TimeoutError: locator.click: Timeout 10000ms exceeded. Call log: - waiting for locator('.vs__dropdown-option').nth(2) - locator resolved to <li role="option" aria-selected="false" id="vs-nc-vue-61__option-2" class="vs__dropdown-option">…</li> - attempting click action 2 × waiting for element to be visible, enabled and stable - element is visible, enabled and stable - scrolling into view if needed - done scrolling - <div data-v-c19740b0="" class="visibility-rule-row__actions">…</div> from <div role="dialog" tabindex="-1" aria-modal="true" data-v-3c357e2d="" data-v-305ab947="" data-v-048c9b6c="" class="modal-mask" data-v-owner="354" aria-labelledby="modal-name-nc-vue-45" aria-describedby="modal-description-nc-vue-45">…</div> subtree intercepts pointer events - retrying click action - waiting 20ms 2 × waiting for element to be visible, enabled and stable - element is visible, enabled and stable - scrolling into view if needed - done scrolling - <div data-v-c19740b0="" class="visibility-rule-row__actions">…</div> from <div role="dialog" tabindex="-1" aria-modal="true" data-v-3c357e2d="" data-v-305ab947="" data-v-048c9b6c="" class="modal-mask" data-v-owner="354" aria-labelledby="modal-name-nc-vue-45" aria-describedby="modal-description-nc-vue-45">…</div> subtree intercepts pointer events - retrying click action - waiting 100ms 19 × waiting for element to be visible, enabled and stable - element is visible, enabled and stable - scrolling into view if needed - done scrolling - <div data-v-c19740b0="" class="visibility-rule-row__actions">…</div> from <div role="dialog" tabindex="-1" aria-modal="true" data-v-3c357e2d="" data-v-305ab947="" data-v-048c9b6c="" class="modal-mask" data-v-owner="354" aria-labelledby="modal-name-nc-vue-45" aria-describedby="modal-description-nc-vue-45">…</div> subtree intercepts pointer events - retrying click action - waiting 500ms 456 | 'the rule-type select must offer all four types', 457 | ).toHaveCount(4) > 458 | await options.nth(index).click() | ^ 459 | } 460 | 461 | /** The single visible rule row, whichever section it currently sits in. */ at chooseType (/home/runner/work/launchpad/launchpad/server/apps/launchpad/tests/e2e/conditional-visibility-editor.spec.ts:458:27) at /home/runner/work/launchpad/launchpad/server/apps/launchpad/tests/e2e/conditional-visibility-editor.spec.ts:934:3
[chromium] › tests/e2e/conditional-visibility-editor.spec.ts:821:6 › conditional-visibility editor — per-row operands (REQ-CVUI-002) › toggling a row to exclude emits isInclude false and moves the row to the Hide-when section: server/apps/launchpad/tests/e2e/conditional-visibility-editor.spec.ts#L458
4) [chromium] › tests/e2e/conditional-visibility-editor.spec.ts:821:6 › conditional-visibility editor — per-row operands (REQ-CVUI-002) › toggling a row to exclude emits isInclude false and moves the row to the Hide-when section TimeoutError: locator.click: Timeout 10000ms exceeded. Call log: - waiting for locator('.vs__dropdown-option').nth(2) - locator resolved to <li role="option" aria-selected="false" id="vs-nc-vue-51__option-2" class="vs__dropdown-option">…</li> - attempting click action 2 × waiting for element to be visible, enabled and stable - element is visible, enabled and stable - scrolling into view if needed - done scrolling - <span id="nc-vue-58" data-v-5ca1e30f="" class="checkbox-content__text checkbox-radio-switch__text">Exclude — hide when matched</span> from <div role="dialog" tabindex="-1" aria-modal="true" data-v-3c357e2d="" data-v-305ab947="" data-v-048c9b6c="" class="modal-mask" data-v-owner="354" aria-labelledby="modal-name-nc-vue-45" aria-describedby="modal-description-nc-vue-45">…</div> subtree intercepts pointer events - retrying click action - waiting 20ms 2 × waiting for element to be visible, enabled and stable - element is visible, enabled and stable - scrolling into view if needed - done scrolling - <span id="nc-vue-58" data-v-5ca1e30f="" class="checkbox-content__text checkbox-radio-switch__text">Exclude — hide when matched</span> from <div role="dialog" tabindex="-1" aria-modal="true" data-v-3c357e2d="" data-v-305ab947="" data-v-048c9b6c="" class="modal-mask" data-v-owner="354" aria-labelledby="modal-name-nc-vue-45" aria-describedby="modal-description-nc-vue-45">…</div> subtree intercepts pointer events - retrying click action - waiting 100ms 19 × waiting for element to be visible, enabled and stable - element is visible, enabled and stable - scrolling into view if needed - done scrolling - <span id="nc-vue-58" data-v-5ca1e30f="" class="checkbox-content__text checkbox-radio-switch__text">Exclude — hide when matched</span> from <div role="dialog" tabindex="-1" aria-modal="true" data-v-3c357e2d="" data-v-305ab947="" data-v-048c9b6c="" class="modal-mask" data-v-owner="354" aria-labelledby="modal-name-nc-vue-45" aria-describedby="modal-description-nc-vue-45">…</div> subtree intercepts pointer events - retrying click action - waiting 500ms 456 | 'the rule-type select must offer all four types', 457 | ).toHaveCount(4) > 458 | await options.nth(index).click() | ^ 459 | } 460 | 461 | /** The single visible rule row, whichever section it currently sits in. */ at chooseType (/home/runner/work/launchpad/launchpad/server/apps/launchpad/tests/e2e/conditional-visibility-editor.spec.ts:458:27) at /home/runner/work/launchpad/launchpad/server/apps/launchpad/tests/e2e/conditional-visibility-editor.spec.ts:841:3
[chromium] › tests/e2e/conditional-visibility-editor.spec.ts:788:6 › conditional-visibility editor — per-row operands (REQ-CVUI-002) › an attribute row emits attribute: server/apps/launchpad/tests/e2e/conditional-visibility-editor.spec.ts#L458
3) [chromium] › tests/e2e/conditional-visibility-editor.spec.ts:788:6 › conditional-visibility editor — per-row operands (REQ-CVUI-002) › an attribute row emits attribute, operator and value TimeoutError: locator.click: Timeout 10000ms exceeded. Call log: - waiting for locator('.vs__dropdown-option').nth(3) - locator resolved to <li role="option" aria-selected="false" id="vs-nc-vue-51__option-3" class="vs__dropdown-option">…</li> - attempting click action 2 × waiting for element to be visible, enabled and stable - element is visible, enabled and stable - scrolling into view if needed - done scrolling - <div data-v-c19740b0="" class="visibility-rule-row__actions">…</div> from <div role="dialog" tabindex="-1" aria-modal="true" data-v-3c357e2d="" data-v-305ab947="" data-v-048c9b6c="" class="modal-mask" data-v-owner="354" aria-labelledby="modal-name-nc-vue-45" aria-describedby="modal-description-nc-vue-45">…</div> subtree intercepts pointer events - retrying click action - waiting 20ms 2 × waiting for element to be visible, enabled and stable - element is visible, enabled and stable - scrolling into view if needed - done scrolling - <div data-v-c19740b0="" class="visibility-rule-row__actions">…</div> from <div role="dialog" tabindex="-1" aria-modal="true" data-v-3c357e2d="" data-v-305ab947="" data-v-048c9b6c="" class="modal-mask" data-v-owner="354" aria-labelledby="modal-name-nc-vue-45" aria-describedby="modal-description-nc-vue-45">…</div> subtree intercepts pointer events - retrying click action - waiting 100ms 19 × waiting for element to be visible, enabled and stable - element is visible, enabled and stable - scrolling into view if needed - done scrolling - <div data-v-c19740b0="" class="visibility-rule-row__actions">…</div> from <div role="dialog" tabindex="-1" aria-modal="true" data-v-3c357e2d="" data-v-305ab947="" data-v-048c9b6c="" class="modal-mask" data-v-owner="354" aria-labelledby="modal-name-nc-vue-45" aria-describedby="modal-description-nc-vue-45">…</div> subtree intercepts pointer events - retrying click action - waiting 500ms 456 | 'the rule-type select must offer all four types', 457 | ).toHaveCount(4) > 458 | await options.nth(index).click() | ^ 459 | } 460 | 461 | /** The single visible rule row, whichever section it currently sits in. */ at chooseType (/home/runner/work/launchpad/launchpad/server/apps/launchpad/tests/e2e/conditional-visibility-editor.spec.ts:458:27) at /home/runner/work/launchpad/launchpad/server/apps/launchpad/tests/e2e/conditional-visibility-editor.spec.ts:796:3
[chromium] › tests/e2e/conditional-visibility-editor.spec.ts:754:6 › conditional-visibility editor — per-row operands (REQ-CVUI-002) › a date row with only a start date omits endDate entirely rather than sending it empty: server/apps/launchpad/tests/e2e/conditional-visibility-editor.spec.ts#L458
2) [chromium] › tests/e2e/conditional-visibility-editor.spec.ts:754:6 › conditional-visibility editor — per-row operands (REQ-CVUI-002) › a date row with only a start date omits endDate entirely rather than sending it empty TimeoutError: locator.click: Timeout 10000ms exceeded. Call log: - waiting for locator('.vs__dropdown-option').nth(2) - locator resolved to <li role="option" aria-selected="false" id="vs-nc-vue-51__option-2" class="vs__dropdown-option">…</li> - attempting click action 2 × waiting for element to be visible, enabled and stable - element is visible, enabled and stable - scrolling into view if needed - done scrolling - <span id="nc-vue-58" data-v-5ca1e30f="" class="checkbox-content__text checkbox-radio-switch__text">Exclude — hide when matched</span> from <div role="dialog" tabindex="-1" aria-modal="true" data-v-3c357e2d="" data-v-305ab947="" data-v-048c9b6c="" class="modal-mask" data-v-owner="354" aria-labelledby="modal-name-nc-vue-45" aria-describedby="modal-description-nc-vue-45">…</div> subtree intercepts pointer events - retrying click action - waiting 20ms 2 × waiting for element to be visible, enabled and stable - element is visible, enabled and stable - scrolling into view if needed - done scrolling - <span id="nc-vue-58" data-v-5ca1e30f="" class="checkbox-content__text checkbox-radio-switch__text">Exclude — hide when matched</span> from <div role="dialog" tabindex="-1" aria-modal="true" data-v-3c357e2d="" data-v-305ab947="" data-v-048c9b6c="" class="modal-mask" data-v-owner="354" aria-labelledby="modal-name-nc-vue-45" aria-describedby="modal-description-nc-vue-45">…</div> subtree intercepts pointer events - retrying click action - waiting 100ms 19 × waiting for element to be visible, enabled and stable - element is visible, enabled and stable - scrolling into view if needed - done scrolling - <span id="nc-vue-58" data-v-5ca1e30f="" class="checkbox-content__text checkbox-radio-switch__text">Exclude — hide when matched</span> from <div role="dialog" tabindex="-1" aria-modal="true" data-v-3c357e2d="" data-v-305ab947="" data-v-048c9b6c="" class="modal-mask" data-v-owner="354" aria-labelledby="modal-name-nc-vue-45" aria-describedby="modal-description-nc-vue-45">…</div> subtree intercepts pointer events - retrying click action - waiting 500ms 456 | 'the rule-type select must offer all four types', 457 | ).toHaveCount(4) > 458 | await options.nth(index).click() | ^ 459 | } 460 | 461 | /** The single visible rule row, whichever section it currently sits in. */ at chooseType (/home/runner/work/launchpad/launchpad/server/apps/launchpad/tests/e2e/conditional-visibility-editor.spec.ts:458:27) at /home/runner/work/launchpad/launchpad/server/apps/launchpad/tests/e2e/conditional-visibility-editor.spec.ts:762:3
[chromium] › tests/e2e/conditional-visibility-editor.spec.ts:707:6 › conditional-visibility editor — per-row operands (REQ-CVUI-002) › a time row emits startTime: server/apps/launchpad/tests/e2e/conditional-visibility-editor.spec.ts#L458
1) [chromium] › tests/e2e/conditional-visibility-editor.spec.ts:707:6 › conditional-visibility editor — per-row operands (REQ-CVUI-002) › a time row emits startTime, endTime and a camelCase days array TimeoutError: locator.click: Timeout 10000ms exceeded. Call log: - waiting for locator('.vs__dropdown-option').nth(1) - locator resolved to <li role="option" aria-selected="false" id="vs-nc-vue-51__option-1" class="vs__dropdown-option">…</li> - attempting click action 2 × waiting for element to be visible, enabled and stable - element is visible, enabled and stable - scrolling into view if needed - done scrolling - <span id="nc-vue-55" data-v-5ca1e30f="" class="checkbox-content__text checkbox-radio-switch__text">Include — show when matched</span> from <div role="dialog" tabindex="-1" aria-modal="true" data-v-3c357e2d="" data-v-305ab947="" data-v-048c9b6c="" class="modal-mask" data-v-owner="354" aria-labelledby="modal-name-nc-vue-45" aria-describedby="modal-description-nc-vue-45">…</div> subtree intercepts pointer events - retrying click action - waiting 20ms 2 × waiting for element to be visible, enabled and stable - element is visible, enabled and stable - scrolling into view if needed - done scrolling - <span id="nc-vue-55" data-v-5ca1e30f="" class="checkbox-content__text checkbox-radio-switch__text">Include — show when matched</span> from <div role="dialog" tabindex="-1" aria-modal="true" data-v-3c357e2d="" data-v-305ab947="" data-v-048c9b6c="" class="modal-mask" data-v-owner="354" aria-labelledby="modal-name-nc-vue-45" aria-describedby="modal-description-nc-vue-45">…</div> subtree intercepts pointer events - retrying click action - waiting 100ms 19 × waiting for element to be visible, enabled and stable - element is visible, enabled and stable - scrolling into view if needed - done scrolling - <span id="nc-vue-55" data-v-5ca1e30f="" class="checkbox-content__text checkbox-radio-switch__text">Include — show when matched</span> from <div role="dialog" tabindex="-1" aria-modal="true" data-v-3c357e2d="" data-v-305ab947="" data-v-048c9b6c="" class="modal-mask" data-v-owner="354" aria-labelledby="modal-name-nc-vue-45" aria-describedby="modal-description-nc-vue-45">…</div> subtree intercepts pointer events - retrying click action - waiting 500ms 456 | 'the rule-type select must offer all four types', 457 | ).toHaveCount(4) > 458 | await options.nth(index).click() | ^ 459 | } 460 | 461 | /** The single visible rule row, whichever section it currently sits in. */ at chooseType (/home/runner/work/launchpad/launchpad/server/apps/launchpad/tests/e2e/conditional-visibility-editor.spec.ts:458:27) at /home/runner/work/launchpad/launchpad/server/apps/launchpad/tests/e2e/conditional-visibility-editor.spec.ts:715:3
quality / Quality Report
Process completed with exit code 1.
quality / Quality Report
One or more quality jobs failed — see the report above.
quality / Nextcloud test matrix
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/checkout@v4. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
quality / Changed paths
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/checkout@v4. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
quality / Features Extract
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/checkout@v4, actions/setup-python@v5. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
quality / REUSE compliance
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/checkout@v4, actions/upload-artifact@v4. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
quality / REUSE compliance
REUSE reported findings. Not blocking yet — set reuse-blocking: true once this app ships a REUSE.toml and a LICENSES/ directory.
quality / info.xml lint
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/checkout@v4, actions/upload-artifact@v4. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
quality / Security (composer)
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/cache@v4, actions/checkout@v4, actions/upload-artifact@v4. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
quality / License (composer)
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/cache@v4, actions/checkout@v4, actions/upload-artifact@v4. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
quality / PHP Quality (phpcs)
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/cache@v4, actions/checkout@v4, actions/upload-artifact@v4. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
quality / PHP Quality (phpmd)
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/cache@v4, actions/checkout@v4, actions/upload-artifact@v4. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
quality / Frontend Check (check:manifest)
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/checkout@v4, actions/setup-node@v4, actions/upload-artifact@v4. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
quality / Vue Quality (stylelint)
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/checkout@v4, actions/setup-node@v4, actions/upload-artifact@v4. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
quality / PHP Quality (psalm)
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/cache@v4, actions/checkout@v4, actions/upload-artifact@v4. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
quality / Frontend Check (check:schema-l10n)
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/checkout@v4, actions/setup-node@v4, actions/upload-artifact@v4. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
quality / Frontend Check (format)
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/checkout@v4, actions/setup-node@v4, actions/upload-artifact@v4. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
quality / Vue Quality (eslint)
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/checkout@v4, actions/setup-node@v4, actions/upload-artifact@v4. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
quality / PHP Quality (phpstan)
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/cache@v4, actions/checkout@v4, actions/upload-artifact@v4. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
quality / PHP Quality (lint)
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/cache@v4, actions/checkout@v4, actions/upload-artifact@v4. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
quality / PHP Quality (phpmetrics)
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/cache@v4, actions/checkout@v4, actions/upload-artifact@v4. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
quality / License (npm)
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/checkout@v4, actions/setup-node@v4, actions/upload-artifact@v4. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
quality / Security (npm)
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/checkout@v4, actions/setup-node@v4, actions/upload-artifact@v4. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
quality / Frontend Build
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/checkout@v4, actions/setup-node@v4, actions/upload-artifact@v4. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
quality / Frontend Tests (unit)
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/checkout@v4, actions/setup-node@v4, actions/upload-artifact@v4. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
quality / SBOM
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/cache@v4, actions/checkout@v4, actions/setup-node@v4, actions/upload-artifact@v4, anchore/scan-action/download-grype@v5. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
quality / PHPUnit (PHP 8.3, NC stable32, pgsql)
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/cache@v4, actions/checkout@v4. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
quality / PHPUnit (PHP 8.3, NC stable34, pgsql)
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/cache@v4, actions/checkout@v4, actions/upload-artifact@v4. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
quality / PHPUnit (PHP 8.4, NC stable32, pgsql)
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/cache@v4, actions/checkout@v4. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
quality / PHPUnit (PHP 8.3, NC stable33, pgsql)
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/cache@v4, actions/checkout@v4. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
quality / PHPUnit (PHP 8.4, NC stable34, pgsql)
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/cache@v4, actions/checkout@v4. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
quality / PHPUnit (PHP 8.4, NC stable33, pgsql)
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/cache@v4, actions/checkout@v4. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
quality / Integration Tests (Newman)
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/cache@v4, actions/checkout@v4, actions/setup-node@v4. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
quality / E2E Tests (Playwright)
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/cache@v4, actions/checkout@v4, actions/download-artifact@v4, actions/setup-node@v4, actions/upload-artifact@v4. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
quality / Hydra Gates
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/checkout@v4, actions/setup-node@v4, actions/upload-artifact@v4. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
quality / Quality Report
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/download-artifact@v4, actions/upload-artifact@v4. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
quality / Changed paths
Heavy tier WILL run — path filtering is not enabled for this repository (enable-path-filtering=false).
🎭 Playwright Run Summary
11 failed [chromium] › tests/e2e/conditional-visibility-editor.spec.ts:707:6 › conditional-visibility editor — per-row operands (REQ-CVUI-002) › a time row emits startTime, endTime and a camelCase days array [chromium] › tests/e2e/conditional-visibility-editor.spec.ts:754:6 › conditional-visibility editor — per-row operands (REQ-CVUI-002) › a date row with only a start date omits endDate entirely rather than sending it empty [chromium] › tests/e2e/conditional-visibility-editor.spec.ts:788:6 › conditional-visibility editor — per-row operands (REQ-CVUI-002) › an attribute row emits attribute, operator and value [chromium] › tests/e2e/conditional-visibility-editor.spec.ts:821:6 › conditional-visibility editor — per-row operands (REQ-CVUI-002) › toggling a row to exclude emits isInclude false and moves the row to the Hide-when section [chromium] › tests/e2e/conditional-visibility-editor.spec.ts:922:6 › conditional-visibility editor — legible semantics (REQ-CVUI-003) › the include/exclude distinction survives with colour removed [chromium] › tests/e2e/conditional-visibility-editor.spec.ts:1031:6 › conditional-visibility editor — preview (REQ-CVUI-004, REQ-CVUI-005) › preview evaluates a row that was never saved, and stores nothing [chromium] › tests/e2e/conditional-visibility-editor.spec.ts:1100:6 › conditional-visibility editor — preview (REQ-CVUI-004, REQ-CVUI-005) › the preview request carries byte-identical ruleConfig to the one the row persists [chromium] › tests/e2e/dashboard-sharing.spec.ts:134:6 › dashboard-sharing UI (REQ-SHARE-001/002/004) › owner adds a user share and it appears in the shares list [chromium] › tests/e2e/dashboard-sharing.spec.ts:157:6 › dashboard-sharing UI (REQ-SHARE-001/002/004) › owner changes a share permission level and it persists across reload [chromium] › tests/e2e/dashboard-sharing.spec.ts:196:6 › dashboard-sharing UI (REQ-SHARE-001/002/004) › owner removes a share and it stays gone across reload [chromium] › tests/e2e/dashboard-sharing.spec.ts:228:6 › dashboard-sharing UI (REQ-SHARE-001/002/004) › recipient sees the shared dashboard in their switcher 3 skipped 136 passed (16.1m)

Artifacts

Produced during runtime
Name Size Digest
coverage-report
103 KB
sha256:0d48ed7e24899eea4835cf18a2147c71c54a0e5ec361e80e0239df0daa974d74
frontend-build-output
27.2 MB
sha256:ac2bc9f0daa79de2f1d2ea98590e74c651dec74149f12ddecbb598d63ca05643
license-report-composer
3.63 KB
sha256:bc7fffe357f36ec79d337766a4e62056711ca23cc04da113972d17dc80c0b2a0
license-report-npm
11.9 KB
sha256:adf6490bee283f9dc9c8f471c8e9b68bf3a4c00d4fcfcc5365f02be705845eff
nextcloud-log-e2e
11.7 KB
sha256:2ac7d158d6243d2fbe9df09bc561e8c139add57bdb4446e8721bb4131a9d2ea4
playwright-report
60.1 MB
sha256:e8949388b39d14706018e0d3193696699235e1ace3e9cceb8f59b4d0762476b6
playwright-traces
60.1 MB
sha256:d1e45f8d686919b941f949dc5c40ed883be68864d105c97b7b4e6d738b25084a
quality-report
28.3 KB
sha256:cac882c071f0401f5a256821d159aeac97fc72ef9e532cce59dce750dbb94cf7
result-frontend-build
160 Bytes
sha256:9134683941edac873d874f5f38394cbabe9ee5868534d4bbf59c3a4b6c4b7f66
result-frontend-check-0
160 Bytes
sha256:358db658b54cf747bf931068615edea7315e98d25dabf9ef84088272d84196dc
result-frontend-check-1
144 Bytes
sha256:4a1d1e719527437348fe9b5bc5d4b21d9efe762464e7a422edc42e3cba73b2fc
result-frontend-check-2
166 Bytes
sha256:bf812c2279e125d428a5cb374fee2e0ba05b4ea051a8d0928a9d5e477f6c2d56
result-frontend-tests
160 Bytes
sha256:91348c95a897e3b78328cf40e003230075b533bc02acbaa89aa8827a97132d46
result-hydra-gates
154 Bytes
sha256:28a98ff1292f7bf24b7f3ca5d83da472165bbaefb921f47094c2f55273cb6b72
result-info-xml
148 Bytes
sha256:f6c10dcd8fcd38bc2a39d03d8d0c48524fec92d403d2b4e494d6abb4094e356f
result-license-composer
148 Bytes
sha256:0574ea03c89b7724c4fe11c7509119eb34ff3ab4ad6737f8700ecf2114ff4824
result-license-npm
138 Bytes
sha256:abbdbf6e244aa6f8b40f045e890b171e303826b376774941a123c4eae2872988
result-php-quality-lint
140 Bytes
sha256:212b3e93253ce3d030eae568ee4e20c4022a7ec10fc01b903a537ad8d1cfaa33
result-php-quality-phpcs
142 Bytes
sha256:d6c63fbde4e3fe3e93fd51f19782fc3e421a15d9bd74a2242835247748f61b59
result-php-quality-phpmd
142 Bytes
sha256:2b03be3413e20b36e0b4b13f33b417b72e397224af9b02ae997a4186fbddff99
result-php-quality-phpmetrics
152 Bytes
sha256:4afc1fa760814b15903e91fb13c518a116181307fc7e546c3545e03322ee13fc
result-php-quality-phpstan
146 Bytes
sha256:f1cf9962c241ff3c8d1a4e22e999fa86499bbe128993206fdf62ae8e926b07b9
result-php-quality-psalm
142 Bytes
sha256:1dec842273c8725de4d7f3244ab004f4606984e49b3bf597ac9ff33b18e0117c
result-reuse
142 Bytes
sha256:81fdf06beb5ce4b4450df80fab001240719fa1006a43c5b015a2ab558319f417
result-security-composer
148 Bytes
sha256:32749fdb443042b26c5af00083a0c2b9fe2aac0629046d32ed5ca4492d9aac84
result-security-npm
138 Bytes
sha256:bd4e861bbc7a18d0475bcb6647a2652c85bb49331d2c31c0bbad04d164618d2d
result-vue-quality-eslint
144 Bytes
sha256:d16773820f5f3ab1f01deb3a8e76651833b98d2b59e802a8098f5c47d343ca6d
result-vue-quality-stylelint
150 Bytes
sha256:1b3a2afb4f8f947f698a9115c3ac2fe4cb3585e7df322e30e4370fa37109c5b7
sbom-launchpad
76 KB
sha256:799803a784e21c669753596edabc1092cde6c30809ab440ce0af3f14f1f85a24