Skip to content
This repository was archived by the owner on Aug 4, 2026. It is now read-only.
This repository was archived by the owner on Aug 4, 2026. It is now read-only.

Lint debt cleanup post-canonical-sync (Phase 2 fleet rollout) #32

Description

@rubenvdlinde

Context

Tracking issue for lint debt remaining after the Phase 2 fleet-wide canonical
root-config sync. Sibling PRs landed on shillinq (#300), decidesk (#243), and
this PR on deskdesk.

The canonical configs (phpcs.xml, phpmd.xml, psalm.xml, phpstan.neon,
custom sniffs) now match nextcloud-app-template exactly. No per-app rule
weakening — anything that couldn't be fixed mechanically is captured here.

phpstan baselined errors (1)

  • lib/Service/SettingsService.php:244\OC::$SERVERROOT legacy server
    accessor. Replace with a proper path-resolution alternative
    (IServerContainer / IConfig paths, or pass the NC root in via DI).
    The current usage resolves the bundled register JSON file relative to
    /var/www/html to satisfy ConfigurationService::importFromFilePath.

phpmd architectural violations (1)

  • BooleanArgumentFlag
    lib/Service/SettingsService.php:228 SettingsService::loadConfiguration
    takes a bool $force flag (Single Responsibility violation). Public
    method, requires API redesign — split into loadConfiguration() and
    forceLoadConfiguration() or accept an enum/options object.

phpcs warnings (21, informational only)

phpcs reports 0 errors, 21 warnings across 12 files (mostly Generic.Files.LineLength
and complexity hints). Tracked here for future complexity refactors but not
blocking — phpcs gate passes.

Out of scope here

Per the Phase 2 directive, this PR does not weaken any per-app validation
rules — those decisions stay fleet-wide in the canonical templates.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions