mediawiki/extensions/PushAll (main)

sourcepatches
From 0f04d51111fe23ac911cedf663cbc1faa0a5acc3 Mon Sep 17 00:00:00 2001
From: libraryupgrader <tools.libraryupgrader@tools.wmflabs.org>
Date: Sat, 23 May 2026 03:43:38 +0000
Subject: [PATCH] build: Updating qs to 6.15.2

* https://github.com/advisories/GHSA-q8mj-m7cp-5q26

Change-Id: I0ed896d1a80b476e88dc80f274aa865684f483ba
---
 package-lock.json | 6 +++---
 yarn.lock         | 6 +++---
 2 files changed, 6 insertions(+), 6 deletions(-)

diff --git a/package-lock.json b/package-lock.json
index 9cf16b1..ea35420 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -5065,9 +5065,9 @@
 			}
 		},
 		"node_modules/qs": {
-			"version": "6.15.0",
-			"resolved": "https://registry.npmjs.org/qs/-/qs-6.15.0.tgz",
-			"integrity": "sha512-mAZTtNCeetKMH+pSjrb76NAM8V9a05I9aBZOHztWy/UqcJdQYNsf59vrRKWnojAT9Y+GbIvoTBC++CPHqpDBhQ==",
+			"version": "6.15.2",
+			"resolved": "https://registry.npmjs.org/qs/-/qs-6.15.2.tgz",
+			"integrity": "sha512-Rzq0KEyX/w/tEybncDgdkZrJgVUsUMk3xjh3t5bv3S1HTAtg+uOYt72+ZfwiQwKdysThkTBdL/rTi6HDmX9Ddw==",
 			"dev": true,
 			"dependencies": {
 				"side-channel": "^1.1.0"
diff --git a/yarn.lock b/yarn.lock
index 54d47ba..448c78b 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -2760,9 +2760,9 @@ punycode@^2.1.0, punycode@^2.1.1, punycode@^2.3.0, punycode@^2.3.1:
   integrity sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==
 
 qs@^6.14.1:
-  version "6.15.0"
-  resolved "https://registry.npmjs.org/qs/-/qs-6.15.0.tgz"
-  integrity sha512-mAZTtNCeetKMH+pSjrb76NAM8V9a05I9aBZOHztWy/UqcJdQYNsf59vrRKWnojAT9Y+GbIvoTBC++CPHqpDBhQ==
+  version "6.15.2"
+  resolved "https://registry.npmjs.org/qs/-/qs-6.15.2.tgz"
+  integrity sha512-Rzq0KEyX/w/tEybncDgdkZrJgVUsUMk3xjh3t5bv3S1HTAtg+uOYt72+ZfwiQwKdysThkTBdL/rTi6HDmX9Ddw==
   dependencies:
     side-channel "^1.1.0"
 
-- 
2.47.3

$ date
--- stdout ---
Sat May 23 03:43:07 UTC 2026

--- end ---
$ git clone file:///srv/git/mediawiki-extensions-PushAll.git /src/repo --depth=1 -b master
--- stderr ---
Cloning into '/src/repo'...
--- stdout ---

--- end ---
$ git config user.name libraryupgrader
--- stdout ---

--- end ---
$ git config user.email tools.libraryupgrader@tools.wmflabs.org
--- stdout ---

--- end ---
$ git submodule update --init
--- stdout ---

--- end ---
$ grr init
--- stdout ---
Installed commit-msg hook.

--- end ---
$ git show-ref refs/heads/master
--- stdout ---
ce837bf0b89933c9258e8bdd00a41dddbc2f64f0 refs/heads/master

--- end ---
$ /usr/bin/npm audit --json
--- stdout ---
{
  "auditReportVersion": 2,
  "vulnerabilities": {
    "qs": {
      "name": "qs",
      "severity": "moderate",
      "isDirect": false,
      "via": [
        {
          "source": 1119502,
          "name": "qs",
          "dependency": "qs",
          "title": "qs has a remotely triggerable DoS: qs.stringify crashes with TypeError on null/undefined entries in comma-format arrays when encodeValuesOnly is set",
          "url": "https://github.com/advisories/GHSA-q8mj-m7cp-5q26",
          "severity": "moderate",
          "cwe": [
            "CWE-476"
          ],
          "cvss": {
            "score": 5.3,
            "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L"
          },
          "range": ">=6.11.1 <=6.15.1"
        }
      ],
      "effects": [],
      "range": "6.11.1 - 6.15.1",
      "nodes": [
        "node_modules/qs"
      ],
      "fixAvailable": true
    }
  },
  "metadata": {
    "vulnerabilities": {
      "info": 0,
      "low": 0,
      "moderate": 1,
      "high": 0,
      "critical": 0,
      "total": 1
    },
    "dependencies": {
      "prod": 1,
      "dev": 522,
      "optional": 0,
      "peer": 1,
      "peerOptional": 0,
      "total": 522
    }
  }
}

--- end ---
$ /usr/bin/composer install
--- stderr ---
No composer.lock file present. Updating dependencies to latest instead of installing from lock file. See https://getcomposer.org/install for more information.
Loading composer repositories with package information
Updating dependencies
Lock file operations: 20 installs, 0 updates, 0 removals
  - Locking composer/semver (3.4.4)
  - Locking composer/spdx-licenses (1.6.0)
  - Locking dealerdirect/phpcodesniffer-composer-installer (v1.2.1)
  - Locking mediawiki/mediawiki-codesniffer (v51.0.0)
  - Locking mediawiki/minus-x (2.0.1)
  - Locking php-parallel-lint/php-console-color (v1.0.1)
  - Locking php-parallel-lint/php-console-highlighter (v1.0.0)
  - Locking php-parallel-lint/php-parallel-lint (v1.4.0)
  - Locking phpcsstandards/phpcsextra (1.5.0)
  - Locking phpcsstandards/phpcsutils (1.2.2)
  - Locking psr/container (2.0.2)
  - Locking squizlabs/php_codesniffer (3.13.5)
  - Locking symfony/console (v8.0.11)
  - Locking symfony/deprecation-contracts (v3.7.0)
  - Locking symfony/polyfill-ctype (v1.37.0)
  - Locking symfony/polyfill-intl-grapheme (v1.37.0)
  - Locking symfony/polyfill-intl-normalizer (v1.37.0)
  - Locking symfony/polyfill-mbstring (v1.37.0)
  - Locking symfony/service-contracts (v3.7.0)
  - Locking symfony/string (v8.0.11)
Writing lock file
Installing dependencies from lock file (including require-dev)
Package operations: 20 installs, 0 updates, 0 removals
    0 [>---------------------------]    0 [->--------------------------]
  - Installing squizlabs/php_codesniffer (3.13.5): Extracting archive
  - Installing dealerdirect/phpcodesniffer-composer-installer (v1.2.1): Extracting archive
  - Installing phpcsstandards/phpcsutils (1.2.2): Extracting archive
  - Installing phpcsstandards/phpcsextra (1.5.0): Extracting archive
  - Installing symfony/polyfill-mbstring (v1.37.0): Extracting archive
  - Installing composer/spdx-licenses (1.6.0): Extracting archive
  - Installing composer/semver (3.4.4): Extracting archive
  - Installing mediawiki/mediawiki-codesniffer (v51.0.0): Extracting archive
  - Installing symfony/polyfill-intl-normalizer (v1.37.0): Extracting archive
  - Installing symfony/polyfill-intl-grapheme (v1.37.0): Extracting archive
  - Installing symfony/polyfill-ctype (v1.37.0): Extracting archive
  - Installing symfony/string (v8.0.11): Extracting archive
  - Installing symfony/deprecation-contracts (v3.7.0): Extracting archive
  - Installing psr/container (2.0.2): Extracting archive
  - Installing symfony/service-contracts (v3.7.0): Extracting archive
  - Installing symfony/console (v8.0.11): Extracting archive
  - Installing mediawiki/minus-x (2.0.1): Extracting archive
  - Installing php-parallel-lint/php-console-color (v1.0.1): Extracting archive
  - Installing php-parallel-lint/php-console-highlighter (v1.0.0): Extracting archive
  - Installing php-parallel-lint/php-parallel-lint (v1.4.0): Extracting archive
  0/18 [>---------------------------]   0%
 18/18 [============================] 100%
Generating autoload files
14 packages you are using are looking for funding.
Use the `composer fund` command to find out more!
--- stdout ---
PHP CodeSniffer Config installed_paths set to ../../mediawiki/mediawiki-codesniffer,../../phpcsstandards/phpcsextra,../../phpcsstandards/phpcsutils

--- end ---
$ /usr/bin/npm audit --json
--- stdout ---
{
  "auditReportVersion": 2,
  "vulnerabilities": {
    "qs": {
      "name": "qs",
      "severity": "moderate",
      "isDirect": false,
      "via": [
        {
          "source": 1119502,
          "name": "qs",
          "dependency": "qs",
          "title": "qs has a remotely triggerable DoS: qs.stringify crashes with TypeError on null/undefined entries in comma-format arrays when encodeValuesOnly is set",
          "url": "https://github.com/advisories/GHSA-q8mj-m7cp-5q26",
          "severity": "moderate",
          "cwe": [
            "CWE-476"
          ],
          "cvss": {
            "score": 5.3,
            "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L"
          },
          "range": ">=6.11.1 <=6.15.1"
        }
      ],
      "effects": [],
      "range": "6.11.1 - 6.15.1",
      "nodes": [
        "node_modules/qs"
      ],
      "fixAvailable": true
    }
  },
  "metadata": {
    "vulnerabilities": {
      "info": 0,
      "low": 0,
      "moderate": 1,
      "high": 0,
      "critical": 0,
      "total": 1
    },
    "dependencies": {
      "prod": 1,
      "dev": 522,
      "optional": 0,
      "peer": 1,
      "peerOptional": 0,
      "total": 522
    }
  }
}

--- end ---
Attempting to npm audit fix
$ /usr/bin/npm audit fix --dry-run --only=dev --json
--- stderr ---
npm WARN invalid config only="dev" set in command line options
npm WARN invalid config Must be one of: null, prod, production
--- stdout ---
{
  "added": 522,
  "removed": 0,
  "changed": 0,
  "audited": 523,
  "funding": 128,
  "audit": {
    "auditReportVersion": 2,
    "vulnerabilities": {
      "qs": {
        "name": "qs",
        "severity": "moderate",
        "isDirect": false,
        "via": [
          {
            "source": 1119502,
            "name": "qs",
            "dependency": "qs",
            "title": "qs has a remotely triggerable DoS: qs.stringify crashes with TypeError on null/undefined entries in comma-format arrays when encodeValuesOnly is set",
            "url": "https://github.com/advisories/GHSA-q8mj-m7cp-5q26",
            "severity": "moderate",
            "cwe": [
              "CWE-476"
            ],
            "cvss": {
              "score": 5.3,
              "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L"
            },
            "range": ">=6.11.1 <=6.15.1"
          }
        ],
        "effects": [],
        "range": "6.11.1 - 6.15.1",
        "nodes": [
          ""
        ],
        "fixAvailable": true
      }
    },
    "metadata": {
      "vulnerabilities": {
        "info": 0,
        "low": 0,
        "moderate": 1,
        "high": 0,
        "critical": 0,
        "total": 1
      },
      "dependencies": {
        "prod": 1,
        "dev": 522,
        "optional": 0,
        "peer": 1,
        "peerOptional": 0,
        "total": 522
      }
    }
  }
}

--- end ---
{"added": 522, "removed": 0, "changed": 0, "audited": 523, "funding": 128, "audit": {"auditReportVersion": 2, "vulnerabilities": {"qs": {"name": "qs", "severity": "moderate", "isDirect": false, "via": [{"source": 1119502, "name": "qs", "dependency": "qs", "title": "qs has a remotely triggerable DoS: qs.stringify crashes with TypeError on null/undefined entries in comma-format arrays when encodeValuesOnly is set", "url": "https://github.com/advisories/GHSA-q8mj-m7cp-5q26", "severity": "moderate", "cwe": ["CWE-476"], "cvss": {"score": 5.3, "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L"}, "range": ">=6.11.1 <=6.15.1"}], "effects": [], "range": "6.11.1 - 6.15.1", "nodes": [""], "fixAvailable": true}}, "metadata": {"vulnerabilities": {"info": 0, "low": 0, "moderate": 1, "high": 0, "critical": 0, "total": 1}, "dependencies": {"prod": 1, "dev": 522, "optional": 0, "peer": 1, "peerOptional": 0, "total": 522}}}}
$ /usr/bin/npm audit fix --only=dev
--- stderr ---
npm WARN invalid config only="dev" set in command line options
npm WARN invalid config Must be one of: null, prod, production
--- stdout ---

added 522 packages, and audited 523 packages in 6s

128 packages are looking for funding
  run `npm fund` for details

found 0 vulnerabilities

--- end ---
Verifying that tests still pass
$ /usr/bin/npm ci
--- stdout ---

added 522 packages, and audited 523 packages in 6s

128 packages are looking for funding
  run `npm fund` for details

found 0 vulnerabilities

--- end ---
$ /usr/bin/npm test
--- stdout ---

> test
> grunt test && qunit tests/qunit/setup.js tests/qunit

Running "eslint:all" (eslint) task

/src/repo/src/ui/js/ext.pushall.js
  510:3  warning  Prefer .then to .done  no-jquery/no-done-fail
  510:3  warning  Prefer .then to .fail  no-jquery/no-done-fail
  529:3  warning  Prefer .then to .done  no-jquery/no-done-fail
  529:3  warning  Prefer .then to .fail  no-jquery/no-done-fail

/src/repo/src/ui/js/ext.pushall.preferences.js
  8:22  warning  'jQuery' is already defined as a built-in global variable  no-redeclare

/src/repo/src/ui/js/ext.pushall.special.js
   8:22  warning  'jQuery' is already defined as a built-in global variable  no-redeclare
  35:5   warning  Prefer .then to .done                                      no-jquery/no-done-fail
  35:5   warning  Prefer .then to .fail                                      no-jquery/no-done-fail
  59:5   warning  Prefer .then to .done                                      no-jquery/no-done-fail
  59:5   warning  Prefer .then to .fail                                      no-jquery/no-done-fail

/src/repo/src/ui/js/ext.pushall.tab.js
  9:12  warning  'jQuery' is already defined as a built-in global variable  no-redeclare

/src/repo/src/ui/js/ext.pushall.widgets.CategorySelector.js
  63:1  warning  This line has a length of 114. Maximum allowed is 100  max-len

/src/repo/src/ui/js/ext.pushall.widgets.PageSelector.js
  62:1  warning  This line has a length of 103. Maximum allowed is 100  max-len

✖ 13 problems (0 errors, 13 warnings)


Running "stylelint:all" (stylelint) task
>> Linted 0 files without errors

Running "banana:all" (banana) task
>> 1 message directory checked.

Done.
TAP version 13
ok 1 PushAll > get status pushall-remote-content-status-not-exist
ok 2 PushAll > get status pushall-remote-content-exists-status-protected
ok 3 PushAll > get status pushall-remote-exists-content-status-equal
ok 4 PushAll > get status pushall-remote-content-status-obsolete
ok 5 PushAll > get status pushall-remote-content-status-diverge
ok 6 PushAll > get status pushall-remote-content-status-obsolete-and-diverge
ok 7 PushAll > get always a color
ok 8 PushAll > get getCheckboxAttrDisabled
ok 9 PushAll > get CheckboxPropChecked
ok 10 PushAll > get MsgTooltipCheckbox
ok 11 PushAll > get  LinkClass
1..11
# pass 11
# skip 0
# todo 0
# fail 0

--- end ---
{"1119502": {"source": 1119502, "name": "qs", "dependency": "qs", "title": "qs has a remotely triggerable DoS: qs.stringify crashes with TypeError on null/undefined entries in comma-format arrays when encodeValuesOnly is set", "url": "https://github.com/advisories/GHSA-q8mj-m7cp-5q26", "severity": "moderate", "cwe": ["CWE-476"], "cvss": {"score": 5.3, "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L"}, "range": ">=6.11.1 <=6.15.1"}}
Upgrading n:qs from 6.15.0 -> 6.15.2
$ package-lock-lint /src/repo/package-lock.json
--- stdout ---
Checking /src/repo/package-lock.json

--- end ---
build: Updating qs to 6.15.2

* https://github.com/advisories/GHSA-q8mj-m7cp-5q26

$ git add .
--- stdout ---

--- end ---
$ git commit -F /tmp/tmpxue382ue
--- stdout ---
[master 0f04d51] build: Updating qs to 6.15.2
 2 files changed, 6 insertions(+), 6 deletions(-)

--- end ---
$ git format-patch HEAD~1 --stdout
--- stdout ---
From 0f04d51111fe23ac911cedf663cbc1faa0a5acc3 Mon Sep 17 00:00:00 2001
From: libraryupgrader <tools.libraryupgrader@tools.wmflabs.org>
Date: Sat, 23 May 2026 03:43:38 +0000
Subject: [PATCH] build: Updating qs to 6.15.2

* https://github.com/advisories/GHSA-q8mj-m7cp-5q26

Change-Id: I0ed896d1a80b476e88dc80f274aa865684f483ba
---
 package-lock.json | 6 +++---
 yarn.lock         | 6 +++---
 2 files changed, 6 insertions(+), 6 deletions(-)

diff --git a/package-lock.json b/package-lock.json
index 9cf16b1..ea35420 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -5065,9 +5065,9 @@
 			}
 		},
 		"node_modules/qs": {
-			"version": "6.15.0",
-			"resolved": "https://registry.npmjs.org/qs/-/qs-6.15.0.tgz",
-			"integrity": "sha512-mAZTtNCeetKMH+pSjrb76NAM8V9a05I9aBZOHztWy/UqcJdQYNsf59vrRKWnojAT9Y+GbIvoTBC++CPHqpDBhQ==",
+			"version": "6.15.2",
+			"resolved": "https://registry.npmjs.org/qs/-/qs-6.15.2.tgz",
+			"integrity": "sha512-Rzq0KEyX/w/tEybncDgdkZrJgVUsUMk3xjh3t5bv3S1HTAtg+uOYt72+ZfwiQwKdysThkTBdL/rTi6HDmX9Ddw==",
 			"dev": true,
 			"dependencies": {
 				"side-channel": "^1.1.0"
diff --git a/yarn.lock b/yarn.lock
index 54d47ba..448c78b 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -2760,9 +2760,9 @@ punycode@^2.1.0, punycode@^2.1.1, punycode@^2.3.0, punycode@^2.3.1:
   integrity sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==
 
 qs@^6.14.1:
-  version "6.15.0"
-  resolved "https://registry.npmjs.org/qs/-/qs-6.15.0.tgz"
-  integrity sha512-mAZTtNCeetKMH+pSjrb76NAM8V9a05I9aBZOHztWy/UqcJdQYNsf59vrRKWnojAT9Y+GbIvoTBC++CPHqpDBhQ==
+  version "6.15.2"
+  resolved "https://registry.npmjs.org/qs/-/qs-6.15.2.tgz"
+  integrity sha512-Rzq0KEyX/w/tEybncDgdkZrJgVUsUMk3xjh3t5bv3S1HTAtg+uOYt72+ZfwiQwKdysThkTBdL/rTi6HDmX9Ddw==
   dependencies:
     side-channel "^1.1.0"
 
-- 
2.47.3


--- end ---

composer dependencies

Development dependencies

npm dependencies

Development dependencies

Logs

Source code is licensed under the AGPL.