IONOS(update): update IONOS-owned app submodules for Nextcloud v32 (NSW-946) - #324
Conversation
19de50f to
9f61b12
Compare
ProgressMerged and finalised:
Both moved off PR heads; branch force-pushed. Cypress failures on nc-activity#2 are base failures — verified, not assumed. Control PR IONOS-Productivity/nc-activity#3 contained bare upstream
The delta touches only Psalm failure on nc-password_policy#2 is likewise a base failure. It dies in Still open: merge nc-activity#2, nc-bruteforcesettings#2, nc-password_policy#2, then cut their |
The three fork PRs cannot reach all-green — and never couldTheir checks are not slow, they are stuck. These forks inherit upstream Nextcloud workflows that
Pre-existing, not caused by this work: nc-bruteforcesettings has never once had a successful What the runnable checks actually say
Psalm is green on activity and bruteforcesettings — the check that would catch a broken No failure anywhere is attributable to the IONOS delta. Waiting for green is not a viable gate; Adding to the follow-up list: the IONOS forks of Nextcloud apps have no runner for |
9f61b12 to
0d1cf42
Compare
Upstreaming status for the three delegation forksThe three fork PRs this server PR consumes each re-apply the same one-file IONOS patch — an admin settings class switching from
Each upstream PR is a single commit against the app's current This does not change anything in this PR. The gitlinks here still point at the fork line, and must keep doing so until Nextcloud merges and releases each change on a branch we consume. The three Jira tickets are parked in the "Waiting for NC/Collabora" sprint to track that. |
Rebases the IONOS delegated-settings delta onto vanilla v32.0.14. The app previously declared min-version="31" max-version="31" and would not enable on NC32. Upstream v32.0.14 still declares `implements ISettings`, so the IONOS commit was reapplied rather than dropped. PR: IONOS-Productivity/nc-activity#2 Tag: https://github.com/IONOS-Productivity/nc-activity/releases/tag/v32.0.14-e88a751 SHA: e88a7517caf687b450681a663e89e8e55db8eee1 Signed-off-by: Misha M.-Kupriyanov <kupriyanov@strato.de>
… IONOS fork) Rebases the IONOS delegated-settings delta onto vanilla v32.0.14. The app previously declared min-version="31" max-version="31" and would not enable on NC32. Upstream v32.0.14 still declares `implements ISettings`, so the IONOS commit was reapplied rather than dropped. The cherry-pick conflicted on the `#[\Override]` attributes NC32 added to this class; resolved by keeping them and applying them to the two new IDelegatedSettings methods. PR: IONOS-Productivity/nc-bruteforcesettings#2 Tag: https://github.com/IONOS-Productivity/nc-bruteforcesettings/releases/tag/v32.0.14-90d00db SHA: 90d00db18e7fca3c8d4976161b63ba3d7da31c31 Signed-off-by: Misha M.-Kupriyanov <kupriyanov@strato.de>
…S fork) The app previously declared min-version="31" max-version="31" and would not enable on NC32. This fork carries no IONOS commits: `git diff origin/stable31 origin/ionos-dev` in nc-notifications is empty. The new ionos-dev-v32 branch is therefore exactly upstream v32.0.14, tagged only so this gitlink can pin an immutable ref — the same thing the previous v31.0.14-c39cfb0f tag was. No fork PR was needed. Tag: https://github.com/IONOS-Productivity/nc-notifications/releases/tag/v32.0.14-b87d037 SHA: b87d03727bbef2567c47ffb6d95ef5a44aeb44a8 Signed-off-by: Misha M.-Kupriyanov <kupriyanov@strato.de>
…NOS fork) Rebases the IONOS delegated-settings delta onto vanilla v32.0.14. The app previously declared min-version="31" max-version="31" and would not enable on NC32. Upstream v32.0.14 still declares `implements ISettings`, so the IONOS commit was reapplied rather than dropped. It applied cleanly. PR: IONOS-Productivity/nc-password_policy#2 Tag: https://github.com/IONOS-Productivity/nc-password_policy/releases/tag/v32.0.14-aba443b SHA: aba443b755612273def2d2df4ed8d394f62f9cd8 Signed-off-by: Misha M.-Kupriyanov <kupriyanov@strato.de>
…v-dep) Already NC32-compatible (info.xml declares 31-32) and already Psalmed against stable32 in CI, because psalm-matrix.yml derives its matrix from info.xml rather than from composer.json. This picks up the composer dev-dependency bump from dev-stable31 to dev-stable32 so local runs match CI. Tag: https://github.com/IONOS-Productivity/ncw-apps-menu/releases/tag/v1.0.0-7115c94 SHA: 7115c949a0739ef29c9ffa8bb5a361210ef9aa8a Signed-off-by: Misha M.-Kupriyanov <kupriyanov@strato.de>
Already NC32-compatible (info.xml declares 31-32) and already Psalmed against stable32 in CI, because psalm-matrix.yml derives its matrix from info.xml rather than from composer.json. This picks up the composer dev-dependency bump from dev-stable31 to dev-stable32 so local runs match CI. Pinned to the master merge commit rather than a tag, matching this app's existing practice. Merge: IONOS-Productivity/ncw-mailtemplate#25 SHA: bcb0bb2cd822f81f62744da89892d20348a02557 Signed-off-by: Misha M.-Kupriyanov <kupriyanov@strato.de>
0d1cf42 to
0d3b843
Compare
Note
Stacked PR 3 of 3 — top of the stack. This PR targets
mk/dev/NSW-945-vanilla-apps-nc32(the head of #323), notionos-dev-v32.The diff and commit list below therefore contain only this PR's own 6 submodule bumps. Review #322 and #323 first.
Summary
Third and last piece of the v32 upgrade: the twelve
apps-external/submodules whose URL pointsat an
IONOS-Productivity/*repo. Four of them declaredmax-version="31"and would have refusedto enable on NC32.
Stacked on #323 (NSW-945), which is stacked on #322 (NSW-944).
ionos-dev-v32is bare vanillav32.0.14 with no
apps-externalsubmodules at all — those arrive in #322 — so this branch couldnot be cut from it directly.
Audit of all twelve IONOS-owned apps
maxisappinfo/info.xml max-versionbefore this PR. "IONOS delta" = commits on the fork'sionos-devthat are not upstream.lib/Settings/Admin.phplib/Settings/IPWhitelist.phplib/Settings/Settings.phpnextcloud/ocp→ dev-stable32nextcloud/ocp→ dev-stable32All twelve now report
max-version >= 32. Every verify-only app is pinned at its fork's branchtip, so none were stale.
Removed-API audit — clean across all twelve. No
OC_Helper::, noOC_Template/OCP\Template/OC_Util::add*, noappinfo/app.php, no/apps/files/api/v1/thumbnail.Reconciliation of the three real deltas
All three are the same patch:
implements ISettings→IDelegatedSettings, plusgetName()andgetAuthorizedAppConfig(). They pair withIONOS(admin-delegation): add delegated settings support to Settings and NavigationManagerin #322.All three were kept, none dropped. Upstream has not absorbed them — at
v32.0.14all threeclasses still read
implements ISettings.IDelegatedSettingsitself is byte-identical betweenv31 and v32, so the patches are semantically valid as-is.
bruteforcesettingsconflicted: NC32 added#[\Override]attributes to that class, moving thehunk context. Resolved by keeping them and applying
#[\Override]to the two new methods too.activityauto-merged and got the same treatment for consistency.password_policyhas no#[\Override]at v32, so none were added.Two forks carry no IONOS code
nc-notificationsandnc-formsare vanilla mirrors wearing a fork URL —git diff origin/stable31 origin/ionos-devin nc-notifications is empty, and nc-forms/ionos-devisexactly upstream
v5.2.0. Neither has a single IONOS-authored commit. Both forks are kept for nowper the ticket scope; de-forking them is worth its own ticket, adjacent to NSW-962.
On the two
ncw-*composer bumpsThese apps were already NC32-compatible and CI already Psalms them against stable32 —
psalm-matrix.ymlderives its matrix frominfo.xmlrather than fromcomposer.json. The bumpaligns local
composer psalmruns with CI; it is not a coverage fix.Depends on
All five are merged. Every gitlink in this PR now points at a fork tag or a merge commit — none
at a PR head:
activitye88a7517v32.0.14-e88a751bruteforcesettings90d00db1v32.0.14-90d00dbpassword_policyaba443b7v32.0.14-aba443bnotificationsb87d0372v32.0.14-b87d037ncw_apps_menu7115c949v1.0.0-7115c94ncw_mailtemplatebcb0bb2cThe three new tags are prereleases on each fork's
ionos-dev-v32tip; each tip is upstreamv32.0.14plus the single IONOS delegated-settings commit, and each declaresmin-version="32" max-version="32".notificationsneeded no PR — the fork carries no IONOScommits.
Checklist
v32.0.14-<sha7>fork tags.dev/container/check_release.sh pr-<this PR> ncw— validate pr locallyocc app:listshows all twelve enabledocc admin-delegation:showlists the Activity, brute-force IP allowlist and Password Policy sections, and a delegated non-admin sees exactly thoseSpotted, not fixed here
ncw-mailtemplate'supdate-nextcloud-ocp-matrix.ymltargetsstable30, three majors behind — which is why that dependency drifted.ncw-mailis on a 5.5.11 base while the fork already carries av5.6.14tag. Not a v32 blocker (declares 30-33).Jira: NSW-946