Page MenuHomePhabricator

kostajh (Kosta Harlan)
Principal Software Engineer, Product Safety and Integrity

Today

  • No visible events.

Tomorrow

  • No visible events.

Tuesday

  • No visible events.

User Details

User Since
Jun 12 2018, 2:22 PM (416 w, 5 d)
Availability
Available
IRC Nick
kostajh
LDAP User
Unknown
MediaWiki User
KHarlan (WMF) [ Global Accounts ]

Recent Activity

Fri, Jun 5

kostajh added a comment to T403383: hCaptcha: Set the host parameter.

@kostajh do we still want to do this?

Fri, Jun 5, 12:05 PM · Product Safety and Integrity (Sprint Iris (May 25 - Jun 12)), ConfirmEdit (CAPTCHA extension)

Thu, Jun 4

kostajh added a comment to T427497: Deploy CoPE-B-A4B on LiftWing.

We have updated the liftwing_client to support this new cope-b-a4b endpoint and shared it with the PSI team to continue using it to fine-tune their policies.

Thu, Jun 4, 7:05 AM · Lift-Wing, Machine-Learning-Team (Q4 FY2025-26)

Wed, Jun 3

kostajh updated the task description for T403829: hCaptcha: Self-host secure-api.js code in /static directory.
Wed, Jun 3, 1:53 PM · Bot detection and mitigation (WE4.10 hCaptcha), Product Safety and Integrity (Sprint Iris (May 25 - Jun 12)), Patch-For-Review, ConfirmEdit (CAPTCHA extension)
kostajh moved T403829: hCaptcha: Self-host secure-api.js code in /static directory from In progress to QA in Prod on the Product Safety and Integrity (Sprint Iris (May 25 - Jun 12)) board.
Wed, Jun 3, 1:53 PM · Bot detection and mitigation (WE4.10 hCaptcha), Product Safety and Integrity (Sprint Iris (May 25 - Jun 12)), Patch-For-Review, ConfirmEdit (CAPTCHA extension)
kostajh moved T403829: hCaptcha: Self-host secure-api.js code in /static directory from Backlog to Done on the Bot detection and mitigation (WE4.10 hCaptcha) board.

@dom_walden I think this one could skip QA, but I will leave it for you to review.

Wed, Jun 3, 1:53 PM · Bot detection and mitigation (WE4.10 hCaptcha), Product Safety and Integrity (Sprint Iris (May 25 - Jun 12)), Patch-For-Review, ConfirmEdit (CAPTCHA extension)
kostajh edited projects for T403829: hCaptcha: Self-host secure-api.js code in /static directory, added: Bot detection and mitigation (WE4.10 hCaptcha); removed Bot detection and mitigation (WE4.2 hCaptcha editing trial).
Wed, Jun 3, 1:51 PM · Bot detection and mitigation (WE4.10 hCaptcha), Product Safety and Integrity (Sprint Iris (May 25 - Jun 12)), Patch-For-Review, ConfirmEdit (CAPTCHA extension)
kostajh triaged T425929: Cannot publish after dismissing hCaptcha challenge triggered by AbuseFilter on mobile source editor as High priority.
Wed, Jun 3, 9:49 AM · MW-1.47-notes (1.47.0-wmf.6; 2026-06-09), Product Safety and Integrity (Sprint Iris (May 25 - Jun 12)), hCaptcha, ConfirmEdit (CAPTCHA extension), MobileFrontend, Bot detection and mitigation (WE4.10 hCaptcha)
kostajh moved T427784: hCaptcha risk scores for blocked account creations from Needs review to QA in Prod on the Product Safety and Integrity (Sprint Iris (May 25 - Jun 12)) board.
Wed, Jun 3, 9:48 AM · Product Safety and Integrity (Sprint Iris (May 25 - Jun 12)), Bot detection and mitigation (WE4.10 hCaptcha)
kostajh added a comment to T359359: Migrate AbuseFilter Extension to statslib.

@tappof I made the patch for this without having seen that you've claimed it, sorry about that. I've tagged you as a reviewer.

Wed, Jun 3, 7:32 AM · Patch-For-Review, AbuseFilter, Observability-Metrics
kostajh updated subscribers of T428021: CheckUser: Design and implement UI toggles for ja3n/ja4h and client hints data.
Wed, Jun 3, 6:04 AM · Product Safety and Integrity, CheckUser
kostajh renamed T428021: CheckUser: Design and implement UI toggles for ja3n/ja4h and client hints data from CheckUser: Implement toggles for ja3n/ja4h and client hints data to CheckUser: Design and implement UI toggles for ja3n/ja4h and client hints data.
Wed, Jun 3, 6:03 AM · Product Safety and Integrity, CheckUser
kostajh created T428021: CheckUser: Design and implement UI toggles for ja3n/ja4h and client hints data.
Wed, Jun 3, 6:03 AM · Product Safety and Integrity, CheckUser

Tue, Jun 2

kostajh closed T421464: hCaptcha: Stop using urldownloader for health checks of the secure-api.js file as Resolved.
Tue, Jun 2, 4:32 PM · Product Safety and Integrity (Sprint Iris (May 25 - Jun 12)), ServiceOps new, ServiceOps-Services-Oids, Traffic, Bot detection and mitigation (WE4.2 hCaptcha editing trial)
kostajh added a comment to T427887: Cannot publish DiscussionTools reply on Android App.

I tested this using the Wikipedia Android App. Moving to QA for that to be double checked

A separate ticket is probably needed for enabling support in the apps?

Tue, Jun 2, 3:29 PM · Product Safety and Integrity (Sprint Iris (May 25 - Jun 12)), Wikipedia-Android-App-Backlog, ConfirmEdit (CAPTCHA extension), Bot detection and mitigation (WE4.10 hCaptcha), hCaptcha
kostajh created T427936: Mobile apps: Support hCaptcha in DiscussionTools API edits.
Tue, Jun 2, 3:29 PM · Wikipedia-iOS-App-Backlog (Wikipedia iOS Release FY2025-26), Wikipedia-Android-App-Backlog (Android Release - FY2025-26), hCaptcha on Mobile Apps
kostajh moved T427385: Instrumentation of which accounts UIC is triggered on from Needs review to QA in Prod on the Product Safety and Integrity (Sprint Iris (May 25 - Jun 12)) board.
Tue, Jun 2, 11:58 AM · Essential-Work, Product Safety and Integrity (Sprint Iris (May 25 - Jun 12)), CheckUser-UserInfoCard
kostajh moved T427784: hCaptcha risk scores for blocked account creations from Backlog to Needs review on the Product Safety and Integrity (Sprint Iris (May 25 - Jun 12)) board.
Tue, Jun 2, 11:47 AM · Product Safety and Integrity (Sprint Iris (May 25 - Jun 12)), Bot detection and mitigation (WE4.10 hCaptcha)
kostajh added a comment to T427887: Cannot publish DiscussionTools reply on Android App.

I'm guessing the app code does not actually use DiscussionTools code beyond just calling it's API?

Perhaps we can exempt the apps from hCaptcha code in DiscussionTools until they have a chance to update. For lack of a better approach, we could probably just detect the apps based on their user agent

Tue, Jun 2, 9:25 AM · Product Safety and Integrity (Sprint Iris (May 25 - Jun 12)), Wikipedia-Android-App-Backlog, ConfirmEdit (CAPTCHA extension), Bot detection and mitigation (WE4.10 hCaptcha), hCaptcha
kostajh moved T427887: Cannot publish DiscussionTools reply on Android App from Backlog to Ready on the Bot detection and mitigation (WE4.10 hCaptcha) board.
Tue, Jun 2, 8:30 AM · Product Safety and Integrity (Sprint Iris (May 25 - Jun 12)), Wikipedia-Android-App-Backlog, ConfirmEdit (CAPTCHA extension), Bot detection and mitigation (WE4.10 hCaptcha), hCaptcha
kostajh added a comment to T427887: Cannot publish DiscussionTools reply on Android App.

It also does not work on the iOS app.

Tue, Jun 2, 8:29 AM · Product Safety and Integrity (Sprint Iris (May 25 - Jun 12)), Wikipedia-Android-App-Backlog, ConfirmEdit (CAPTCHA extension), Bot detection and mitigation (WE4.10 hCaptcha), hCaptcha

Mon, Jun 1

kostajh added a project to T426050: Roll out hCaptcha for use on app clients for enwiki: Bot detection and mitigation (WE4.10 hCaptcha).
Mon, Jun 1, 3:28 PM · Bot detection and mitigation (WE4.10 hCaptcha), Wikipedia-Android-App-Backlog, hCaptcha on Mobile Apps, Wikipedia-iOS-App-Backlog
kostajh added a project to T426048: Roll out hCaptcha for use on app clients for Group 2 except enwiki - All Wikipedia' except English Wikipedia: Bot detection and mitigation (WE4.10 hCaptcha).
Mon, Jun 1, 3:27 PM · Wikipedia-Android-App-Backlog (Android Release - FY2025-26), Patch-For-Review, Bot detection and mitigation (WE4.10 hCaptcha), hCaptcha on Mobile Apps, Wikipedia-iOS-App-Backlog
kostajh created T427784: hCaptcha risk scores for blocked account creations.
Mon, Jun 1, 9:23 AM · Product Safety and Integrity (Sprint Iris (May 25 - Jun 12)), Bot detection and mitigation (WE4.10 hCaptcha)

Fri, May 29

kostajh closed T427625: TypeError: MediaWiki\Extension\CheckUser\Logging\TemporaryAccountLogger::logAutoRevealAccessEnabled(): Argument #2 ($expiry) must be of type int, string given, called in /srv/mediawiki/php-1.47.0-wmf.4/extensions/CheckUser/src/ as Resolved.

Should be fixed now. Thank you for filing the task, @neriah

Fri, May 29, 2:16 PM · Wikimedia-production-error, CheckUser, Product Safety and Integrity (Sprint lily-of-the-valley (May 4 - May 22)), Regression, MediaWiki-Platform-Team, Temporary accounts
kostajh added a comment to T427625: TypeError: MediaWiki\Extension\CheckUser\Logging\TemporaryAccountLogger::logAutoRevealAccessEnabled(): Argument #2 ($expiry) must be of type int, string given, called in /srv/mediawiki/php-1.47.0-wmf.4/extensions/CheckUser/src/.

Removing as 1.47.0-wmf.4 train blocker as the 1.47.0-wmf.4 train has already passed.

Fri, May 29, 2:15 PM · Wikimedia-production-error, CheckUser, Product Safety and Integrity (Sprint lily-of-the-valley (May 4 - May 22)), Regression, MediaWiki-Platform-Team, Temporary accounts
kostajh edited projects for T427625: TypeError: MediaWiki\Extension\CheckUser\Logging\TemporaryAccountLogger::logAutoRevealAccessEnabled(): Argument #2 ($expiry) must be of type int, string given, called in /srv/mediawiki/php-1.47.0-wmf.4/extensions/CheckUser/src/, added: CheckUser; removed MediaWiki-extensions-CentralAuth.
Fri, May 29, 1:30 PM · Wikimedia-production-error, CheckUser, Product Safety and Integrity (Sprint lily-of-the-valley (May 4 - May 22)), Regression, MediaWiki-Platform-Team, Temporary accounts
kostajh moved T427625: TypeError: MediaWiki\Extension\CheckUser\Logging\TemporaryAccountLogger::logAutoRevealAccessEnabled(): Argument #2 ($expiry) must be of type int, string given, called in /srv/mediawiki/php-1.47.0-wmf.4/extensions/CheckUser/src/ from Backlog to Needs review on the Product Safety and Integrity (Sprint lily-of-the-valley (May 4 - May 22)) board.
Fri, May 29, 1:30 PM · Wikimedia-production-error, CheckUser, Product Safety and Integrity (Sprint lily-of-the-valley (May 4 - May 22)), Regression, MediaWiki-Platform-Team, Temporary accounts
kostajh added a parent task for T427625: TypeError: MediaWiki\Extension\CheckUser\Logging\TemporaryAccountLogger::logAutoRevealAccessEnabled(): Argument #2 ($expiry) must be of type int, string given, called in /srv/mediawiki/php-1.47.0-wmf.4/extensions/CheckUser/src/: T423913: 1.47.0-wmf.4 deployment blockers.
Fri, May 29, 1:26 PM · Wikimedia-production-error, CheckUser, Product Safety and Integrity (Sprint lily-of-the-valley (May 4 - May 22)), Regression, MediaWiki-Platform-Team, Temporary accounts
kostajh added a subtask for T423913: 1.47.0-wmf.4 deployment blockers: T427625: TypeError: MediaWiki\Extension\CheckUser\Logging\TemporaryAccountLogger::logAutoRevealAccessEnabled(): Argument #2 ($expiry) must be of type int, string given, called in /srv/mediawiki/php-1.47.0-wmf.4/extensions/CheckUser/src/.
Fri, May 29, 1:26 PM · Release-Engineering-Team (Priority Backlog 📥), Essential-Work, Release, Train Deployments
kostajh claimed T427625: TypeError: MediaWiki\Extension\CheckUser\Logging\TemporaryAccountLogger::logAutoRevealAccessEnabled(): Argument #2 ($expiry) must be of type int, string given, called in /srv/mediawiki/php-1.47.0-wmf.4/extensions/CheckUser/src/.
Fri, May 29, 1:16 PM · Wikimedia-production-error, CheckUser, Product Safety and Integrity (Sprint lily-of-the-valley (May 4 - May 22)), Regression, MediaWiki-Platform-Team, Temporary accounts
kostajh added a comment to T427625: TypeError: MediaWiki\Extension\CheckUser\Logging\TemporaryAccountLogger::logAutoRevealAccessEnabled(): Argument #2 ($expiry) must be of type int, string given, called in /srv/mediawiki/php-1.47.0-wmf.4/extensions/CheckUser/src/.

Probably due to T426387: Enforce php strict types in extensions stewarded by Product Safety and Integrity (plus ConfirmEdit)

Fri, May 29, 1:13 PM · Wikimedia-production-error, CheckUser, Product Safety and Integrity (Sprint lily-of-the-valley (May 4 - May 22)), Regression, MediaWiki-Platform-Team, Temporary accounts
kostajh edited projects for T427625: TypeError: MediaWiki\Extension\CheckUser\Logging\TemporaryAccountLogger::logAutoRevealAccessEnabled(): Argument #2 ($expiry) must be of type int, string given, called in /srv/mediawiki/php-1.47.0-wmf.4/extensions/CheckUser/src/, added: Product Safety and Integrity (Sprint lily-of-the-valley (May 4 - May 22)); removed Product Safety and Integrity.
Fri, May 29, 1:13 PM · Wikimedia-production-error, CheckUser, Product Safety and Integrity (Sprint lily-of-the-valley (May 4 - May 22)), Regression, MediaWiki-Platform-Team, Temporary accounts
kostajh renamed T427625: TypeError: MediaWiki\Extension\CheckUser\Logging\TemporaryAccountLogger::logAutoRevealAccessEnabled(): Argument #2 ($expiry) must be of type int, string given, called in /srv/mediawiki/php-1.47.0-wmf.4/extensions/CheckUser/src/ from Can not be enabled IP Auto-reveal to TypeError: MediaWiki\Extension\CheckUser\Logging\TemporaryAccountLogger::logAutoRevealAccessEnabled(): Argument #2 ($expiry) must be of type int, string given, called in /srv/mediawiki/php-1.47.0-wmf.4/extensions/CheckUser/src/.
Fri, May 29, 1:12 PM · Wikimedia-production-error, CheckUser, Product Safety and Integrity (Sprint lily-of-the-valley (May 4 - May 22)), Regression, MediaWiki-Platform-Team, Temporary accounts
kostajh added a comment to T427621: UserInfoCard: Use sitewide blocked icon for non-indefinite, sitewide blocks for temporary accounts.

While we heard feedback that showing the blocked icon for temporary blocks on named accounts wasn't acceptable, I think for temporary accounts we could make an exception, since most temporary account users would be unlikely to return after a non-indefinite block, and some non-indefinite blocks will last longer than the temporary account session.

Fri, May 29, 12:27 PM · Product Safety and Integrity, CheckUser-UserInfoCard
kostajh renamed T427621: UserInfoCard: Use sitewide blocked icon for non-indefinite, sitewide blocks for temporary accounts from UserInfoCard: Sitewide blocked icon does not appear for temporary accounts to UserInfoCard: Use sitewide blocked icon for non-indefinite, sitewide blocks for temporary accounts.
Fri, May 29, 12:25 PM · Product Safety and Integrity, CheckUser-UserInfoCard
kostajh created T427621: UserInfoCard: Use sitewide blocked icon for non-indefinite, sitewide blocks for temporary accounts.
Fri, May 29, 12:17 PM · Product Safety and Integrity, CheckUser-UserInfoCard
kostajh updated the task description for T405216: UserInfoCard: Improve server-side instrumentation.
Fri, May 29, 8:30 AM · Essential-Work, Product Safety and Integrity (Sprint Iris (May 25 - Jun 12)), CheckUser-UserInfoCard

Thu, May 28

kostajh added a comment to T399351: Provide a way to increase CAPTCHA difficulty in abuse filters.

@DanielQ do you think this is still needed, given that we have hCaptcha in use now for the showcaptcha consequence? It varies its difficulty based on various metrics.

Thu, May 28, 7:32 PM · ConfirmEdit (CAPTCHA extension), AbuseFilter
kostajh updated the task description for T425929: Cannot publish after dismissing hCaptcha challenge triggered by AbuseFilter on mobile source editor.
Thu, May 28, 7:51 AM · MW-1.47-notes (1.47.0-wmf.6; 2026-06-09), Product Safety and Integrity (Sprint Iris (May 25 - Jun 12)), hCaptcha, ConfirmEdit (CAPTCHA extension), MobileFrontend, Bot detection and mitigation (WE4.10 hCaptcha)
kostajh moved T425929: Cannot publish after dismissing hCaptcha challenge triggered by AbuseFilter on mobile source editor from Needs review to In progress on the Product Safety and Integrity (Sprint Iris (May 25 - Jun 12)) board.
Thu, May 28, 7:50 AM · MW-1.47-notes (1.47.0-wmf.6; 2026-06-09), Product Safety and Integrity (Sprint Iris (May 25 - Jun 12)), hCaptcha, ConfirmEdit (CAPTCHA extension), MobileFrontend, Bot detection and mitigation (WE4.10 hCaptcha)

Wed, May 27

kostajh created T427387: Support Assisted-by as a git trailer.
Wed, May 27, 12:30 PM · Patch-For-Review, commit-message-validator

Tue, May 26

kostajh closed T241921: Fix Wikimedia captchas as Resolved.

Resolving this per https://diff.wikimedia.org/2026/05/04/better-detecting-bots-and-replacing-our-captcha-part-2

Tue, May 26, 3:28 PM · Bot detection and mitigation, Security, Security-Team, Stewards-and-global-tools, ConfirmEdit (CAPTCHA extension), UX-Debt, Accessibility, Epic
kostajh added a comment to T422222: Unable to submit edit in Basic mode.

Thanks for letting me know. I've seen this too. This one might relate to peculiar issues with the networking set up between client / BrowserStack / WMF proxy, rather than grade C compatibility. Could you retry it on testwiki please?

I have just tried on testwiki on browserstack and a local version of Firefox 49 and see the same errors.

Tue, May 26, 12:21 PM · Product Safety and Integrity (Sprint Iris (May 25 - Jun 12)), MW-1.47-notes (1.47.0-wmf.4; 2026-05-26), MediaWiki-Platform-Team (Radar), ConfirmEdit (CAPTCHA extension), Bot detection and mitigation (WE4.2 hCaptcha editing trial)
kostajh added a comment to T422222: Unable to submit edit in Basic mode.

Change #1290793 had a related patch set uploaded (by Kosta Harlan; author: Kosta Harlan):

[mediawiki/extensions/ConfirmEdit@master] hCaptcha: Avoid `for (const ... of ...)` in Grade C bundle

https://gerrit.wikimedia.org/r/1290793

This should fix the Firefox 50 and 49 cases noted above; still working on Chrome 50 and 49.

@kostajh Works for Firefox 50, but I still cannot get this to work for Firefox 49 . I see There was an error while loading the form.... Error in the console:

error.confirmedit Error: Unable to load hCaptcha script (retrying)
Stack trace:
loadHCaptcha/</onErrorCallback@http://blackbird:8080/w/load.php?modules=ext.confirmEdit.hCaptcha.gradeC&only=scripts&raw=1&version=12phd:144:967
load.php:140:764

None of the sha384 hashes in the integrity attribute match the content of the subresource.index.php
error.confirmedit Error: Unable to load hCaptcha script (retrying)
Stack trace:
loadHCaptcha/</onErrorCallback@http://blackbird:8080/w/load.php?modules=ext.confirmEdit.hCaptcha.gradeC&only=scripts&raw=1&version=12phd:144:967
load.php:140:764

error.confirmedit Error: Unable to load hCaptcha script (terminal)
Stack trace:
loadHCaptcha/</onErrorCallback@http://blackbird:8080/w/load.php?modules=ext.confirmEdit.hCaptcha.gradeC&only=scripts&raw=1&version=12phd:144:967
load.php:140:764
Tue, May 26, 9:20 AM · Product Safety and Integrity (Sprint Iris (May 25 - Jun 12)), MW-1.47-notes (1.47.0-wmf.4; 2026-05-26), MediaWiki-Platform-Team (Radar), ConfirmEdit (CAPTCHA extension), Bot detection and mitigation (WE4.2 hCaptcha editing trial)

Mon, May 25

kostajh updated the task description for T425354: hCaptcha: Rollout to all projects.
Mon, May 25, 1:25 PM · Product Safety and Integrity (Sprint Iris (May 25 - Jun 12)), Bot detection and mitigation (WE4.10 hCaptcha)
kostajh updated the task description for T425354: hCaptcha: Rollout to all projects.
Mon, May 25, 1:06 PM · Product Safety and Integrity (Sprint Iris (May 25 - Jun 12)), Bot detection and mitigation (WE4.10 hCaptcha)

Fri, May 22

kostajh renamed T425929: Cannot publish after dismissing hCaptcha challenge triggered by AbuseFilter on mobile source editor from Cannot publish after dismissing hCaptcha challenge triggered by addurl or AbuseFilter on mobile source editor to Cannot publish after dismissing hCaptcha challenge triggered by AbuseFilter on mobile source editor.
Fri, May 22, 4:26 PM · MW-1.47-notes (1.47.0-wmf.6; 2026-06-09), Product Safety and Integrity (Sprint Iris (May 25 - Jun 12)), hCaptcha, ConfirmEdit (CAPTCHA extension), MobileFrontend, Bot detection and mitigation (WE4.10 hCaptcha)
kostajh added a comment to T418175: Create SLO for the opensearch-ipoid cluster that runs on our OpenSearch on K8s platform.
Fri, May 22, 1:12 PM · Data-Platform-SRE (2026-04-24 - 2026-05-15)
kostajh added a comment to T426323: CX dashboard can't load page collections on some wikis (blocked by CORS).

While investigating with @hnowlan he observed the cache-control header was not being added correctly to responses coming through the rest-gateway.

Well it turns out that if your cache-control header is added to the request and not the response, it doesn't work. The setting we use, cache-control: no-cache, means "revalidate the response with the backend before serving cached content" (and not "don't cache the content at all").

Fixing that and purging https://api.wikimedia.org/service/lw/recommendation/api/v1/translation/page-collection-groups makes the CORS errors go away, mostly because the responses are now always cache misses.

I introduced this error when migrating the routes from the api-gateway to the rest-gateway and didn't catch it, my apologies.

I'm resolving this task, feel free to reopen if you disagree.

Fri, May 22, 12:10 PM · MW-1.47-notes (1.47.0-wmf.4; 2026-05-26), ServiceOps new, ServiceOps-SharedInfra, SecTeam-Processed, Product Safety and Integrity (Sprint lily-of-the-valley (May 4 - May 22)), Traffic, LPL Hypothesis, Security-Team, ContentTranslation

Thu, May 21

kostajh closed T426986: hCaptcha risk scores: Split the list of blocks affecting a blocked edit notice in two lists local vs global as Resolved.
Thu, May 21, 7:33 PM · MW-1.47-notes (1.47.0-wmf.4; 2026-05-26), Bot detection and mitigation (WE4.10 hCaptcha), ConfirmEdit (CAPTCHA extension), Product Safety and Integrity (Sprint lily-of-the-valley (May 4 - May 22))
kostajh closed T426986: hCaptcha risk scores: Split the list of blocks affecting a blocked edit notice in two lists local vs global, a subtask of T424629: [epic] WE4.10.5 hCaptcha risk scores for blocked edit notices, as Resolved.
Thu, May 21, 7:33 PM · Product Safety and Integrity (Sprint Iris (May 25 - Jun 12)), Epic, Bot detection and mitigation (WE4.10 hCaptcha)
kostajh moved T422222: Unable to submit edit in Basic mode from In progress to Needs review on the Product Safety and Integrity (Sprint lily-of-the-valley (May 4 - May 22)) board.
Thu, May 21, 3:00 PM · Product Safety and Integrity (Sprint Iris (May 25 - Jun 12)), MW-1.47-notes (1.47.0-wmf.4; 2026-05-26), MediaWiki-Platform-Team (Radar), ConfirmEdit (CAPTCHA extension), Bot detection and mitigation (WE4.2 hCaptcha editing trial)
kostajh added a comment to T422222: Unable to submit edit in Basic mode.

Change #1290811 had a related patch set uploaded (by Kosta Harlan; author: Kosta Harlan):

[mediawiki/extensions/ConfirmEdit@master] hCaptcha: Avoid URL.searchParams in Grade C bundle

https://gerrit.wikimedia.org/r/1290811

Thu, May 21, 3:00 PM · Product Safety and Integrity (Sprint Iris (May 25 - Jun 12)), MW-1.47-notes (1.47.0-wmf.4; 2026-05-26), MediaWiki-Platform-Team (Radar), ConfirmEdit (CAPTCHA extension), Bot detection and mitigation (WE4.2 hCaptcha editing trial)
kostajh added a comment to T422222: Unable to submit edit in Basic mode.

Change #1290793 had a related patch set uploaded (by Kosta Harlan; author: Kosta Harlan):

[mediawiki/extensions/ConfirmEdit@master] hCaptcha: Avoid `for (const ... of ...)` in Grade C bundle

https://gerrit.wikimedia.org/r/1290793

Thu, May 21, 2:50 PM · Product Safety and Integrity (Sprint Iris (May 25 - Jun 12)), MW-1.47-notes (1.47.0-wmf.4; 2026-05-26), MediaWiki-Platform-Team (Radar), ConfirmEdit (CAPTCHA extension), Bot detection and mitigation (WE4.2 hCaptcha editing trial)
kostajh moved T423287: hCaptcha not loading on iOS 12, cannot make a mobile source edit or create account from Needs review to QA in Prod on the Product Safety and Integrity (Sprint lily-of-the-valley (May 4 - May 22)) board.
Thu, May 21, 2:17 PM · Product Safety and Integrity (Sprint Iris (May 25 - Jun 12)), MW-1.47-notes (1.47.0-wmf.4; 2026-05-26), Test Kitchen, MobileFrontend (MobileFrontend (Editor)), Bot detection and mitigation (WE4.2 hCaptcha account creation trial), ConfirmEdit (CAPTCHA extension)
kostajh moved T422222: Unable to submit edit in Basic mode from QA in Prod to In progress on the Product Safety and Integrity (Sprint lily-of-the-valley (May 4 - May 22)) board.

@dom_walden desktop wikitext editor and Special:CreateAccount should usable now via a Grade C browser, can you please test this in your local environment, and/or verify it next week when the train is at group0? Thank you!

@kostajh I will keep updating this table. Browser/OS combinations not chosen very scientifically.

Testing locally:

BrowserOSEditCreate account
Firefox 57Windows 8WorkingWorking
Firefox 51Windows 10WorkingWorking
Firefox 50Windows 8.1Not working-Not working*
Firefox 49Windows 10Not working-
Firefox 49Mac High SierraNot working-
Chrome 62Windows 8.1WorkingWorking
Chrome 51Windows 10WorkingWorking
Chrome 50Windows 11Not working+
Chrome 50Mac CatalinaNot working+Not working+
Chrome 49Mac MojaveNot working+
- After submit: "Incorrect or missing CAPTCHA"
* After submit: "We're not quite finished loading the form..."
+ Before submit: "There was an error while loading the form..."
Thu, May 21, 2:04 PM · Product Safety and Integrity (Sprint Iris (May 25 - Jun 12)), MW-1.47-notes (1.47.0-wmf.4; 2026-05-26), MediaWiki-Platform-Team (Radar), ConfirmEdit (CAPTCHA extension), Bot detection and mitigation (WE4.2 hCaptcha editing trial)
kostajh created T426966: hCaptcha: investigate issues related to file moves.
Thu, May 21, 1:33 PM · Product Safety and Integrity (Sprint Iris (May 25 - Jun 12)), Bot detection and mitigation (WE4.10 hCaptcha)
kostajh updated the task description for T425354: hCaptcha: Rollout to all projects.
Thu, May 21, 11:32 AM · Product Safety and Integrity (Sprint Iris (May 25 - Jun 12)), Bot detection and mitigation (WE4.10 hCaptcha)
kostajh moved T423287: hCaptcha not loading on iOS 12, cannot make a mobile source edit or create account from Ready to Needs review on the Product Safety and Integrity (Sprint lily-of-the-valley (May 4 - May 22)) board.
Thu, May 21, 11:22 AM · Product Safety and Integrity (Sprint Iris (May 25 - Jun 12)), MW-1.47-notes (1.47.0-wmf.4; 2026-05-26), Test Kitchen, MobileFrontend (MobileFrontend (Editor)), Bot detection and mitigation (WE4.2 hCaptcha account creation trial), ConfirmEdit (CAPTCHA extension)
kostajh added a project to T423287: hCaptcha not loading on iOS 12, cannot make a mobile source edit or create account: Test Kitchen.

With the help of https://github.com/liriliri/eruda to surface the console error, I found that this seems to be due to an issue in TestKitchen code. I'll post a patch.

Thu, May 21, 11:15 AM · Product Safety and Integrity (Sprint Iris (May 25 - Jun 12)), MW-1.47-notes (1.47.0-wmf.4; 2026-05-26), Test Kitchen, MobileFrontend (MobileFrontend (Editor)), Bot detection and mitigation (WE4.2 hCaptcha account creation trial), ConfirmEdit (CAPTCHA extension)
kostajh claimed T423287: hCaptcha not loading on iOS 12, cannot make a mobile source edit or create account.
Thu, May 21, 10:52 AM · Product Safety and Integrity (Sprint Iris (May 25 - Jun 12)), MW-1.47-notes (1.47.0-wmf.4; 2026-05-26), Test Kitchen, MobileFrontend (MobileFrontend (Editor)), Bot detection and mitigation (WE4.2 hCaptcha account creation trial), ConfirmEdit (CAPTCHA extension)
kostajh added a comment to T423287: hCaptcha not loading on iOS 12, cannot make a mobile source edit or create account.

I can reproduce this locally with BrowserStack

Thu, May 21, 8:11 AM · Product Safety and Integrity (Sprint Iris (May 25 - Jun 12)), MW-1.47-notes (1.47.0-wmf.4; 2026-05-26), Test Kitchen, MobileFrontend (MobileFrontend (Editor)), Bot detection and mitigation (WE4.2 hCaptcha account creation trial), ConfirmEdit (CAPTCHA extension)
kostajh moved T402595: Allow AbuseFilter CAPTCHA actions to apply to users with skipcaptcha right from Backlog to Ready on the Bot detection and mitigation (WE4.10 hCaptcha) board.

We can start work on this. Ideally it lands close to the group2 rollout for hCaptcha.

Thu, May 21, 7:56 AM · Patch-For-Review, Product Safety and Integrity (Sprint Iris (May 25 - Jun 12)), Bot detection and mitigation (WE4.10 hCaptcha), ConfirmEdit (CAPTCHA extension), AbuseFilter
kostajh edited projects for T402595: Allow AbuseFilter CAPTCHA actions to apply to users with skipcaptcha right, added: Product Safety and Integrity (Sprint lily-of-the-valley (May 4 - May 22)); removed Product Safety and Integrity (Sprint Iris (May 25 - Jun 12)).
Thu, May 21, 7:55 AM · Patch-For-Review, Product Safety and Integrity (Sprint Iris (May 25 - Jun 12)), Bot detection and mitigation (WE4.10 hCaptcha), ConfirmEdit (CAPTCHA extension), AbuseFilter
kostajh updated the task description for T426875: hCaptcha: Support usage in "always challenge" SiteKey for badlogin.
Thu, May 21, 7:02 AM · Product Safety and Integrity (Sprint Iris (May 25 - Jun 12)), MW-1.47-notes (1.47.0-wmf.4; 2026-05-26), Patch-For-Review, Bot detection and mitigation (WE4.10 hCaptcha), hCaptcha

Wed, May 20

kostajh moved T425929: Cannot publish after dismissing hCaptcha challenge triggered by AbuseFilter on mobile source editor from In progress to Needs review on the Product Safety and Integrity (Sprint lily-of-the-valley (May 4 - May 22)) board.
Wed, May 20, 8:27 PM · MW-1.47-notes (1.47.0-wmf.6; 2026-06-09), Product Safety and Integrity (Sprint Iris (May 25 - Jun 12)), hCaptcha, ConfirmEdit (CAPTCHA extension), MobileFrontend, Bot detection and mitigation (WE4.10 hCaptcha)
kostajh renamed T403829: hCaptcha: Self-host secure-api.js code in /static directory from hCaptcha: Self-host secure-api.js code to hCaptcha: Self-host secure-api.js code in /static directory.
Wed, May 20, 8:17 PM · Bot detection and mitigation (WE4.10 hCaptcha), Product Safety and Integrity (Sprint Iris (May 25 - Jun 12)), Patch-For-Review, ConfirmEdit (CAPTCHA extension)
kostajh created T426900: hCaptcha: Develop capability to load on Special:UserLogin.
Wed, May 20, 8:13 PM · Bot detection and mitigation (WE4.10 hCaptcha)
kostajh closed T250227: Investigate and evaluate hCaptcha to replace Wikimedia's Fancy Captcha as Resolved.

Resolving per https://diff.wikimedia.org/2026/05/04/better-detecting-bots-and-replacing-our-captcha-part-2/

Wed, May 20, 8:10 PM · Bot detection and mitigation, Software-Licensing, Tech-Product API Roadmap, Product Infrastructure Roadmap, Privacy, ConfirmEdit (CAPTCHA extension), Security-Team
kostajh closed T250227: Investigate and evaluate hCaptcha to replace Wikimedia's Fancy Captcha, a subtask of T289607: <Security Initiative> Improving Captcha, as Resolved.
Wed, May 20, 8:10 PM · Bot detection and mitigation, Foundational Technology Requests
kostajh created T426897: hCaptcha: Add support in CommunityRequests extension.
Wed, May 20, 7:48 PM · Patch-For-Review, Bot detection and mitigation (WE4.10 hCaptcha), Community-Tech, MediaWiki-extensions-CommunityRequests
kostajh moved T426875: hCaptcha: Support usage in "always challenge" SiteKey for badlogin from Backlog to In refinement on the Product Safety and Integrity (Sprint lily-of-the-valley (May 4 - May 22)) board.
Wed, May 20, 4:02 PM · Product Safety and Integrity (Sprint Iris (May 25 - Jun 12)), MW-1.47-notes (1.47.0-wmf.4; 2026-05-26), Patch-For-Review, Bot detection and mitigation (WE4.10 hCaptcha), hCaptcha
kostajh edited projects for T426875: hCaptcha: Support usage in "always challenge" SiteKey for badlogin, added: Product Safety and Integrity (Sprint lily-of-the-valley (May 4 - May 22)); removed Product Safety and Integrity.
Wed, May 20, 4:02 PM · Product Safety and Integrity (Sprint Iris (May 25 - Jun 12)), MW-1.47-notes (1.47.0-wmf.4; 2026-05-26), Patch-For-Review, Bot detection and mitigation (WE4.10 hCaptcha), hCaptcha
kostajh closed T426751: Stuck in FancyCaptcha challenge loop on VisualEditor as Resolved.

@dom_walden can you please try to reproduce this issue again?

I can no longer reproduce on testwiki. I have tried making normal edits which trigger the hCaptcha challenge and those which trigger AF (including seeing the hCaptcha challenge twice). I can complete the challenge(s) and save the edit.

Wed, May 20, 4:00 PM · MW-1.47-notes (1.47.0-wmf.3; 2026-05-19), VisualEditor, ConfirmEdit (CAPTCHA extension), Bot detection and mitigation (WE4.10 hCaptcha), hCaptcha, Product Safety and Integrity (Sprint lily-of-the-valley (May 4 - May 22))
kostajh created T426875: hCaptcha: Support usage in "always challenge" SiteKey for badlogin.
Wed, May 20, 3:59 PM · Product Safety and Integrity (Sprint Iris (May 25 - Jun 12)), MW-1.47-notes (1.47.0-wmf.4; 2026-05-26), Patch-For-Review, Bot detection and mitigation (WE4.10 hCaptcha), hCaptcha
kostajh closed T424634: WE4.10.5: Add client side code to collect a risk score via 100% passive mode SiteKey, a subtask of T424629: [epic] WE4.10.5 hCaptcha risk scores for blocked edit notices, as Declined.
Wed, May 20, 3:56 PM · Product Safety and Integrity (Sprint Iris (May 25 - Jun 12)), Epic, Bot detection and mitigation (WE4.10 hCaptcha)
kostajh closed T424634: WE4.10.5: Add client side code to collect a risk score via 100% passive mode SiteKey as Declined.

Seems to be covered by T424629 and subtasks

Wed, May 20, 3:56 PM · Product Safety and Integrity (Sprint lily-of-the-valley (May 4 - May 22)), ConfirmEdit (CAPTCHA extension), Bot detection and mitigation (WE4.10 hCaptcha)
kostajh moved T424496: Unable to load hCaptcha script from In progress to Needs review on the Product Safety and Integrity (Sprint lily-of-the-valley (May 4 - May 22)) board.

I think these levels are manageable (solved by rOPUPb70039d2f97d: hcaptcha: Override upstream Access-Control-Allow-Origin with '*') but would welcome a second review: https://logstash.wikimedia.org/goto/7112989c991486beb99b22ae7d168514

Wed, May 20, 3:50 PM · Product Safety and Integrity (Sprint Iris (May 25 - Jun 12)), MW-1.46-notes (1.46.0-wmf.26; 2026-04-28), MW-1.47-notes (1.47.0-wmf.1; 2026-05-05), Bot detection and mitigation (WE4.10 hCaptcha), hCaptcha, Wikimedia-production-error, Growth-Team
kostajh moved T426751: Stuck in FancyCaptcha challenge loop on VisualEditor from In progress to QA in Prod on the Product Safety and Integrity (Sprint lily-of-the-valley (May 4 - May 22)) board.
Wed, May 20, 3:48 PM · MW-1.47-notes (1.47.0-wmf.3; 2026-05-19), VisualEditor, ConfirmEdit (CAPTCHA extension), Bot detection and mitigation (WE4.10 hCaptcha), hCaptcha, Product Safety and Integrity (Sprint lily-of-the-valley (May 4 - May 22))
kostajh closed T426587: hCaptcha: API edits are incorrectly using the always-challenge mode for the addurl action as Resolved.
Wed, May 20, 3:43 PM · Bot detection and mitigation (WE4.10 hCaptcha), WikiEditor (2010), ConfirmEdit (CAPTCHA extension), hCaptcha, Product Safety and Integrity (Sprint lily-of-the-valley (May 4 - May 22))
kostajh closed T426151: Requests made to assets-hcaptcha.wikimedia.org for user with skipcaptcha when switching between mobile Visual and Source Editors as Resolved.
Wed, May 20, 3:40 PM · MW-1.47-notes (1.47.0-wmf.3; 2026-05-19), MobileFrontend, ConfirmEdit (CAPTCHA extension), Bot detection and mitigation (WE4.10 hCaptcha), hCaptcha, Product Safety and Integrity (Sprint lily-of-the-valley (May 4 - May 22))
kostajh closed T426151: Requests made to assets-hcaptcha.wikimedia.org for user with skipcaptcha when switching between mobile Visual and Source Editors, a subtask of T425940: hCaptcha: Rollout of MobileFrontend and VisualEditor integrations, as Resolved.
Wed, May 20, 3:40 PM · Product Safety and Integrity (Sprint Iris (May 25 - Jun 12)), ConfirmEdit (CAPTCHA extension), hCaptcha, Bot detection and mitigation (WE4.10 hCaptcha)
kostajh moved T422222: Unable to submit edit in Basic mode from Needs review to QA in Prod on the Product Safety and Integrity (Sprint lily-of-the-valley (May 4 - May 22)) board.

@dom_walden desktop wikitext editor and Special:CreateAccount should usable now via a Grade C browser, can you please test this in your local environment, and/or verify it next week when the train is at group0? Thank you!

Wed, May 20, 3:10 PM · Product Safety and Integrity (Sprint Iris (May 25 - Jun 12)), MW-1.47-notes (1.47.0-wmf.4; 2026-05-26), MediaWiki-Platform-Team (Radar), ConfirmEdit (CAPTCHA extension), Bot detection and mitigation (WE4.2 hCaptcha editing trial)
kostajh closed T426829: New users unable to create Wikidata items: Incorrect or missing CAPTCHA as Resolved.

This should be fixed. We can continue in T426089: hCaptcha: Enable usage on wikidata.org about actually building support for hCaptcha into various Wikidata editing interfaces.

Wed, May 20, 1:04 PM · Patch-For-Review, Product Safety and Integrity (Sprint lily-of-the-valley (May 4 - May 22)), hCaptcha, Wikidata
kostajh closed T426829: New users unable to create Wikidata items: Incorrect or missing CAPTCHA, a subtask of T426089: hCaptcha: Enable usage on wikidata.org, as Resolved.
Wed, May 20, 1:04 PM · Wikidata-Omega (Triaging), Patch-For-Review, Wikidata, Bot detection and mitigation (WE4.10 hCaptcha)
kostajh added a comment to T426751: Stuck in FancyCaptcha challenge loop on VisualEditor.

@dom_walden can you please try to reproduce this issue again?

Wed, May 20, 12:24 PM · MW-1.47-notes (1.47.0-wmf.3; 2026-05-19), VisualEditor, ConfirmEdit (CAPTCHA extension), Bot detection and mitigation (WE4.10 hCaptcha), hCaptcha, Product Safety and Integrity (Sprint lily-of-the-valley (May 4 - May 22))
kostajh updated subscribers of T426845: mediawiki-config CI blocked by Composer automatic-security-blocking (PKSA-v5yj-8nmz-sk2q, PKSA-ft77-7h5f-p3r6, PKSA-b14r-zh1d-vdrc).
Wed, May 20, 12:23 PM · Security, ci-test-error (WMF-deployed Build Failure), WMF-General-or-Unknown
kostajh closed T348935: IPoid: Define service level indicators and service level objectives, a subtask of T325147: New Service Request 'iPoid', as Resolved.
Wed, May 20, 11:57 AM · Product Safety and Integrity, Trust and Safety Product Sprint, iPoid-Service, serviceops-deprecated, Service-deployment-requests
kostajh closed T348935: IPoid: Define service level indicators and service level objectives as Resolved.
Wed, May 20, 11:57 AM · Product Safety and Integrity (Sprint lily-of-the-valley (May 4 - May 22)), Data-Platform-SRE (2026-04-24 - 2026-05-15), Essential-Work, ServiceOps new, SRE-SLO, iPoid-Service (iPoid 1.0)
kostajh moved T422222: Unable to submit edit in Basic mode from In refinement to Needs review on the Product Safety and Integrity (Sprint lily-of-the-valley (May 4 - May 22)) board.
Wed, May 20, 11:45 AM · Product Safety and Integrity (Sprint Iris (May 25 - Jun 12)), MW-1.47-notes (1.47.0-wmf.4; 2026-05-26), MediaWiki-Platform-Team (Radar), ConfirmEdit (CAPTCHA extension), Bot detection and mitigation (WE4.2 hCaptcha editing trial)
kostajh created T426830: UserInfoCard: Support usage in Twinkle gadget.
Wed, May 20, 9:57 AM · Product Safety and Integrity, CheckUser-UserInfoCard
kostajh moved T426829: New users unable to create Wikidata items: Incorrect or missing CAPTCHA from Backlog to Ready on the Product Safety and Integrity (Sprint lily-of-the-valley (May 4 - May 22)) board.

One idea (h/t @Dreamy_Jazz ) is to apply an exemption, for now, for edits made when the title is a special page.

Wed, May 20, 9:29 AM · Patch-For-Review, Product Safety and Integrity (Sprint lily-of-the-valley (May 4 - May 22)), hCaptcha, Wikidata
kostajh triaged T426829: New users unable to create Wikidata items: Incorrect or missing CAPTCHA as High priority.
Wed, May 20, 9:29 AM · Patch-For-Review, Product Safety and Integrity (Sprint lily-of-the-valley (May 4 - May 22)), hCaptcha, Wikidata

Tue, May 19

kostajh updated the task description for T425354: hCaptcha: Rollout to all projects.
Tue, May 19, 1:17 PM · Product Safety and Integrity (Sprint Iris (May 25 - Jun 12)), Bot detection and mitigation (WE4.10 hCaptcha)
kostajh updated the task description for T425354: hCaptcha: Rollout to all projects.
Tue, May 19, 1:16 PM · Product Safety and Integrity (Sprint Iris (May 25 - Jun 12)), Bot detection and mitigation (WE4.10 hCaptcha)
kostajh closed T424502: Disable back button when hCaptcha is loading on mobile source editor as Resolved.
Tue, May 19, 1:14 PM · MW-1.47-notes (1.47.0-wmf.2; 2026-05-12), Product Safety and Integrity (Sprint lily-of-the-valley (May 4 - May 22)), MobileFrontend (MobileFrontend (Editor)), ConfirmEdit (CAPTCHA extension), Bot detection and mitigation (WE4.10 hCaptcha)
kostajh closed T424651: MobileFrontend's source editor allows to click on the back button while the edit is being saved as Resolved.
Tue, May 19, 1:14 PM · MW-1.47-notes (1.47.0-wmf.2; 2026-05-12), Product Safety and Integrity (Sprint lily-of-the-valley (May 4 - May 22)), Bot detection and mitigation (WE4.2 hCaptcha editing trial), MobileFrontend (MobileFrontend (Editor))
kostajh closed T424651: MobileFrontend's source editor allows to click on the back button while the edit is being saved, a subtask of T407339: hCaptcha: Implement hCaptcha on edits made through the MobileFrontend, as Resolved.
Tue, May 19, 1:14 PM · Product Safety and Integrity (Sprint Iris (May 25 - Jun 12)), ConfirmEdit (CAPTCHA extension), MobileFrontend (MobileFrontend (Editor)), OKR-Work, Bot detection and mitigation (WE4.2 hCaptcha editing trial)
kostajh edited projects for T426740: QUnit test "ext.confirmEdit.hCaptcha.secureEnclave" fails on unrelated WikimediaEvents change, added: Bot detection and mitigation (WE4.10 hCaptcha), Product Safety and Integrity (Sprint lily-of-the-valley (May 4 - May 22)); removed Product Safety and Integrity.
Tue, May 19, 11:36 AM · MW-1.47-notes (1.47.0-wmf.3; 2026-05-19), Product Safety and Integrity (Sprint lily-of-the-valley (May 4 - May 22)), Bot detection and mitigation (WE4.10 hCaptcha), ci-test-error (WMF-deployed Build Failure), hCaptcha, ConfirmEdit (CAPTCHA extension)
kostajh closed T426105: yahoo rejecting our emails as Resolved.

Someone from Yahoo was kind enough to reach out to me directly and modify the IP reputation, so emails are flowing again!

Tue, May 19, 6:32 AM · SRE, Trust-and-Safety, Product Safety and Integrity, Infrastructure-Foundations, vrts, Mail