Page MenuHomePhabricator

Mholloway (Michael Holloway)
Disabled

Projects

User does not belong to any projects.

User Details

User Since
Mar 30 2015, 8:44 PM (468 w, 9 h)
Roles
Disabled
IRC Nick
mholloway
LDAP User
Mholloway
MediaWiki User
Unknown
This account has been disabled.

Recent Activity

Jan 29 2022

awight awarded T146032: Define and implement a common push notification architecture a Barnstar token.
Jan 29 2022, 6:48 PM · Reading Epics (Push Notifications), Epic, Push-Notification-Service, Product-Infrastructure-Team-Backlog-Deprecated, Platform Team Legacy (Watching / External), Wikipedia-Android-App-Backlog, Services (watching), Wikipedia-iOS-App-Backlog

Sep 17 2021

Mholloway closed T281758: Consolidate Metrics Platform Swift client into mediawiki/libs/metrics-platform, a subtask of T280182: Consolidate Metrics Platform client libraries into mediawiki/libs/metrics-platform, as Resolved.
Sep 17 2021, 7:22 PM · Metrics Platform Backlog (Metrics-Platform-MVP-Release-1), Better Use Of Data, Product-Data-Infrastructure
Mholloway closed T281758: Consolidate Metrics Platform Swift client into mediawiki/libs/metrics-platform as Resolved.
Sep 17 2021, 7:22 PM · Patch-For-Review, Metrics Platform Backlog, Product-Data-Infrastructure
Mholloway closed T281758: Consolidate Metrics Platform Swift client into mediawiki/libs/metrics-platform, a subtask of T281770: Ensure that the Swift client library can be included via SwiftPM, as Resolved.
Sep 17 2021, 7:22 PM · Metrics Platform Icebox, Product-Data-Infrastructure
Mholloway closed T251320: Augment Hive event data with normalized host info from meta.domain as Resolved.
Sep 17 2021, 7:22 PM · Analytics-Kanban, Event-Platform, Product-Analytics, Analytics
Mholloway placed T137321: Run ETL for wmf_raw.ActionApi into wmf.action_* aggregate tables up for grabs.
Sep 17 2021, 7:21 PM · Data-Engineering-Icebox, Analytics-Radar, Platform Team Initiatives (Modern Event Platform (TEC2)), User-Addshore, Patch-For-Review, MediaWiki-Action-API
Mholloway placed T276515: Generate Session Length test data up for grabs.
Sep 17 2021, 7:20 PM · MW-1.40-notes (1.40.0-wmf.5; 2022-10-10), Product-Analytics, Patch-For-Review, MW-1.36-notes (1.36.0-wmf.35; 2021-03-16), Better Use Of Data
Mholloway removed a member for acl*procurement-review: Mholloway.
Sep 17 2021, 5:51 PM
Mholloway removed a member for Metrics Platform Backlog: Mholloway.
Sep 17 2021, 5:51 PM
Mholloway removed a member for DoNotUse---Instrument-ClientError: Mholloway.
Sep 17 2021, 5:50 PM
Mholloway updated Mholloway.
Sep 17 2021, 5:47 PM
Mholloway reassigned T280182: Consolidate Metrics Platform client libraries into mediawiki/libs/metrics-platform from Mholloway to jlinehan.

One last point to note is that GitLab currently isn't open to non-WMF/NDA users and so limits the possibility of external/volunteer involvement.

Sep 17 2021, 4:20 PM · Metrics Platform Backlog (Metrics-Platform-MVP-Release-1), Better Use Of Data, Product-Data-Infrastructure
Mholloway added a comment to T280182: Consolidate Metrics Platform client libraries into mediawiki/libs/metrics-platform.

The libraries were consolidated in mediawiki/libs/metrics-platform but that repo structure doesn't play nicely with the package managers we'll be relying on for distribution, which expect the relevant metadata files (composer.json, Package.swift, etc.) in the repo root.

Sep 17 2021, 4:16 PM · Metrics Platform Backlog (Metrics-Platform-MVP-Release-1), Better Use Of Data, Product-Data-Infrastructure
Mholloway added a comment to T282842: Early adoption signup for WMF GitLab.

Not sure if I was supposed to say something here first, but I've just created four new repos in GitLab to host the individual Metrics Platform Backlog client libraries.

Sep 17 2021, 4:01 PM · Release-Engineering-Team (Priority Backlog 📥), GitLab (Project Migration), User-brennen
Mholloway closed T287892: Stream config: Refine value-based curation config syntax, a subtask of T274175: Control instruments with Stream Configuration, as Resolved.
Sep 17 2021, 3:47 PM · Metrics Platform Backlog, Product-Data-Infrastructure, Better Use Of Data
Mholloway closed T287892: Stream config: Refine value-based curation config syntax as Resolved.

Calling this resolved as we just merged a lot of code relying on the new config syntax.

Sep 17 2021, 3:47 PM · Metrics Platform Backlog, Product-Data-Infrastructure
Mholloway closed T288742: Measure test coverage for all client libraries, a subtask of T276378: EPIC: Release Metrics Platform v1, as Resolved.
Sep 17 2021, 3:39 PM · Product-Data-Infrastructure, Metrics Platform Backlog, Epic, Better Use Of Data
Mholloway closed T288742: Measure test coverage for all client libraries as Resolved.
Sep 17 2021, 3:39 PM · Product-Data-Infrastructure, Metrics Platform Backlog
Mholloway added a comment to T291200: wgEchoEnablePush config is brittle.

Another option would be to investigate why are arbcom wikis in wikipedia.dblist and remove if no reason is found

I'll take the opportunity to link the task about this that you mentioned the other day: T183549: Arbcom wikis are in both wikipedia.dblist and special.dblist

Sep 17 2021, 1:45 PM · Data-Persistence (work done), Notifications, Product-Infrastructure-Team-Backlog-Deprecated, Growth-Team

Sep 16 2021

Mholloway created T291221: runner-1002 is out of space.
Sep 16 2021, 10:02 PM · Release-Engineering-Team (Priority Backlog 📥), GitLab (CI & Job Runners), User-brennen
Mholloway removed a watcher for tech-decision-forum: Mholloway.
Sep 16 2021, 4:33 PM
Mholloway updated the task description for T291200: wgEchoEnablePush config is brittle.
Sep 16 2021, 3:59 PM · Data-Persistence (work done), Notifications, Product-Infrastructure-Team-Backlog-Deprecated, Growth-Team
Mholloway updated the task description for T291200: wgEchoEnablePush config is brittle.
Sep 16 2021, 3:54 PM · Data-Persistence (work done), Notifications, Product-Infrastructure-Team-Backlog-Deprecated, Growth-Team
Mholloway created T291200: wgEchoEnablePush config is brittle.
Sep 16 2021, 3:50 PM · Data-Persistence (work done), Notifications, Product-Infrastructure-Team-Backlog-Deprecated, Growth-Team

Sep 15 2021

Mholloway added a comment to T291128: Wikimedia\Rdbms\DBQueryError: Error 1146: Table 'arbcom_dewiki.echo_push_subscription' doesn't exist (db1175)Function: EchoPush\SubscriptionManager::getSubscriptionsForUserQuery: SELECT * FROM `echo_push_subscription` INNER JOIN `echo_push_provider` ON ((eps_provider = epp_id)) LEFT JOIN `echo_push_topic` ON ((eps_topic = ept_id)) WHERE eps_user = 91 .

To memorialize more fully what happened here:

Sep 15 2021, 9:57 PM · User-Urbanecm, Product-Infrastructure-Team-Backlog-Deprecated, Notifications, Wikimedia-production-error, Growth-Team
Mholloway awarded T183549: Arbcom wikis are in both wikipedia.dblist and special.dblist a Like token.
Sep 15 2021, 9:00 PM · Wikimedia-Site-requests

Sep 13 2021

Mholloway committed rMLMP23d642daffff: [PHP] Add coverage reporting (authored by Mholloway).
[PHP] Add coverage reporting
Sep 13 2021, 9:02 PM
Mholloway committed rMLMPe4cd1575c406: [JS] Add code coverage reporting (authored by Mholloway).
[JS] Add code coverage reporting
Sep 13 2021, 9:01 PM
Mholloway committed rMLMPb188bd2a175a: [PHP] Support curating stream data sets based on event properties (authored by Mholloway).
[PHP] Support curating stream data sets based on event properties
Sep 13 2021, 8:43 PM
Mholloway committed rMLMP90e59363f89e: [PHP] Support adding context values based on stream config (authored by Mholloway).
[PHP] Support adding context values based on stream config
Sep 13 2021, 8:41 PM
Mholloway committed rMLMPf9baa8a07d2d: [JS] Support curating stream data sets based on event properties (authored by Mholloway).
[JS] Support curating stream data sets based on event properties
Sep 13 2021, 8:33 PM
Mholloway committed rMLMP2a7f65a1fab9: [JS] Support adding context values based on stream config (authored by Mholloway).
[JS] Support adding context values based on stream config
Sep 13 2021, 8:32 PM
Mholloway committed rMLMP3bdef012ba67: [Swift] Add make recipe for generating code coverage (authored by Mholloway).
[Swift] Add make recipe for generating code coverage
Sep 13 2021, 8:30 PM
Mholloway committed rMLMPd120bd535dcb: [Swift] Add support for multiple destination event services (authored by Mholloway).
[Swift] Add support for multiple destination event services
Sep 13 2021, 8:22 PM
Mholloway committed rMLMP53d768e33955: [Swift] Support curating stream data sets based on event properties (authored by Mholloway).
[Swift] Support curating stream data sets based on event properties
Sep 13 2021, 8:18 PM
Mholloway committed rMLMP37a857a9d47d: [Swift] Support adding context values based on stream config (authored by Mholloway).
[Swift] Support adding context values based on stream config
Sep 13 2021, 8:12 PM
Mholloway committed rMLMP625d7a12eccc: [Swift] Add Swift client library (authored by Mholloway).
[Swift] Add Swift client library
Sep 13 2021, 8:11 PM
Mholloway committed rMLMP3ce9452b45ab: [Java] Add jacoco Gradle plugin for code coverage reporting (authored by Mholloway).
[Java] Add jacoco Gradle plugin for code coverage reporting
Sep 13 2021, 7:56 PM
Mholloway committed rMLMPe7e49b0f66f3: [Java] Restore support for multiple destination event services (authored by Mholloway).
[Java] Restore support for multiple destination event services
Sep 13 2021, 7:50 PM
Mholloway committed rMLMP314f78df9def: [Java] Support curating stream data sets based on event properties (authored by Mholloway).
[Java] Support curating stream data sets based on event properties
Sep 13 2021, 7:44 PM
Mholloway committed rMLMP684baac60322: [Java] Support adding context values based on stream config (authored by Mholloway).
[Java] Support adding context values based on stream config
Sep 13 2021, 7:38 PM
Mholloway committed rMLMPf594b1b63b52: [Java] Add JSON serialization tests (authored by Mholloway).
[Java] Add JSON serialization tests
Sep 13 2021, 7:35 PM
Mholloway committed rMLMP7b2f68c66c12: [Java] Additional tweaks for correctness (authored by Mholloway).
[Java] Additional tweaks for correctness
Sep 13 2021, 7:35 PM

Sep 10 2021

Mholloway created T290770: Submit app client library errors as client error events.
Sep 10 2021, 7:54 PM · Metrics Platform Backlog

Sep 7 2021

Mholloway added a project to T277515: [Session Length] Missing sessions: Metrics Platform Backlog.
Sep 7 2021, 2:01 PM · Metrics Platform Backlog, MediaWiki-extensions-WikimediaEvents, MW-1.36-notes (1.36.0-wmf.35; 2021-03-16), Better Use Of Data
Mholloway edited projects for T259734: BUOD-KR1-Q4+: Certify that analytics schema and instruments have been upgraded to use the MEP system (clearing the legacy system for sunsetting), added: Metrics Platform Backlog; removed Product-Infrastructure-Team-Backlog-Deprecated.
Sep 7 2021, 2:01 PM · Metrics Platform Backlog, Better Use Of Data, Product-Data-Infrastructure, Goal
Mholloway edited projects for T259711: Determine requirements for logging native app client errors to Logstash, added: Metrics Platform Backlog; removed Product-Infrastructure-Team-Backlog-Deprecated.
Sep 7 2021, 1:56 PM · Metrics Platform Backlog, Product-Data-Infrastructure, observability, Better Use Of Data
Mholloway edited projects for T259157: BUOD-KR1-Q3: Require that all new schema/instruments are created with the MEP system, added: Metrics Platform Backlog; removed Product-Infrastructure-Team-Backlog-Deprecated.
Sep 7 2021, 1:55 PM · Data-Engineering, Metrics Platform Backlog, Goal, Product-Data-Infrastructure, Better Use Of Data, Event-Platform
Mholloway edited projects for T249164: RFC: Better interface for generating metrics in MediaWiki, added: Metrics Platform Backlog; removed Product-Infrastructure-Team-Backlog-Deprecated.
Sep 7 2021, 1:55 PM · Observability-Metrics, Metrics Platform Backlog, Product-Data-Infrastructure (Backlog), Better Use Of Data, TechCom-RFC
Mholloway edited projects for T260545: Provide usability tools and features for MEP Product instrumentation workflow, added: Metrics Platform Backlog; removed Product-Infrastructure-Team-Backlog-Deprecated.
Sep 7 2021, 1:53 PM · Metrics Platform Backlog, Epic, Product-Data-Infrastructure, Better Use Of Data
Mholloway edited projects for T259704: BUOD-KR1-Q2: Upgrade MEP clients to full release status, added: Metrics Platform Backlog; removed Product-Infrastructure-Team-Backlog-Deprecated.
Sep 7 2021, 1:53 PM · Metrics Platform Backlog, Goal, Better Use Of Data, Product-Data-Infrastructure
Mholloway edited projects for T260549: Improve rendering of event schema for browsing and documentation, added: Metrics Platform Backlog; removed Product-Infrastructure-Team-Backlog-Deprecated.
Sep 7 2021, 1:52 PM · Metrics Platform Backlog, Product-Data-Infrastructure, Better Use Of Data
Mholloway edited projects for T263452: Codify a standard deployment ramp for new instrumentation, added: Metrics Platform Backlog; removed Product-Infrastructure-Team-Backlog-Deprecated.
Sep 7 2021, 1:52 PM · Metrics Platform Backlog, Better Use Of Data, Product-Data-Infrastructure
Mholloway edited projects for T261987: MEP Client iOS (Revision), added: Metrics Platform Backlog; removed Product-Infrastructure-Team-Backlog-Deprecated.
Sep 7 2021, 1:52 PM · Metrics Platform Backlog, Better Use Of Data, Product-Data-Infrastructure
Mholloway added a project to T258692: Monitoring/Alerting for Wikipedia mobile app errors due to timeouts in wikifeeds: Metrics Platform Backlog.
Sep 7 2021, 1:51 PM · Metrics Platform Backlog, Product-Infrastructure-Team-Backlog-Deprecated, Better Use Of Data, Product-Data-Infrastructure, Sustainability (Incident Followup), Wikifeeds, Mobile
Mholloway edited projects for T259373: Develop strategy for mitigating degenerate client timestamps in event data, added: Metrics Platform Backlog; removed Product-Infrastructure-Team-Backlog-Deprecated.
Sep 7 2021, 1:50 PM · Metrics Platform Backlog, Product-Data-Infrastructure, Better Use Of Data
Mholloway edited projects for T262663: Dashboard for monitoring product data traffic, added: Metrics Platform Backlog; removed Product-Infrastructure-Team-Backlog-Deprecated.
Sep 7 2021, 1:50 PM · Metrics Platform Backlog, Better Use Of Data, Product-Data-Infrastructure
Mholloway edited projects for T267034: Conversion Funnel Analysis (Capability), added: Metrics Platform Backlog; removed Product-Infrastructure-Team-Backlog-Deprecated.
Sep 7 2021, 1:49 PM · Metrics Platform Backlog, Goal, Better Use Of Data, Product-Data-Infrastructure
Mholloway updated the task description for T259708: MEP Client MediaWiki JS (non-essential features).
Sep 7 2021, 1:42 PM · Metrics Platform Backlog, Better Use Of Data, Product-Data-Infrastructure
Mholloway edited projects for T259708: MEP Client MediaWiki JS (non-essential features), added: Metrics Platform Backlog; removed Product-Infrastructure-Team-Backlog-Deprecated.
Sep 7 2021, 1:41 PM · Metrics Platform Backlog, Better Use Of Data, Product-Data-Infrastructure
Mholloway added a subtask for T274175: Control instruments with Stream Configuration: T259708: MEP Client MediaWiki JS (non-essential features).
Sep 7 2021, 1:41 PM · Metrics Platform Backlog, Product-Data-Infrastructure, Better Use Of Data
Mholloway added a parent task for T259708: MEP Client MediaWiki JS (non-essential features): T274175: Control instruments with Stream Configuration.
Sep 7 2021, 1:41 PM · Metrics Platform Backlog, Better Use Of Data, Product-Data-Infrastructure
Mholloway edited projects for T267408: [MEP Client Library] Write User-facing Documentation, added: Metrics Platform Backlog; removed Product-Infrastructure-Team-Backlog-Deprecated.
Sep 7 2021, 1:38 PM · Metrics Platform Backlog, Documentation, Product-Data-Infrastructure, Better Use Of Data

Sep 3 2021

Mholloway added a comment to T277193: wgEventStreams (EventStreamConfig) should support per wiki overrides.

To expand on my dislike of the reliance on ordering: Before I realized that PHP associative arrays were ordered and would support the behavior currently relied upon, I started out by splitting out the pattern-based stream configs out into their own dedicated config setting, and I still think that would be a good idea for performance in its own right. The implementation could first see if a key matching the requested name exists in the (now-string-keyed) $wgEventStreams, and if not found, iterate over the elements of $wgEventStreamsByPattern to see if any match by regex pattern. Then searches for pattern matches would only have to iterate over a small number of elements (currently only 2: /^swift\.(.+\.)?upload-complete$/ and /^mediawiki\\.job\\..+/) rather than a substantial chunk of the large and growing full list in $wgEventStreams.

Sep 3 2021, 8:37 PM · Patch-For-Review, MW-1.38-notes (1.38.0-wmf.3; 2021-10-05), Analytics-Kanban, Metrics Platform Backlog, Better Use Of Data, Analytics, Event-Platform
Mholloway added a comment to T277193: wgEventStreams (EventStreamConfig) should support per wiki overrides.

Here's a pleasant PHP surprise: associative (i.e., string-keyed) arrays in PHP are ordered, so we don't have to choose between keying by stream name/pattern and having stream configs defined in a preferred ordering. In fact, as this patch demonstrates, it would be totally safe to update $wgEventStreams today to be keyed by stream name/pattern with no adverse effect on its functioning.

Sep 3 2021, 7:39 PM · Patch-For-Review, MW-1.38-notes (1.38.0-wmf.3; 2021-10-05), Analytics-Kanban, Metrics Platform Backlog, Better Use Of Data, Analytics, Event-Platform

Aug 30 2021

Mholloway awarded T102848: Split GeoIP into a new component a Like token.
Aug 30 2021, 5:44 PM · MW-1.35-notes (1.35.0-wmf.31; 2020-05-05), Traffic, SRE, Librarization, MediaWiki-extensions-CentralNotice, Privacy
Mholloway added a comment to T288742: Measure test coverage for all client libraries.

See also: https://blog.pragmaticengineer.com/swift-the-only-modern-language-with-no-mocking-framework/

Aug 30 2021, 2:48 PM · Product-Data-Infrastructure, Metrics Platform Backlog
Mholloway added a comment to T288742: Measure test coverage for all client libraries.

A note on the Swift library: my testing strategy for the core MetricsClient object in PHP, JS, and Java has been based on mocking. This is more difficult for the Swift library because AFAIK there is no mocking library currently in existence that's compatible with a pure Swift project. I've looked at https://github.com/birdrides/mockingbird and https://github.com/Brightify/Cuckoo and I don't believe either will work without substantial modifications.

Aug 30 2021, 2:40 PM · Product-Data-Infrastructure, Metrics Platform Backlog
Mholloway renamed T288742: Measure test coverage for all client libraries from Define a test coverage target and measure test coverage for all client libraries to Measure test coverage for all client libraries.
Aug 30 2021, 2:33 PM · Product-Data-Infrastructure, Metrics Platform Backlog

Aug 27 2021

Mholloway added a comment to T289771: Add kafka support for tile-pregeneration events.

Hey @Jgiannelos, your proposed event schema looks good to me. That said, I think it belongs in the primary event schema repository as an event that (quoting the README) "directly affect[s] user-facing features."

Aug 27 2021, 3:49 PM · Patch-For-Review, Product-Infrastructure-Team-Backlog-Deprecated (Kanban), Maps

Aug 26 2021

Mholloway added a comment to T281758: Consolidate Metrics Platform Swift client into mediawiki/libs/metrics-platform.

After discussing this with Toni I decided to drop the library and just implement this using the standard Codable/CodingKeys approach, which is a bit more boilerplate code but is working great. That change is reflected in the lastest patch set.

Aug 26 2021, 5:43 PM · Patch-For-Review, Metrics Platform Backlog, Product-Data-Infrastructure

Aug 20 2021

Mholloway added a comment to T281758: Consolidate Metrics Platform Swift client into mediawiki/libs/metrics-platform.

Current status on the WIP patch: the SerializedSwift library for serializing objects to/from JSON had seemed to be working well, but I've found a bug in it that needs to be resolved if we want to more forward with it. The bug is that null values are explicitly serialized as { "property": null } rather than being omitted, which is the default in GSON, which inspired SerializedSwift, and which is what we want. I believe it's a bug because the intention in the code is pretty clearly that these values be omitted.

Aug 20 2021, 9:29 PM · Patch-For-Review, Metrics Platform Backlog, Product-Data-Infrastructure

Aug 19 2021

Mholloway closed T239996: Send batches of events from EPC app libraries (Java, Swift), a subtask of T228175: Event Platform Client Libraries, as Resolved.
Aug 19 2021, 2:48 PM · Metrics Platform Icebox, Analytics, Epic, Better Use Of Data, Product-Infrastructure-Team-Backlog-Deprecated
Mholloway closed T239996: Send batches of events from EPC app libraries (Java, Swift) as Resolved.

This is core functionality of the client libraries for the v1 release. I'm going to be bold and close it as I don't think it needs its own ticket.

Aug 19 2021, 2:48 PM · Data-Engineering, Metrics Platform Backlog, Product-Data-Infrastructure, Analytics-Radar, Event-Platform, Better Use Of Data
Mholloway closed T239996: Send batches of events from EPC app libraries (Java, Swift), a subtask of T282003: Metrics Platform: Streamline the process to create new instrumentations, as Resolved.
Aug 19 2021, 2:48 PM · Metrics Platform Icebox, Epic
Mholloway closed T286655: Review wd_propertysuggester A/B testing schema as Resolved.

Ship sailed.

Aug 19 2021, 2:44 PM · Wikidata, User-Addshore, Metrics Platform Backlog
Mholloway closed T286655: Review wd_propertysuggester A/B testing schema, a subtask of T285098: Production A/B test deployment - Improved Property Suggester/Recommender, as Resolved.
Aug 19 2021, 2:44 PM · Wikidata Dev Team, Foundational Technology Requests, MW-1.37-notes (1.37.0-wmf.19; 2021-08-16), Patch-For-Review, Wikidata, MediaWiki-extensions-PropertySuggester, [DEPRECATED] wdwb-tech
Mholloway added a comment to T281758: Consolidate Metrics Platform Swift client into mediawiki/libs/metrics-platform.

Work continues apace: https://gerrit.wikimedia.org/r/q/project:mediawiki%252Flibs%252Fmetrics-platform+status:open

Aug 19 2021, 2:42 PM · Patch-For-Review, Metrics Platform Backlog, Product-Data-Infrastructure
Mholloway added a comment to T267602: Client-side error logging should use Elastic Common Schema (ECS) fields when possible.

Does T272238: Elasticsearch and Kibana are switching to non-OSI-approved SSPL licence affect whether we want to move forward with this?

Aug 19 2021, 2:40 PM · Data-Engineering, Metrics Platform Backlog, Better Use Of Data, Analytics, Product-Data-Infrastructure, Event-Platform
Mholloway added a comment to T285561: API Usage Metrics.

Background. Everything old is new again:
T102079: Metrics about the use of the Wikimedia web APIs
T114017: Map current use of Wikimedia web APIs

Aug 19 2021, 2:33 PM · Metrics Platform Backlog, Epic, API Platform (API Platform Roadmap)

Aug 18 2021

Mholloway added a comment to T288770: set apps default to notifications on.

OK, I finally figured out why we're seeing these default discrepancies. The web preferences are being enabled in a hook handler: https://github.com/wikimedia/mediawiki-extensions-Echo/blob/15c72fe4ed1f071af8524a10508f182c5dc48702/includes/EchoHooks.php#L22-L75. I should have known. This should be easy enough to fix.

Aug 18 2021, 9:39 PM · MW-1.37-notes (1.37.0-wmf.21; 2021-08-30), iOS-app-v6.9-Carp-On-A-Zamboni, Product-Infrastructure-Team-Backlog-Deprecated, Wikipedia-Android-App-Backlog, Wikipedia-iOS-App-Backlog
Mholloway added a comment to T287909: Notifications API module should not hard-code the `web` notifier type.

As for the solution, I think the "ask for both web and apps" is the second alternative I was making sure would make sense.

Aug 18 2021, 9:03 PM · MW-1.37-notes (1.37.0-wmf.20; 2021-08-23), Wikipedia-Android-App-Backlog, Growth-Team (Sprint 0 (Growth Team)), Product-Infrastructure-Team-Backlog-Deprecated, Wikipedia-iOS-App-Backlog, iOS-app-feature-Notifications, Notifications
Mholloway added a comment to T287909: Notifications API module should not hard-code the `web` notifier type.

It's also an option for the client to opt in to push notifications for all supported types when the user first registers a token, or for a new type when support for a new type is added. (That gets into the surprise avoidance issues I mentioned earlier, but I'm done fighting that battle; do whatever you think is right.)

Aug 18 2021, 8:52 PM · MW-1.37-notes (1.37.0-wmf.20; 2021-08-23), Wikipedia-Android-App-Backlog, Growth-Team (Sprint 0 (Growth Team)), Product-Infrastructure-Team-Backlog-Deprecated, Wikipedia-iOS-App-Backlog, iOS-app-feature-Notifications, Notifications
Mholloway added a comment to T287909: Notifications API module should not hard-code the `web` notifier type.

The impact however, is that now you can only see a notification on the app's notification center if and only if you also agree to push that notification type.

Aug 18 2021, 8:42 PM · MW-1.37-notes (1.37.0-wmf.20; 2021-08-23), Wikipedia-Android-App-Backlog, Growth-Team (Sprint 0 (Growth Team)), Product-Infrastructure-Team-Backlog-Deprecated, Wikipedia-iOS-App-Backlog, iOS-app-feature-Notifications, Notifications
Mholloway added a project to T288853: Migrated Server-side EventLogging events recording http.client_ip as 127.0.0.1 : Traffic.

IMO there is value in client-side and server-side events indicating the client IP in an identical way, because it might be used for things other than processing inside the event intake service, e.g. for network-level monitoring and anti-abuse (where it's also helpful that X-Client-IP is a commonly used header and all kinds of tools understand it).

Just to be clear, you're advocating here for getting http.client_ip from X-Client-IP for events produced server-side from MediaWiki, correct? I believe that's what's happening now for client-produced events. (Actually, looking at the relevant code, eventgate looks first to X-Client-IP, then falls back to the leftmost IP in X-Forwarded-For, then finally falls back to req.socket.remoteAddress, though the function doc block only says that the field contains "[the] value of X-Client-IP request header if set."). My guess is that 127.0.0.1 is the req.socket.remoteAddress for requests coming from the MediaWiki appservers.

That said, maybe worth asking someone from the Traffic team?

Aug 18 2021, 4:55 PM · MW-1.38-notes (1.38.0-wmf.1; 2021-09-21), Patch-For-Review, Analytics-Kanban, SRE, Traffic, Metrics Platform Backlog, Data-Engineering, Growth-Team, Product-Analytics, Analytics
Mholloway committed rMLMP9ec94f69d47a: Add CONTRIBUTING.md (authored by Mholloway).
Add CONTRIBUTING.md
Aug 18 2021, 3:39 PM
Mholloway committed rMLMPfe30d9740e12: Add umbrella README (authored by Mholloway).
Add umbrella README
Aug 18 2021, 3:32 PM
Mholloway added a comment to T288742: Measure test coverage for all client libraries.

Coverage reporting is in place for all libraries. Now we just need a target ;)

Aug 18 2021, 3:30 PM · Product-Data-Infrastructure, Metrics Platform Backlog

Aug 17 2021

Mholloway added a comment to T288853: Migrated Server-side EventLogging events recording http.client_ip as 127.0.0.1 .

I believe that the top-level http and meta properties are in a sense "owned" by the intake service, and the intent is for this kind of supplementation to happen there.

Hmm, counterpoint to self: For server-side events, EventBus (via EventFactory) is already directly producing all of the meta fields. OTOH, it's safe to assume the presence of meta in EventBus, because the meta object is included in every schema, while http.client_ip is not.

Aug 17 2021, 7:23 PM · MW-1.38-notes (1.38.0-wmf.1; 2021-09-21), Patch-For-Review, Analytics-Kanban, SRE, Traffic, Metrics Platform Backlog, Data-Engineering, Growth-Team, Product-Analytics, Analytics
Mholloway added a comment to T288853: Migrated Server-side EventLogging events recording http.client_ip as 127.0.0.1 .

From earlier discussions with @Ottomata, I believe that the top-level http and meta properties are in a sense "owned" by the intake service, and the intent is for this kind of supplementation to happen there. So I think passing along X-Client-IP as an HTTP request header, to allow it to be used as http.client_ip by eventgate if needed, would more closely adhere to internal logic/assumptions than would directly supplementing the event data with it in EventFactory. We can't add http.client_ip to the event body unconditionally, or I believe events will be rejected by eventgate where http.client_ip is not present in the schema; and although eventgate-wikimedia leaves http.client_ip alone if it's present in the schema and a value is already set, I don't think the intent in general is for the metrics client to examine event schemas (as opposed to stream configs) or for producers to set it directly.

Aug 17 2021, 5:25 PM · MW-1.38-notes (1.38.0-wmf.1; 2021-09-21), Patch-For-Review, Analytics-Kanban, SRE, Traffic, Metrics Platform Backlog, Data-Engineering, Growth-Team, Product-Analytics, Analytics
Mholloway added a comment to T288853: Migrated Server-side EventLogging events recording http.client_ip as 127.0.0.1 .

I believe (though I'm not 100% sure) that all WebRequests on the MW production hosts should have an x-client-ip header added by Varnish/ATS, but I don't see that being passed along anywhere in EventLogging or in EventBus (which actually performs the event submission to eventgate for server-side events). So I think the fix here would be to update EventBus::send() to get and send along the x-client-ip header. I'd appreciate a second opinion on this, though.

Aug 17 2021, 2:56 PM · MW-1.38-notes (1.38.0-wmf.1; 2021-09-21), Patch-For-Review, Analytics-Kanban, SRE, Traffic, Metrics Platform Backlog, Data-Engineering, Growth-Team, Product-Analytics, Analytics

Aug 16 2021

Mholloway added a project to T288770: set apps default to notifications on: Product-Infrastructure-Team-Backlog-Deprecated.

I'm going to tag Prod Infra with this, and add @dr0ptp4kt as EM. I'm not really officially supporting this stuff anymore, just trying to help out.

Aug 16 2021, 5:25 PM · MW-1.37-notes (1.37.0-wmf.21; 2021-08-30), iOS-app-v6.9-Carp-On-A-Zamboni, Product-Infrastructure-Team-Backlog-Deprecated, Wikipedia-Android-App-Backlog, Wikipedia-iOS-App-Backlog

Aug 13 2021

Mholloway added a comment to T287909: Notifications API module should not hard-code the `web` notifier type.

About the defaulting behavior, after some code investigation and further thinking on the matter: it does not appear to be possible at present to set an entire notifier type to be opt-out. The recommended default, and the assumption throughout the notification preferences code, is for notifications to be opt-in, and the code for determining a user's eligibilty for receiving a notification is already complex enough that I would hesitate to add conditional user preference defaults by notifier type to the mix.

Aug 13 2021, 6:15 PM · MW-1.37-notes (1.37.0-wmf.20; 2021-08-23), Wikipedia-Android-App-Backlog, Growth-Team (Sprint 0 (Growth Team)), Product-Infrastructure-Team-Backlog-Deprecated, Wikipedia-iOS-App-Backlog, iOS-app-feature-Notifications, Notifications
Mholloway added a comment to T287909: Notifications API module should not hard-code the `web` notifier type.

@JMinor Changing that default will only take a config change. I'd say we can do it as part of this task.

Aug 13 2021, 1:59 PM · MW-1.37-notes (1.37.0-wmf.20; 2021-08-23), Wikipedia-Android-App-Backlog, Growth-Team (Sprint 0 (Growth Team)), Product-Infrastructure-Team-Backlog-Deprecated, Wikipedia-iOS-App-Backlog, iOS-app-feature-Notifications, Notifications

Aug 12 2021

Mholloway committed rMLMP3879666aa7ef: [JS] Bump path-parse to 1.0.7 (authored by Mholloway).
[JS] Bump path-parse to 1.0.7
Aug 12 2021, 6:16 PM
Mholloway triaged T288742: Measure test coverage for all client libraries as Medium priority.
Aug 12 2021, 2:39 PM · Product-Data-Infrastructure, Metrics Platform Backlog
Mholloway created T288742: Measure test coverage for all client libraries.
Aug 12 2021, 2:38 PM · Product-Data-Infrastructure, Metrics Platform Backlog
Mholloway added a comment to T288660: SessionLength cookie triggers warnings about SameSite attribute.

Per https://www.mediawiki.org/wiki/Manual:SameSite_cookies#Browser_warnings it looks like these warnings can be ignored, as we have no need to send the cookies in question in any cross-domain AJAX requests.

Aug 12 2021, 2:16 PM · Metrics Platform Backlog
Mholloway added a subtask for T255366: SameSite cookie issues: T288660: SessionLength cookie triggers warnings about SameSite attribute.
Aug 12 2021, 2:03 PM · MediaWiki-General
Mholloway added a parent task for T288660: SessionLength cookie triggers warnings about SameSite attribute: T255366: SameSite cookie issues.
Aug 12 2021, 2:03 PM · Metrics Platform Backlog