Skip to content

chore(config): move AppStoreSource off the deprecated IConfig app-value API - #343

Merged
rubenvdlinde merged 1 commit into
developmentfrom
chore/appstoresource-uses-iappconfig
Aug 31, 2026
Merged

chore(config): move AppStoreSource off the deprecated IConfig app-value API#343
rubenvdlinde merged 1 commit into
developmentfrom
chore/appstoresource-uses-iappconfig

Conversation

@rubenvdlinde

Copy link
Copy Markdown
Contributor

Completes what the ForgeRegistry PR started. OCP\IConfig::getAppValue and setAppValue are @deprecated 29.0.0 in favour of IAppConfig. 92 -> 87, and versioniq now has no deprecated app-value call left anywhere.

This one could not be a straight swap, which is exactly why it was held back: AppStoreSource also calls getSystemValueString, which exists only on IConfig. So it now takes both — IConfig purely for the system value, IAppConfig for the five app values.

The part worth reviewing

The new parameter goes after the existing IConfig one, and all five test constructions are positional, so every one is updated in the same commit. Adding a parameter mid-signature without walking the call sites is how a green suite turns into Argument #N must be of type X at runtime.

The stubs move with the calls: getAppValue -> getValueString, setAppValue -> setValueString. setValueString returns bool where setAppValue returned void, so those callbacks now return true — a void callback would have handed PHPUnit a null for a bool return type.

Verification

vendor/bin/psalm 5.26.1 on PHP 8.3: 92 -> 87 with the baseline emptied, regenerated baseline green, and the five stale DeprecatedMethod entries are gone rather than merely unused. PHPUnit not run locally (needs the server bootstrap).

…ue API

Completes the migration started for ForgeRegistry. OCP\IConfig::getAppValue
and setAppValue are @deprecated 29.0.0 in favour of IAppConfig. 92 -> 87,
and versioniq now has no deprecated app-value call left.

This one could not be a straight swap, which is why it was held back from
the ForgeRegistry PR: AppStoreSource also calls getSystemValueString, which
exists ONLY on IConfig. So it takes BOTH now, IConfig purely for the system
value and IAppConfig for the five app values.

⚠️ The new parameter goes AFTER the existing IConfig one, and all five test
constructions are POSITIONAL, so every one of them is updated in the same
commit. Adding a parameter mid-signature without walking the call sites is
how a green suite turns into `Argument #N must be of type X` at runtime.

The mock stubs move with the calls: getAppValue -> getValueString and
setAppValue -> setValueString. setValueString returns bool where setAppValue
returned void, so those callbacks return true rather than nothing; a void
callback would have handed PHPUnit a null for a bool return.

Verified with the repo own vendor/bin/psalm 5.26.1 on PHP 8.3: 92 -> 87 with
the baseline emptied, regenerated baseline is green, and the five stale
DeprecatedMethod entries are gone rather than merely unused. PHPUnit was NOT
run here, it needs the Nextcloud server bootstrap.
@github-actions

Copy link
Copy Markdown
Contributor

Quality Report — ConductionNL/versioniq @ 870ada9

Check PHP Vue Security License Tests
lint
phpcs
phpmd
psalm
phpstan
phpmetrics
eslint
stylelint
build
composer ✅ 29/29
npm ✅ 302/302
app:check-code ⏭️
info.xml
REUSE
PHPUnit
Newman ⏭️
Playwright ⏭️ deferred — runs on the promotion into beta/main, not on a pull request into development
Hydra gates

Quality workflow — 2026-08-31 18:59 UTC

Download the full PDF report from the workflow artifacts.

@rubenvdlinde
rubenvdlinde merged commit c4cd979 into development Aug 31, 2026
44 checks passed
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