Skip to content

feat(emergency-access): migrate recovery envelopes on suite rotation instead of destroying them (#674) #1380

feat(emergency-access): migrate recovery envelopes on suite rotation instead of destroying them (#674)

feat(emergency-access): migrate recovery envelopes on suite rotation instead of destroying them (#674) #1380

Triggered via pull request September 14, 2026 09:49
Status Success
Total duration 6m 1s
Artifacts 27

code-quality.yml

on: pull_request
Matrix: quality / security
quality  /  Changed paths
9s
quality / Changed paths
quality  /  Nextcloud test matrix
9s
quality / Nextcloud test matrix
quality  /  Frontend Build
1m 20s
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
24s
quality / REUSE compliance
quality  /  info.xml lint
16s
quality / info.xml lint
quality  /  Frontend Tests (unit)
1m 3s
quality / Frontend Tests (unit)
quality  /  Coverage Baseline Protection
8s
quality / Coverage Baseline Protection
quality  /  Hydra Gates
57s
quality / Hydra Gates
quality  /  Features Check
11s
quality / Features Check
quality  /  Features Extract
quality / Features Extract
Matrix: quality / phpunit
quality  /  Integration Tests (Newman)
1m 57s
quality / Integration Tests (Newman)
quality  /  Journeydoc Capture (screenshots)
0s
quality / Journeydoc Capture (screenshots)
Matrix: quality / playwright
quality  /  Hydra Gates (axe)
quality / Hydra Gates (axe)
quality  /  Quality Report
29s
quality / Quality Report
Fit to window
Zoom out
Zoom in

Annotations

39 warnings and 2 notices
quality / Coverage Baseline Protection
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 / 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 Check
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 / 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 / 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 (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 / 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 / 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 (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 / 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 / Frontend Check (check:l10n-js)
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 (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 / 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 / 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 (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 / 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 / Vue Quality (eslint): src/crypto/cxp.js#L40
Missing JSDoc @PARAM "bytes" type
quality / Vue Quality (eslint): src/crypto/cxp.js#L40
Missing JSDoc @PARAM "bytes" description
quality / Vue Quality (eslint): src/components/share/ShareDialog.vue#L80
'secretId' of property found, but never used
quality / Vue Quality (eslint): src/components/share/GroupShareForm.vue#L78
'secretId' of property found, but never used
quality / Vue Quality (eslint): src/components/VersionHistoryPanel.vue#L156
The "restored" event has been triggered but not declared on `emits` option
quality / Vue Quality (eslint): src/components/SecretListItem.vue#L212
The "open" event has been triggered but not declared on `emits` option
quality / Vue Quality (eslint): src/components/SecretListItem.vue#L96
The "copied" event has been triggered but not declared on `emits` option
quality / Vue Quality (eslint): src/components/SecretListItem.vue#L8
The "open" event has been triggered but not declared on `emits` option
quality / Vue Quality (eslint): src/components/CopyButton.vue#L133
The "copied" event has been triggered but not declared on `emits` option
quality / Vue Quality (eslint): src/App.vue#L868
Missing JSDoc @PARAM "acceptEmergencyLoss" declaration
quality / Frontend Check (test: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 / 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 (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 / 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 / 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 / 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 / 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 / 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 / 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 / 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/github-script@v7, 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
E2E deliberately NOT run — E2E runs locally and on the promotion path only. This pull request targets `development`, so the suite is asked once per promotion into `beta` and `main` rather than once per push per open pull request. Run it on any branch from the Actions tab, or locally with npx playwright test.
quality / Quality Report
Partial run — Playwright did not execute because the changed-path filter found nothing for them to decide. This run is green about the files it examined, not about the test suite.

Artifacts

Produced during runtime
Name Size Digest
coverage-report
2.85 MB
sha256:37542c4f40751d9320b1c250c01445b5a809877afed7dac67a078f01da3ffb37
frontend-build-output Expired
22.7 MB
sha256:a2a826d9f1df6b327898866adc29e42170372ac32659294b76dc738d1da63823
license-report-composer
3.9 KB
sha256:3fb31fcd17f98449a66d7ed795a3f872d3ebdc6ae6808be0bdbf6f2e864012bd
license-report-npm
11.8 KB
sha256:b66ccf2e704d2441521f29cd41c2b73f0df78e63e35a7a32780ddae38255fbf6
quality-report
31.8 KB
sha256:12296d1de0247d8fa26ba6bca7e7c60c9f8af487d29b969d81a107e9c22276f9
result-frontend-build
160 Bytes
sha256:1fdd24438e278bf1b3ee32b1e956bcb53847fa8b6aa597c7aa4e2a0a03c021cf
result-frontend-check-0
160 Bytes
sha256:dc30c7940c7cdc967915dc1e73c810dcb905ebb47bce2f190e2c2c5829ab0732
result-frontend-check-1
150 Bytes
sha256:a8691c19c948c77946f1162abbf080b9db563211258ba16c2d09f20e6e7892e8
result-frontend-check-2
144 Bytes
sha256:a3fd4c9bb21bccb9d33c94558443047dc71a41c125381c5742bb93364b58e350
result-frontend-check-3
158 Bytes
sha256:73c3416d2220ef6e1e80531229beb7e14e37b90f50ec41f1614f3e8434bb0771
result-frontend-check-4
166 Bytes
sha256:35a90ed4009ff31ccc1075fde3a642a28ffe4d02f61b0deaba35ba5b4acc7543
result-frontend-tests
160 Bytes
sha256:eb581e0f30dd596c8e8d0ad3fdb208fdb14db64e26669bd4c735962db124fe91
result-hydra-gates
154 Bytes
sha256:57d5b13bee7af3bdfaf206cb5a65c6b24f4b0d05ada7d5ca8b58b8490916d37f
result-info-xml
148 Bytes
sha256:31ac408873e4d827a825412223d14a294f508ecf53bfbd995750d71bcaaafb46
result-license-composer
148 Bytes
sha256:fcabf736abb631b8ac8e674ddff599565546a91816a6f2c191fbd215be3bf06e
result-license-npm
138 Bytes
sha256:fad1366a52295e0adb7ce23038aa2198da3e934dd2be6060f6728d8804278659
result-php-quality-lint
140 Bytes
sha256:27db06d1cf26a2227e223eac681fb523beb97cd3c2b728c95079631714b02194
result-php-quality-phpcs
142 Bytes
sha256:530154c401690828befdb9e3e93d4a886900253453697596604bd9f1f397aae9
result-php-quality-phpmd
142 Bytes
sha256:e9b423de4c008f72b900cc61d5abcafe6470cafe9bd0eeb7247b4b58e40ce072
result-php-quality-phpmetrics
152 Bytes
sha256:97728787189234f6a1e06a3ee9392076cb92879e3e9649833e822b5aa5711300
result-php-quality-phpstan
146 Bytes
sha256:d04f4c980f804c8f518ad82b1d0092fd4074381d79a239730f0f983d66d9f237
result-php-quality-psalm
142 Bytes
sha256:680effc28d613619393983affc1db05a1b58266833d7b2f7a8bd39f1f2ab8bb5
result-reuse
142 Bytes
sha256:ff71ef1b802efa35f4ac3fb6fd74b23430b99b87aee15f46d94917d08f52ea04
result-security-composer
148 Bytes
sha256:8d5facc6f5d66f958521702551f3d46301ec4d787fcabcf72e47d5d8c7c54097
result-security-npm
138 Bytes
sha256:53df4a3ca216f8c27e536a2091a1e5f7607cc6c069415e50890724c0747e3876
result-vue-quality-eslint
144 Bytes
sha256:f47f012081973a7d1f32a47e436c98d1904d5751442994b394a08276c26036c8
result-vue-quality-stylelint
150 Bytes
sha256:abc3a3a226bdb01bd988b7c993e9e8d1f5e53d5774db1e07d6432615c9c6ca41