Repository navigation
fix(nc35): register OpenRegister autoloader without removed OC_App API - #874
Conversation
Nextcloud 35 removed the private \OC_App::registerAutoloading(). The call threw inside OpenRegisterAutoloader::register(), which then returned false, so the prelude never registered OpenRegister's prefix. Register a PSR-4 loader for OCA\OpenRegister\ -> <openregister>/lib/ via spl_autoload_register(), using only the public IAppManager (isEnabledForAnyone() + getAppPath()), same approach as keepiq#712. register(): bool keeps its contract and call site; an optional IAppManager can be injected for tests. Adds unregister() and classFile() plus unit tests for the enabled, disabled, throwing and mapping paths. Also declare Nextcloud 35 support (info.xml max-version 35) and drop the now-unneeded psalm OC_App suppression. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01M7DxSg7d7wqqZsUppLWf7J
Quality Report — ConductionNL/planninq @
|
| Check | PHP | Vue | Security | License | Tests |
|---|---|---|---|---|---|
| lint | ✅ | ||||
| phpcs | ✅ | ||||
| phpmd | ✅ | ||||
| psalm | ✅ | ||||
| phpstan | ✅ | ||||
| phpmetrics | ✅ | ||||
| eslint | ✅ | ||||
| stylelint | ✅ | ||||
| build | ✅ | ||||
| check-manifest | ✅ | ||||
| check-l10n-js | ✅ | ||||
| check-schema-l10n | ✅ | ||||
| composer | ✅ | ✅ 107/107 | |||
| npm | ✅ | ✅ 646/646 | |||
| app:check-code | ⏭️ | ||||
| info.xml | ✅ | ||||
| REUSE | ❌ | ||||
| lockfile sync | ✅ | ||||
| PHPUnit | ❌ | ||||
| Newman | ❌ | ||||
| Playwright | ⏭️ deferred: 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 locally with npx playwright test, or from the Actions tab on a branch with no open pull request into development. |
||||
| Hydra gates | ❌ |
Quality workflow — 2026-10-06 10:26 UTC
Download the full PDF report from the workflow artifacts.
|
CI triage for Update after the re-run (attempt 2). ConductionNL/openregister#4406 is merged, so openregister now enables on stable35 and the tests ran. Both remaining failures already exist on
These need fixing on Generated by Claude Code |
Quality Report — ConductionNL/planninq @
|
| Check | PHP | Vue | Security | License | Tests |
|---|---|---|---|---|---|
| lint | ✅ | ||||
| phpcs | ✅ | ||||
| phpmd | ✅ | ||||
| psalm | ✅ | ||||
| phpstan | ✅ | ||||
| phpmetrics | ✅ | ||||
| eslint | ✅ | ||||
| stylelint | ✅ | ||||
| build | ✅ | ||||
| check-manifest | ✅ | ||||
| check-l10n-js | ✅ | ||||
| check-schema-l10n | ✅ | ||||
| composer | ✅ | ✅ 107/107 | |||
| npm | ✅ | ✅ 646/646 | |||
| app:check-code | ⏭️ | ||||
| info.xml | ✅ | ||||
| REUSE | ❌ | ||||
| lockfile sync | ✅ | ||||
| PHPUnit | ❌ | ||||
| Newman | ❌ | ||||
| Playwright | ⏭️ deferred: 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 locally with npx playwright test, or from the Actions tab on a branch with no open pull request into development. |
||||
| Hydra gates | ❌ |
Quality workflow — 2026-10-06 11:25 UTC
Download the full PDF report from the workflow artifacts.
Summary
Part of the fleet-wide Nextcloud 35 rollout (see ConductionNL/decidiq#1616). Nextcloud 35 removed the private
\OC_App::registerAutoloading(); the OpenRegister autoload prelude now registers a PSR-4 loader with the publicIAppManager+spl_autoload_register(as in keepiq#712). Declares NC35;OC_Apppsalm suppression removed.Commits
Validation and open risks
OpenRegisterAutoloaderTest OK (7) on OCP 34 and 35. Full suite: CI.
Merge order
Land ConductionNL/openregister#4406 first (CI installs openregister
development).🤖 Generated with Claude Code
https://claude.ai/code/session_01M7DxSg7d7wqqZsUppLWf7J
Generated by Claude Code