Skip to content

fix: restore the pre-32 Nextcloud floor — this repo tests stable31 - #424

Merged
rubenvdlinde merged 1 commit into
developmentfrom
fix/restore-nc-floor
Aug 7, 2026
Merged

fix: restore the pre-32 Nextcloud floor — this repo tests stable31#424
rubenvdlinde merged 1 commit into
developmentfrom
fix/restore-nc-floor

Conversation

@rubenvdlinde

Copy link
Copy Markdown
Contributor

fix: restore the pre-32 Nextcloud floor — this repo tests stable31

The 32 floor was raised on the premise that nothing tested below it. That is
false here: this repo's own CI runs stable31, and min-version is enforced at
install time, so occ app:enable refuses on 31 and the e2e seed fails with
"is not installed or enabled".

The original reason for a 32 floor no longer holds either. It came from
openregister implementing OCP\ContextChat\IContentProvider, an interface
absent before NC 32. openregister#2372 removed every eager reference to that
class, so it is only loaded inside interface_exists() guards and the header is
never read on an older server. openregister#2380 restored its own 28 floor on
that evidence.

The 32 floor was raised on the premise that nothing tested below it. That is
false here: this repo's own CI runs stable31, and min-version is enforced at
install time, so occ app:enable refuses on 31 and the e2e seed fails with
"is not installed or enabled".

The original reason for a 32 floor no longer holds either. It came from
openregister implementing OCP\ContextChat\IContentProvider, an interface
absent before NC 32. openregister#2372 removed every eager reference to that
class, so it is only loaded inside interface_exists() guards and the header is
never read on an older server. openregister#2380 restored its own 28 floor on
that evidence.
@rubenvdlinde
rubenvdlinde merged commit cccf3f7 into development Aug 7, 2026
@github-actions

github-actions Bot commented Aug 7, 2026

Copy link
Copy Markdown
Contributor

Quality Report — ConductionNL/decidesk @ 453eeff

Check PHP Vue Security License Tests
lint
phpcs
phpmd
psalm
phpstan
phpmetrics
eslint
stylelint
build
check-manifest
test-l10n
composer ✅ 100/100
npm ✅ 549/549
PHPUnit
Newman
Playwright
Hydra gates

Quality workflow — 2026-08-07 11:47 UTC

Download the full PDF report from the workflow artifacts.

rubenvdlinde added a commit that referenced this pull request Aug 8, 2026
decidesk was the last repo in the fleet still installing NC stable31, and it
is the leg that blocked #425.

openregister declares min-version="32" (openregister#2384, merged today), and
decidesk installs it as an `additional-apps` entry while `src/manifest.json`
names it a hard dependency. On stable31 `occ app:enable openregister` refuses
with "not compatible with this version of the server" — but the shared
workflow runs it as

    php occ app:enable "$name" || echo "::warning::Failed to enable $name, continuing..."

so the refusal is a WARNING, the run continues without its data layer, and
dies ~70s later on missing schemas. That reads like an app fault. It is not.

Order compounded it: the newman, playwright and journeydoc-capture jobs each
check the server out at `fromJSON(inputs.nextcloud-test-refs)[0]`, so stable31
sitting first put all three on the one version openregister cannot load.

Two halves, both required:
- matrix: '["stable31","stable32"]' -> '["stable32"]'. stable33 deliberately
  not added; this removes an impossible leg, it does not widen the matrix.
- info.xml: <nextcloud min-version> 28 -> 32, per the rule that an app's floor
  must be >= the maximum floor of every app it hard-depends on
  (openconnector#1172/#1173). <php min-version="8.3"/> and max-version="34"
  are unchanged.

openspec/app-config.json carries the same matrix and moves with it, so
/app-verify does not report drift.

This reverses #424, whose premise has expired: it restored the 28 floor on the
grounds that openregister had gone back to 28 in openregister#2380. #2384 moved
it back to 32 deliberately and fleet-wide, and names decidesk as one of eight
consumers that must move their matrices to stable32.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant