From 99f7297b6847a303a6db837ef96100b5cde4f4fb Mon Sep 17 00:00:00 2001 From: Joas Schilling Date: Fri, 15 May 2026 22:20:42 +0200 Subject: [PATCH] fix(dav): Skip removal of classified activity only once Was fixed in Nextcloud 16, so future versions should not generate this anymore. So the delete attempt can be skipped, after doing it once. We are keeping this to ensure it also runs after migrating from ownCloud Signed-off-by: Joas Schilling --- apps/dav/lib/Migration/RemoveClassifiedEventActivity.php | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/apps/dav/lib/Migration/RemoveClassifiedEventActivity.php b/apps/dav/lib/Migration/RemoveClassifiedEventActivity.php index 23cea72d40d00..0bfa00483e54b 100644 --- a/apps/dav/lib/Migration/RemoveClassifiedEventActivity.php +++ b/apps/dav/lib/Migration/RemoveClassifiedEventActivity.php @@ -9,6 +9,7 @@ namespace OCA\DAV\Migration; use OCA\DAV\CalDAV\CalDavBackend; +use OCP\AppFramework\Services\IAppConfig; use OCP\IDBConnection; use OCP\Migration\IOutput; use OCP\Migration\IRepairStep; @@ -17,6 +18,7 @@ class RemoveClassifiedEventActivity implements IRepairStep { public function __construct( private IDBConnection $connection, + private IAppConfig $appConfig, ) { } @@ -33,12 +35,17 @@ public function getName() { */ #[\Override] public function run(IOutput $output) { + if ($this->appConfig->getAppValueBool('checked_for_classified_activity')) { + return; + } + if (!$this->connection->tableExists('activity')) { return; } $deletedEvents = $this->removePrivateEventActivity(); $deletedEvents += $this->removeConfidentialUncensoredEventActivity(); + $this->appConfig->setAppValueBool('checked_for_classified_activity', true); $output->info("Removed $deletedEvents activity entries"); }