From 15d83e044f90c6bc4601985bc638b97ca28131ac Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sandro=20J=C3=A4ckel?= Date: Tue, 7 Apr 2026 01:04:22 +0200 Subject: [PATCH] mediawiki: do not clear session cache on every start --- .../me/mediawiki/keep-session-object-cache.diff | 13 +++++++++++++ pkgs/by-name/me/mediawiki/package.nix | 6 ++++++ 2 files changed, 19 insertions(+) create mode 100644 pkgs/by-name/me/mediawiki/keep-session-object-cache.diff diff --git a/pkgs/by-name/me/mediawiki/keep-session-object-cache.diff b/pkgs/by-name/me/mediawiki/keep-session-object-cache.diff new file mode 100644 index 000000000000..9d7f078b3ada --- /dev/null +++ b/pkgs/by-name/me/mediawiki/keep-session-object-cache.diff @@ -0,0 +1,13 @@ +diff --git a/includes/Installer/DatabaseUpdater.php b/includes/Installer/DatabaseUpdater.php +index 8ed996b9dee..733a3210096 100644 +--- a/includes/Installer/DatabaseUpdater.php ++++ b/includes/Installer/DatabaseUpdater.php +@@ -1380,7 +1380,7 @@ public function purgeCache() { + // ObjectCache + $this->db->newDeleteQueryBuilder() + ->deleteFrom( 'objectcache' ) +- ->where( ISQLPlatform::ALL_ROWS ) ++ ->where( "keyname NOT LIKE '%:MWSession:%'" ) + ->caller( __METHOD__ ) + ->execute(); + diff --git a/pkgs/by-name/me/mediawiki/package.nix b/pkgs/by-name/me/mediawiki/package.nix index 137a750715aa..9d81a3ccb17b 100644 --- a/pkgs/by-name/me/mediawiki/package.nix +++ b/pkgs/by-name/me/mediawiki/package.nix @@ -14,6 +14,12 @@ stdenvNoCC.mkDerivation rec { hash = "sha256-XqjB8yHJ+Nuk0aweTsoYJ/sTUZ1KIZDiOfUUMgWKQmk="; }; + patches = [ + # NixOS runs the update script on every start as we might need to run some migrations. + # Normally this clears all active sessions, for usability we do not do that. + ./keep-session-object-cache.diff + ]; + postPatch = '' substituteInPlace includes/installer/CliInstaller.php \ --replace-fail '$vars = Installer::getExistingLocalSettings();' '$vars = null;'