Skip to content

release: promote the enable fix to beta - #135

Merged
rubenvdlinde merged 1 commit into
betafrom
development
Aug 6, 2026
Merged

release: promote the enable fix to beta#135
rubenvdlinde merged 1 commit into
betafrom
development

Conversation

@rubenvdlinde

Copy link
Copy Markdown
Contributor

Carries #134. Without it, every app installed through App Versions can be installed but not enabled, which is most of the point of the app.

…be enabled (#134)

Every app installed through App Versions could be installed but not
enabled. `occ app:enable <app>` died with

  conflict between new type (mixed) and old type (string)

which reads like a schema problem and is not one. It appeared on a
completely clean Nextcloud, which is the tell: there was no old schema to
conflict with.

Since Nextcloud 29 each appconfig row carries a type, and core only
accepts a write whose type differs from the stored one when the stored
type is VALUE_MIXED. Core writes installed_version, enabled, types and
its own remote_/public_ routes through the untyped
IConfig::setAppValue(), so those rows are MIXED. The finalizer wrote them
with setValueString(), leaving VALUE_STRING rows that core could no
longer update, so the very next enable threw.

Confirmed by comparing an app installed normally against one installed
through App Versions: files had type=2 (MIXED) on those keys, pipelinq
had type=4 (STRING).

Core's keys now go through setAppValue(), matching core exactly.
IConfig::setAppValue is deprecated, but it is the only public API that
writes untyped, and matching core's type is the whole point. Config this
app owns stays on the typed API.

Verified on a clean Nextcloud 31: install pipelinq 0.6.0-dev through
App Versions, then `occ app:enable pipelinq` succeeds, and its
installed_version/enabled/types rows are type=2 exactly like files.

Co-authored-by: Conduction Release Bot <release-bot@conduction.nl>
@rubenvdlinde
rubenvdlinde merged commit 13b5808 into beta Aug 6, 2026
14 of 23 checks passed
@github-actions

github-actions Bot commented Aug 6, 2026

Copy link
Copy Markdown
Contributor

Quality Report — ConductionNL/app-versions @ 8ccbbfb

Check PHP Vue Security License Tests
lint
phpcs
phpmd
psalm
phpstan
phpmetrics
eslint
stylelint
build
composer ✅ 17/17
npm
PHPUnit ⏭️
Newman ⏭️
Playwright ⏭️
Hydra gates

Quality workflow — 2026-08-06 13:03 UTC

Download the full PDF report from the workflow artifacts.

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