Commit graph

7712 commits

Author SHA1 Message Date
STran 1c96981117 Clarify protected status in filter checkboxes
The UI/UX for acknowledging a filter will be protected/is protected
could be clearer. The checkbox implemented currently doesn't make
it clear that the acknowledgement is mandatory and filters that are
already protected allow for the checkbox to be unchecked even though
that doesn't reflect that the filter cannot be unprotected.

- Update copy for the protected filter acknowledgement to make it clear
  that it's a mandatory acknowledgement, not an optional one
- Update copy for the error that shows when a filter that should be
  protected doesn't have the acknowledgement checked
- When a filter is already protected, disable the acknowledgement
  checkbox to indicate this is not mutable

Bug: T364485
Change-Id: I667fcca4511dff1ac3ca69930c5b5e5eb5001787
2024-06-06 00:23:39 -07:00
jenkins-bot 415135a156 Merge "Stop trying to update new storage method ES address pointers" 2024-06-06 00:03:55 +00:00
libraryupgrader 3583cad1a3 build: Updating stylelint-config-wikimedia to 0.17.1
Change-Id: I0e2ccd826ced9008328a53c197076bad0067db69
2024-06-05 18:50:22 +00:00
Amir Sarabadani 4fb92a37b8 Stop trying to update new storage method ES address pointers
We are trying to get rid of text table. See T183490 and explicitly see T362566.

Bug: T366705
Change-Id: Id133ff94e9518c7819c2e2fb8e01ee2a115c24d7
2024-06-05 19:20:25 +02:00
jenkins-bot 64443f9905 Merge "Add error message for unprivileged access of filter history" 2024-06-05 15:19:31 +00:00
Thalia 8f39ef3b8a Fix permission error shown on history page for protected filter
When a user without the right to see protected filters visits
Special:AbuseFilter/history/<ID>, show the permission error
message for protected filters.

Before this commit, the error message for hidden filters is
used instead, even if the filter is not hidden.

Bug: T364465
Change-Id: If2573fe256a7e29e8184feaf2f0622659706fd56
2024-06-05 15:53:04 +01:00
jenkins-bot 3897096fd7 Merge "Implement 'protected' filter acknowledgement checkbox" 2024-06-05 13:42:33 +00:00
STran 5da20292ea Add error message for unprivileged access of filter history
Attempting to access a diff in the history of a protected filter when
the user doesn't have the right to view protected variables results
in the 'abusefilter-history-error-protected' error and requires copy.

- Add copy for the user-facing 'abusefilter-history-error-protected'
  error

Bug: T364465
Change-Id: I0e9afae90c43bd3f792f1330ea865c0d56a023d1
2024-06-05 06:22:10 -07:00
STran 69a28f7f03 Implement 'protected' filter acknowledgement checkbox
- Add a basic checkbox on the filter edit page that must be checked if a
  filter uses a protected variable to ensure that the user is aware that
  their filter will also become protected

Bug: T364485
Change-Id: I7c7652f7d1a81223229b839ff7eee5da4af74c8a
2024-06-05 05:43:25 -07:00
Translation updater bot e126601788 Localisation updates from https://translatewiki.net.
Change-Id: I2ea878200aef92946e81300e76a071d5054c2a97
2024-06-05 09:21:47 +02:00
jenkins-bot 4e14afa6fb Merge "Allow variables to be restricted by user right" 2024-06-04 17:20:17 +00:00
STran bf28dbce0e Allow variables to be restricted by user right
Some exposed variables (eg. `user_ip`) used in filters are sensitive
and need to only be available to restricted groups of users.

Back-end changes:
- Add `AbuseFilterProtectedVariables` which defines what variables are
  protected by the new right `abusefilter-access-protected-vars`
- Add the concept of a `protected` variable, the use of which will
  denote the entire filter as protected via a flag on `af_hidden`

New UX features:
- Display changes to the protected status of filters on history and diff
  pages
- Check for protected variables and the right to see them in filter
  validation and don't allow a filter to be saved if it uses a variable
  that the user doesn't have access to
- Check for the right to view protected variables before allowing access
  and edits to existing filters that use them

Bug: T364465
Bug: T363906
Change-Id: I828bbb4015e87040f69a8e10c7888273c4f24dd3
2024-06-04 06:54:53 -07:00
Translation updater bot 77354e4ee4 Localisation updates from https://translatewiki.net.
Change-Id: I9141fb84ee0c61d2240e6cebab5715c2fb3875f5
2024-06-04 09:29:27 +02:00
libraryupgrader efa5460918 build: Updating npm dependencies
* eslint-config-wikimedia: 0.27.0 → 0.28.0
* grunt-stylelint: 0.19.0 → 0.20.0
* stylelint-config-wikimedia: 0.16.1 → 0.17.0

Change-Id: I7a36d9db97da9274f6b81097beb0cbf089022043
2024-06-04 00:33:18 +00:00
Translation updater bot 06b556f6c6 Localisation updates from https://translatewiki.net.
Change-Id: Ia2154f54ebe9df5fe38319d98002c0f64856ebf0
2024-06-03 09:30:04 +02:00
jenkins-bot f9a410a600 Merge "Update documentation of mode argument" 2024-05-31 16:06:59 +00:00
Translation updater bot e34a64cdcb Localisation updates from https://translatewiki.net.
Change-Id: I33d2bcedbb18b60545510c55c11a90e7963fe139
2024-05-31 09:55:08 +02:00
jenkins-bot 10663ed4fd Merge "Convert af_hidden into a bitmask" 2024-05-30 18:11:24 +00:00
Umherirrender 69debb0a22 Use expression builder to build where conditions
Bug: T350968
Change-Id: I8a0fdf868efd403e02a68c5293a4e603d16657e6
2024-05-30 11:35:57 +02:00
Translation updater bot a47a3e3823 Localisation updates from https://translatewiki.net.
Change-Id: Ie4a8c05d6d105ea90ae22c955b165bfc3a85d429
2024-05-30 09:35:40 +02:00
Translation updater bot b1e361166b Localisation updates from https://translatewiki.net.
Change-Id: I80fa4ab93543b206d6d8e3b11c3fb753149b7ffa
2024-05-29 09:29:45 +02:00
Bartosz Dziewoński 94251ca97e Use StatusValue::getMessages() instead of deprecated methods
Added in MediaWiki in Ibc4ce11594cf36ce7b2495d2636ee080d3443b04.

Change-Id: I0b51f1210b9501961586fa25bf1f49bc68bab3d1
2024-05-28 21:04:59 +00:00
STran ca23e9f06b Convert af_hidden into a bitmask
Protected variables will cause the filter using them to become
protected as well. `af_hidden` can be used to track this flag,
as it is a TINYINT and can be converted into a bitmask with no
schema changes.

This is not a backwards-compatible change, as now all checks must
check the `hidden` flag specifically or otherwise will be cast to
true if any flag is set.

To support this change:
- "hidden" is considered a flag set in the `af_hidden`. This is a
  change in concept with no need for updates to the column values,
  as there is currently only one flag in the bitmask.
- `Flag`s store the bitmask as well as the state of single flags
  and can return either.
- Any checks against the `af_hidden` value no longer check a
  boolean value and instead now check the `hidden` flag value.

Bug: T363906
Change-Id: I358205cb1119cf1e4004892c37e36e0c0a864f37
2024-05-28 00:59:08 -07:00
Translation updater bot 90cbdd834f Localisation updates from https://translatewiki.net.
Change-Id: Ic8d7e785ee4013197837da45901a2e8536413389
2024-05-28 09:29:15 +02:00
Translation updater bot c34e51153f Localisation updates from https://translatewiki.net.
Change-Id: Id1daa755bd8214d7e92df16eb5dbe010d77b60e9
2024-05-27 09:27:32 +02:00
Matěj Suchánek 9986f3016c Update documentation of mode argument
It has thrown exception since 357ddd4.

Change-Id: I07f10de450c599b9930526ef790dd7d23330d78d
2024-05-24 22:20:03 +02:00
Translation updater bot a21cbfffec Localisation updates from https://translatewiki.net.
Change-Id: Ib993f524c0b53f3fddaa49cad6523e0a91e76953
2024-05-24 09:42:31 +02:00
jenkins-bot 58c5edce98 Merge "Add user_unnamed_ip variable" 2024-05-23 18:10:52 +00:00
STran fe0b1cb9e9 Add user_unnamed_ip variable
After temporary accounts are enabled, filters that rely on an ip
in the `user_name` will fail (eg. `ip_in_range` and `ip_in_ranges`).
To keep these filters working:

- Expose the IP through another variable, `user_unnamed_ip`, that can be
  used instead of `user_name`.
- The variable is scoped to only reveal the IPs of temporary accounts
  and un-logged in users.
- Wikis that don't have temporary accounts enabled will be able to see
  this variable but it won't provide information that `user_name`
  wasn't already providing
- Introduce the concept of transforming variable values before writing
  to the blob store and after retrieval, as IPs need to be deleted from
  the logs eventually and can't be stored as-is in the amend-only blob
  store

Bug: T357772
Change-Id: I8c11e06ccb9e78b9a991e033fe43f5dded8f7bb2
2024-05-23 07:19:48 -07:00
Kosta Harlan cd24c0ba2a
RCVariableGeneratorTest: Handle anonymous user test with temp accounts enabled
Why:

- Temp accounts will be enabled by default in CI, eventually. For tests
  that verify anonymous user editing behavior, we need to disable the
  temp user feature

What:

- Check if the user identity isn't registered, and if so, disable auto
  creating a temp user

Bug: T365645
Change-Id: I477fb6b44655e4190b5906c85390133e3e3a9feb
2024-05-23 09:41:05 +02:00
Translation updater bot c58696b7b0 Localisation updates from https://translatewiki.net.
Change-Id: Ib1529b519dcaf1d749f3246aac5592c9e1e37e3e
2024-05-23 09:24:59 +02:00
jenkins-bot 35e3319fe3 Merge "i18n: Replace mw: interwiki with url to mediawiki.org" 2024-05-22 14:28:51 +00:00
jenkins-bot c6a98e79ba Merge "Use SelectQueryBuilder for sub queries in migrateActorsAF.php" 2024-05-22 08:07:24 +00:00
Translation updater bot f28ce866a1 Localisation updates from https://translatewiki.net.
Change-Id: I7d16b514dcd73a52910afb0fcb48791a154f0222
2024-05-22 09:19:32 +02:00
jenkins-bot 5282540d65 Merge "Use IReadableDatabase::expr for complex conditions on Special:AbuseLog" 2024-05-22 04:24:56 +00:00
Umherirrender 1a56a29751 Use IReadableDatabase::expr for complex conditions on Special:AbuseLog
Bug: T350968
Change-Id: I3a86edd3f62d7276e33b5c155f0da1c8ef2a8cb5
2024-05-21 16:56:34 +00:00
Umherirrender e1347e6d19 Use SelectQueryBuilder for sub queries in migrateActorsAF.php
Use ISQLPlatform::conditional() function to avoid the raw sql

Bug: T350968
Change-Id: Iaf565acfae9c8160a9f215bc55ce2018c7fac362
2024-05-21 16:52:07 +00:00
Translation updater bot 5f720af28f Localisation updates from https://translatewiki.net.
Change-Id: Ib9d1af167acfcc885cf72a13989aab541c382760
2024-05-21 09:27:06 +02:00
Translation updater bot ad868d42a4 Localisation updates from https://translatewiki.net.
Change-Id: Id98c30c4cf378ff812dab86d9bdba03549c7171c
2024-05-20 09:23:39 +02:00
Translation updater bot c47e3a385f Localisation updates from https://translatewiki.net.
Change-Id: Ibf503a4b68283c4a4a673ccf8b70881adc1fe5b5
2024-05-17 09:47:20 +02:00
libraryupgrader d244436da6 build: Updating grunt-banana-checker to 0.13.0
Change-Id: I544035e38e55134e0142d1f5ddfd2e4beab11517
2024-05-17 01:36:32 +00:00
Translation updater bot f6b914bb23 Localisation updates from https://translatewiki.net.
Change-Id: I6a2aed4dd60bedfad6f7a1a8d6a35d99457aa0bf
2024-05-16 09:24:29 +02:00
Umherirrender bd074450ad i18n: Replace mw: interwiki with url to mediawiki.org
The interwiki table must not contains an interwiki link with prefix mw:

Change-Id: I96e7e3b13fa91ed8d3450a8dec0af2c46aacce21
2024-05-15 23:30:48 +02:00
Translation updater bot df93b427ac Localisation updates from https://translatewiki.net.
Change-Id: I821617f52b460269cb499a4ce352d95660e020bb
2024-05-15 09:20:55 +02:00
jenkins-bot 37dfd7b025 Merge "Fix missing <thead> and <tr> in various places" 2024-05-15 06:49:50 +00:00
thiemowmde fc50073fb5 Fix missing <thead> and <tr> in various places
This removes the last usages of the problematic open/closeElement
from this codebase.

One actual issue gets fixed: Some of the <th> floated around without
a <tr>. That's technically invalid. Luckily the browsers are flexible
and show it correctly. Visually nothing changes.

Similarly <th> should be wrapped in a <thead>. This wasn't done
before.

Change-Id: Ia45096670888173e49f9c25e72f429f0961b75ae
2024-05-14 21:28:32 +00:00
jenkins-bot d5cc144a79 Merge "Remove bogus non-breaking spaces" 2024-05-14 19:34:12 +00:00
Translation updater bot a77994b439 Localisation updates from https://translatewiki.net.
Change-Id: Ide93b3b72ff550afba74ed28b785b9c7b1df8885
2024-05-14 09:24:19 +02:00
jenkins-bot cb8617690b Merge "Consistent spelling for "comma-separated"" 2024-05-13 11:25:41 +00:00
thiemowmde 32bee4950f Remove bogus non-breaking spaces
This issue exists ever since this code was added in 2009. Note how
this element is invisible anyway. The non-breaking space is never
seen. The purpose of this element is to act as a container for a
debug result that will be put into this container via JavaScript.
I confirmed this still works fine without the placeholder character
being there.

The problem here is that this HTML entity is double escaped because
of the element() function. That would need to be a rawElement() call
or we can just remove it.

Change-Id: Id560f392be4cc2106a7ac224309c8b605bec3f6c
2024-05-13 13:15:51 +02:00