Skip to content

fix(daemon): drop the cached ExApps when a deploy daemon is updated - #1205

Merged
oleksandr-nc merged 1 commit into
mainfrom
fix/daemon-update-exapps-cache
Nov 13, 2026
Merged

oleksandr-nc merged 1 commit into
mainfrom
fix/daemon-update-exapps-cache

Conversation

@oleksandr-nc

Copy link
Copy Markdown
Contributor

With Redis or Memcached, AppAPI caches the list of ExApps, and each cached ExApp carries a copy of its deploy daemon's protocol, host and deploy config. Updating a daemon in the admin settings did not drop that cache, so Nextcloud kept using the old settings for the daemon's ExApps until the entry expired or an ExApp changed. After a HaRP shared key change, HaRP's requests to Nextcloud were checked against the old key and refused, and Nextcloud still sent the old key to HaRP.

DaemonConfigService::updateDaemonConfig() now drops the cached ExApps after a successful update. Registry mappings are read from the daemon itself, so adding or removing one needs no reset. The coming occ app_api:daemon:update (#1129) uses the same method.

Signed-off-by: Oleksandr Piskun <oleksandr2088@icloud.com>
@coderabbitai

coderabbitai Bot commented Nov 13, 2026

Copy link
Copy Markdown

Explain Change →

No actionable comments were generated in the recent review.

Walkthrough

After a successful daemon configuration update, DaemonConfigService resets the ExApp cache. ExAppService removes the /ex_apps entry when a cache is available. The test suite checks that a configuration update calls the reset method once. The changelog states that ExApps use updated deploy-daemon settings instead of cached settings.

Merge Risk: Minimal · up to 91a70

Updating a deploy daemon now clears the cached ExApps, so ExApps use the new settings, including a changed HaRP key. No merge-blocking risk remains.

Pre-merge checks: Passed 4

Check name Status Explanation
Title check Passed The title names the main change: the ExApps cache is dropped when a deploy daemon is updated. The changeset adds resetExAppsCache() to ExAppService and calls it from DaemonConfigService::updateDaemonC…
Description check Passed The description is on-topic. It explains that AppAPI caches ExApps with their deploy daemon settings, that updating a daemon did not clear that cache, and that the fix drops the cache after a successf…
Linked Issues check Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check Passed Check skipped because no linked issues were found for this pull request.
Full details: Title check

Explanation

The title names the main change: the ExApps cache is dropped when a deploy daemon is updated. The changeset adds resetExAppsCache() to ExAppService and calls it from DaemonConfigService::updateDaemonConfig() after a successful update, which matches the title. The 'fix(daemon)' prefix fits the changelog 'Fixed' entry.

Full details: Description check

Explanation

The description is on-topic. It explains that AppAPI caches ExApps with their deploy daemon settings, that updating a daemon did not clear that cache, and that the fix drops the cache after a successful update in DaemonConfigService::updateDaemonConfig(). This matches the changelog, service, and test changes.

  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

Share

Recent review info

Run configuration

  • Source mode: Auto
  • Repository: Unavailable
  • Branch: Unavailable
  • File: No configuration file from this repository applied
  • Commit: Unavailable
  • Layers: Organization UI
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: 0b694706-9137-447c-94d8-082bca143dbe
Commits

Reviewing files that changed from the base of the PR and between bd4f774 and 91a70d6.

Files selected for processing: 4

  • CHANGELOG.md
  • lib/Service/DaemonConfigService.php
  • lib/Service/ExAppService.php
  • tests/php/Service/DaemonConfigServiceTest.php

Included review availability: This review used your included allowance. Your plan provides up to 2 included reviews per hour; 1 remain after this review.

@oleksandr-nc
oleksandr-nc merged commit 072b6b4 into main Nov 13, 2026
53 of 54 checks passed
@oleksandr-nc
oleksandr-nc deleted the fix/daemon-update-exapps-cache branch November 13, 2026 09:47
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