Skip to content

fix(roles/nextcloud): enable the support app and hide its admin section again - #459

Merged
NavidSassan merged 3 commits into
mainfrom
fix/nextcloud-support-app
Oct 20, 2026
Merged

NavidSassan merged 3 commits into
mainfrom
fix/nextcloud-support-app

Conversation

@markuslf

@markuslf markuslf commented Oct 16, 2026 •

Copy link
Copy Markdown
Member

Summary

  • Enable the support app by default, as Nextcloud ships it (core/shipped.json, defaultEnabled). It renews the subscription record of an Enterprise instance every 23 hours. Disabled, the record freezes, and nextcloud-enterprise from the Monitoring Plugins warns about stale subscription data on every Enterprise host deployed with LFOps. Without a subscription key the app makes no outbound request.
  • Set support hide-app to the string 'yes' again. Since Feature/nextcloud modules #202 it has been stored as boolean 1, but the app only hides its admin section on getAppValue('support', 'hide-app', 'no') === 'yes'.
  • Store dav buildCalendarSearchIndex as the string 'yes' again. The dav post-migration repair step skips itself only on === 'yes'. With the boolean 1 stored since Feature/nextcloud modules #202, every Nextcloud upgrade queues a full rebuild of the calendar search index, and the step then fails with AppConfigTypeConflictException when it writes yes back. Repair::run() logs that as an error and continues.
  • Document the deviation from the upstream default in the role README, and add asserts for all three to extensions/molecule/setup_nextcloud/verify.yml.

Verified in the source of support 7.0.0 and core/shipped.json from the Nextcloud 35.0.2 release tarball.

Test plan

  • molecule test --scenario-name setup_nextcloud

…on again

The role disabled the `support` app, which Nextcloud ships enabled. That
app renews the subscription record of an Enterprise instance every 23 hours.
Disabled, the record froze at its last answer, and nextcloud-enterprise
warns about it on every Enterprise host deployed with LFOps. Without a
subscription key the app contacts nobody, so community instances are not
affected.

`support hide-app` has been stored as boolean `1` since the switch to the
`nextcloud_occ_app_config` module (#202). The app hides its admin section
only on `getAppValue('support', 'hide-app', 'no') === 'yes'`, so the
section was visible again. The value is the string `yes` now; the module
converts the stored type with `--no-interaction`.

Verified in the source of `support` 7.0.0 and `core/shipped.json` of
Nextcloud 35.0.2.
@markuslf
markuslf requested a review from NavidSassan October 16, 2026 14:32
markuslf and others added 2 commits October 16, 2026 16:48
…g yes

The dav post-migration repair step BuildCalendarSearchIndex skips itself
only on `getAppValue('dav', 'buildCalendarSearchIndex') === 'yes'`. Since
#202 the role stores boolean `1`, so on every upgrade the step queues a
full rebuild of the calendar search index and then writes `yes` back with
`setAppValue()`, which AppConfig rejects with AppConfigTypeConflictException
(mixed over boolean). Repair::run() catches and logs it as an error, so the
upgrade itself goes through.

Verified in the Nextcloud server source (master of 2026-09-18).
@NavidSassan
NavidSassan enabled auto-merge October 20, 2026 12:21
@NavidSassan
NavidSassan merged commit b93c194 into main Oct 20, 2026
13 checks passed
@NavidSassan
NavidSassan deleted the fix/nextcloud-support-app branch October 20, 2026 12:23
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.

2 participants