Page MenuHomePhabricator
Search Open Tasks
    • Task
    I notice that the tooltips currently used in revision histories are extremely unhelpful. Particularly, "cur" and "prev" both just contain the article title, rather than explaining what they are. Could we change these to instead mirror the explanations at the top of the page: "difference from current version" for "cur" and "difference from preceding version" for "prev"?
    • Task
    Hello, our wiki (Vietnamese Wikipedia - viwiki) already agreed about the changing the namespace "Chủ đề" to "Cổng thông tin" here https://vi.wikipedia.org/wiki/Th%E1%BA%A3o_lu%E1%BA%ADn_Wikipedia:C%E1%BB%95ng_th%C3%B4ng_tin. Here is the change: 100 Portal (Chủ đề -> Cổng Thông tin) 101 Portal talk (Thảo luận Chủ đề -> Thảo luận Cổng Thông tin I would like to know how to change this namespace technically? Do we have to set the namespace name in the code again?
    • Task
    **List of steps to reproduce** (step by step, including full links if applicable): * Add the "multiple" parameter to a "for template" tag **What happens?**: No template shows up, and the multiple-instance template button does not appear. However, removing the "multiple" parameter does cause a template to appear, but only a single-instance one. **What should have happened instead?**: There should be a multiple-instance template button, which will add the template form to the page. **Software version (if not a Wikimedia wiki), browser information, screenshots, other information, etc**: Mediawiki 1.36.0 -- it worked completely fine before the update.
    • Task
    **List of steps to reproduce** (step by step, including full links if applicable): * open a random item on Wikidata * add P18 (image statement) * type/copy "File:Poříčí nad Sázavou, 2019 (06).jpg" **What happens?**: * the first autocomplete is "Poříčí nad Sázavou, 2019 (12).jpg", the second one is "Poříčí nad Sázavou, 2019 (14).jpg", the 3rd is **"Poříčí nad Sázavou, 2019 (06).jpg"** * I assume, that the 1st existing autocomplete is the correct hit, but actually, it isn't **What should have happened instead?**: * the first autocomplete item in the list should be "Poříčí nad Sázavou, 2019 (06).jpg" * the result should be the same for ""File:Poříčí nad Sázavou, 2019 (06).jpg" and "Poříčí nad Sázavou, 2019 (06).jpg" I don't know, where is the reason for this behaviour – whether it is caused by many files with nearly same filename (it's my own approach to naming convention of my files on Commons) or maybe some strange Czech letters (ř, č) are causing the problem. I have noticed the same behaviour previously with some other files – it's not very often, but it happens occasionally. It is interesting that typing the filename without the "File" prefix would solve the problem, but it's quite counterintuitive to omit the File: in the claim box.
    • Task
    When you are logged out and are on the File: page of transparent files, the background of the files is white, instead of covered in https://commons.wikimedia.org/wiki/File:Checker-16x16.png as they do when you are logged in. I don't think this is an intended feature. Examples: https://commons.wikimedia.org/wiki/File:Government_of_Kerala_Logo.png https://commons.wikimedia.org/wiki/File:Government_of_Kerala_Logo.svg https://commons.wikimedia.org/wiki/File:Logo_Orbitel_azul.gif When you scroll down to the File history section however the files are indeed transparent and the checkerboard pattern is visible.
    • Task
    Please install wikilove extension in hewikiquote, per community discussion in Village Pump: https://he.wikisource.org/wiki/%D7%95%D7%99%D7%A7%D7%99%D7%98%D7%A7%D7%A1%D7%98:%D7%9E%D7%96%D7%A0%D7%95%D7%9F#%D7%95%D7%99%D7%A7%D7%99_%D7%90%D7%94%D7%91%D7%94
    • Task
    ==== Error ==== * mwversion: `1.37.0-wmf.5` * reqId: `d9a98e46-9105-4f48-8ff6-204791a97488` * [[ https://logstash.wikimedia.org/app/dashboards#/view/AXFV7JE83bOlOASGccsT?_g=(time:(from:'2021-05-19T10:36:26.000Z',to:'2021-05-21T10:36:26.000Z'))&_a=(query:(query_string:(query:'reqId:%22d9a98e46-9105-4f48-8ff6-204791a97488%22'))) | Find reqId in Logstash ]] * [[ https://logstash.wikimedia.org/app/dashboards#/view/AXFV7JE83bOlOASGccsT?_g=(time:(from:now-30d,to:now))&_a=(query:(query_string:(query:'normalized_message:%22%5B%7BreqId%7D%5D%20%7Bexception_url%7D%20%20%20PHP%20Notice:%20Undefined%20index:%20query%22'))) | Find normalized_message in Logstash ]] ```name=normalized_message [{reqId}] {exception_url} PHP Notice: Undefined index: query ``` ```name=exception.trace,lines=10 from /srv/mediawiki/php-1.37.0-wmf.5/extensions/FileImporter/src/Remote/MediaWiki/ApiDetailRetriever.php(136) #0 /srv/mediawiki/php-1.37.0-wmf.5/extensions/FileImporter/src/Remote/MediaWiki/ApiDetailRetriever.php(136): MWExceptionHandler::handleError(integer, string, string, integer, array) #1 /srv/mediawiki/php-1.37.0-wmf.5/extensions/FileImporter/src/Services/SourceSite.php(81): FileImporter\Remote\MediaWiki\ApiDetailRetriever->getImportDetails(FileImporter\Data\SourceUrl) #2 /srv/mediawiki/php-1.37.0-wmf.5/extensions/FileImporter/src/SpecialImportFile.php(310): FileImporter\Services\SourceSite->retrieveImportDetails(FileImporter\Data\SourceUrl) #3 /srv/mediawiki/php-1.37.0-wmf.5/extensions/FileImporter/src/SpecialImportFile.php(228): FileImporter\SpecialImportFile->makeImportPlan(WebRequest) #4 /srv/mediawiki/php-1.37.0-wmf.5/includes/specialpage/SpecialPage.php(646): FileImporter\SpecialImportFile->execute(NULL) #5 /srv/mediawiki/php-1.37.0-wmf.5/includes/specialpage/SpecialPageFactory.php(1396): SpecialPage->run(NULL) #6 /srv/mediawiki/php-1.37.0-wmf.5/includes/MediaWiki.php(313): MediaWiki\SpecialPage\SpecialPageFactory->executePath(string, RequestContext) #7 /srv/mediawiki/php-1.37.0-wmf.5/includes/MediaWiki.php(916): MediaWiki->performRequest() #8 /srv/mediawiki/php-1.37.0-wmf.5/includes/MediaWiki.php(550): MediaWiki->main() #9 /srv/mediawiki/php-1.37.0-wmf.5/index.php(53): MediaWiki->run() #10 /srv/mediawiki/php-1.37.0-wmf.5/index.php(46): wfIndexMain() #11 /srv/mediawiki/w/index.php(3): require(string) #12 {main} ``` ==== Impact ==== ==== Notes ====
    • Task
    AWB should not unicodify `:` when it is on the end of a line that begins with `;`, as that is changing the rendered output, often undesirably. See https://test.wikipedia.org/wiki/T284861_example for a demonstration of the syntax.
    • Task
    Toolforge could use some better tooling for monitoring and alerting than Toolschecker currently provides. Based on a very quick look here are a few requests for better alerting that could be solved with a simple config change if we had a way to send out alerts directly from tools-prometheus: * {T215155} `node_systemd_unit_state{state="failed"} == 1` * {T280741} * {T282738} I imagine setting a prometheus alertmanager isn't a challenge, but sending out pages and notifications can be somewhat tricky (authentication for acking, victorops keys living on the cloud realm, etc).
    • Task
    As a user I may * "temporarily" remove an entry from report. For example, such issue would be fixed and should not be shown, but they may be readded from the next run. * "permanently" remove an entry from report, i.e. flag it as an exception. It will not be shown again. * "blacklist" (in other sense, whitelist) an entire item, such as a sandbox or demo item.
    • Task
    MediaViewer captions have no `.mw-parser-output` class, which means that they only conserve inline styles provided in HTML element and not the TemplateStyles that can be defined on the page. In the case of some templates, like Template:Legend, that can lead to substandard rendering of the caption. If `.mw-parser-output` was added, the styles from TemplateStyles declaration would work. Example: https://en.wikipedia.org/wiki/Intersex_rights_in_the_United_Kingdom#/media/File:Inclusion_of_sex_characteristics_in_anti-discrimination_law.svg
    • Task
    * [ ] check if any open tickets lack the #language_codes tag. Possible queries: ** [[https://phabricator.wikimedia.org/search/query/6mXIdphrRfJd/ |"language code"]] ** [[https://phabricator.wikimedia.org/search/query/IV9Xgad31_Dr |"languagecode"]] ** [[https://phabricator.wikimedia.org/search/query/RtrjZJBDiFPC/ |"language name"]] * [ ] complete missing info * [ ] request langco review when missing * [ ] identify next steps per T284276 and add relevant tags * [ ] sort tickets into columns * [ ] document this somewhere, e.g. at [[https://phabricator.wikimedia.org/project/profile/4981/ | project/profile/4981/]]
    • Task
    Hello, Two days ago, a user ([[https://ckb.wikipedia.org/wiki/%D8%A8%DB%95%DA%A9%D8%A7%D8%B1%DA%BE%DB%8E%D9%86%DB%95%D8%B1:Sakura_emad|Sakura emad]]@ckbwiki) asked for flood flag ([[https://simple.wikipedia.org/wiki/Wikipedia:Flood_flag|Flood flag]] on Simple Wikipedia) to repeat a set of changes and not appear on the Recent changes page, but after I gave the right to //Sakura emad//, the changes will not be marked as bot yet and will appear on the Recent changes page! As far as I noticed, it only hide the edits made through Source Editor. Editing via Visual Editor will not be marked as bots. Editing by using [[https://commons.wikimedia.org/wiki/Help:Gadget-Cat-a-lot|Gadget-Cat-a-lot]] will not be marked as bots. See [[https://ckb.wikipedia.org/wiki/%D8%AA%D8%A7%DB%8C%D8%A8%DB%95%D8%AA:%D8%A8%DB%95%D8%B4%D8%AF%D8%A7%D8%B1%DB%8C%DB%8C%DB%95%DA%A9%D8%A7%D9%86/Sakura_emad|Sakura emad's contributions]] while the user has flood flag yet. We want all changes marked as bot and disappear on RC page while the user has flood flag. Thanks,
    • Task
    By now it is on Commons no longer possible to add site links through the {F34496408 size=full} as shown here as soon as you fill in the field for the language the next field page is not accessible. this is really annoying as you need to manually create the item in wikidata in order to add the interwikilinks. Steps to reproduce: 1. Go to a Commons category that does not yet have a Wikidata item associated with it - example https://commons.wikimedia.org/wiki/Category:Coaches_of_Everton_L.F.C. 2. Click on 'Add links' a the bottom of the sidebar 3. Enter 'en' 4. Normally this would present a list of options, and you could select 'enwiki' - but it no longer does this. 5. Normally you could then enter a page name, but this option remains greyed out, and you can't click the 'link with page' option.
    • Task
    Notifications may contain incorrect section (anchor) links if the section contains <pre>/<nowiki> code When I received notification about this edit: https://commons.wikimedia.org/w/index.php?title=Commons:Undeletion_requests/Current_requests&oldid=prev&diff=568644986 it contained the link https://commons.wikimedia.org/wiki/Commons:Undeletion_requests/Current_requests#Opis ("Opis" is Polish translation of "Description") which seems to originate from parsed <pre>/<nowiki> code: =={{int:filedesc}}== (which should not be parsed). The link should be to the existent section anchor (`File:South_Australian_Railways_520_class_locomotives_--_evolution_of_design.tif` at https://commons.wikimedia.org/wiki/Commons:Undeletion_requests/Current_requests#File:South_Australian_Railways_520_class_locomotives_--_evolution_of_design.tif in this case)
    • Task
    TASK AUTO-GENERATED by Nagios/Icinga RAID event handler A degraded RAID (megacli) [[ https://icinga.wikimedia.org/cgi-bin/icinga/extinfo.cgi?type=2&host=db2148&service=MegaRAID | was detected ]] on host `db2148`. An automatic snapshot of the current RAID status is attached below. Please **sync with the service owner** to find the appropriate time window before actually replacing any failed hardware. ``` CRITICAL: 1 failed LD(s) (Degraded) $ sudo /usr/local/lib/nagios/plugins/get-raid-status-megacli === RaidStatus (does not include components in optimal state) name: Adapter #0 Virtual Drive: 0 (Target Id: 0) RAID Level: Primary-1, Secondary-0, RAID Level Qualifier-0 State: =====> Degraded <===== Number Of Drives: 10 Number of Spans: 1 Current Cache Policy: WriteBack, ReadAhead, Direct, No Write Cache if Bad BBU Span: 0 - Number of PDs: 10 PD: 3 Information Enclosure Device ID: 32 Slot Number: 3 Drive's position: DiskGroup: 0, Span: 0, Arm: 3 Media Error Count: 0 Other Error Count: 0 Predictive Failure Count: 0 Last Predictive Failure Event Seq Number: 0 Raw Size: 1.746 TB [0xdf8fe2b0 Sectors] Firmware state: =====> Rebuild <===== Media Type: Solid State Device Drive Temperature: 38C (100.40 F) === RaidStatus completed ```
    • Task
    1. Submit (or publish) accepted/rejected links. 2. The post-edit dialog is displayed - click to close it. The article returns to Read mode - Help panel is not displayed. The following events are recorded by Help Panel schema ``` {event: {…}, schema: "HelpPanel", webHost: "en.wikipedia.beta.wmflabs.org", wiki: "enwiki", $schema: "/analytics/legacy/helppanel/1.0.1", …} $schema: "/analytics/legacy/helppanel/1.0.1" client_dt: "2021-06-11T22:20:18.876Z" event: {action: "postedit-impression", action_data: "type=full;savedTaskType=link-recommendation;userTa…mmendation;newcomerTaskToken=5514f2e9f5ab6128e2db", user_id: 6996, user_editcount: 73, context: "postedit", …} meta: {stream: "eventlogging_HelpPanel", domain: "en.wikipedia.beta.wmflabs.org"} schema: "HelpPanel" {event: {…}, schema: "HelpPanel", webHost: "en.wikipedia.beta.wmflabs.org", wiki: "enwiki", $schema: "/analytics/legacy/helppanel/1.0.1", …} $schema: "/analytics/legacy/helppanel/1.0.1" client_dt: "2021-06-11T22:20:49.711Z" event: {action: "impression", action_data: "", user_id: 6996, user_editcount: 74, context: "reading", …} meta: {stream: "eventlogging_HelpPanel", domain: "en.wikipedia.beta.wmflabs.org"} schema: "HelpPanel" ``` This `event: {action: "impression", action_data: "", user_id: 6996, user_editcount: 74, context: "reading"` is incorrect - Help Panel is not displayed to a user in the reading context for recommended link articles. Here are screenshots (this is a different case from the above) for the sequential HelpPanel events -1) the post edit dialog is displayed after submitting link recommendations 2) the post-edit dialog closed and a user is in Read mode. |{F34496025}|{F34496023}
    • Task
    My adminbot protects "highly used item pages" in Wikidata [[ https://www.wikidata.org/wiki/Wikidata:Page_protection_policy#Highly_used_items | per policy ]], based on input from [[ https://analytics.wikimedia.org/published/datasets/wmde-analytics-engineering/wdcm/etl/wdcm_topItems.csv ]]. During the past update of that report (2021-06-07, 18:55), usage numbers have shrunk considerably so that the number of items with usage numbers greater than 500 have decreased from ~29867 to ~18896 within a week (-37%). Safety measures in my bot code prevented the bot from removing ~11.000 existing page protections for now. Is this some sort of a bug that led to an incomplete report, or has something been changed in the way how "item usage" is being determined?
    • Task
    TASK AUTO-GENERATED by Nagios/Icinga RAID event handler A degraded RAID (megacli) [[ https://icinga.wikimedia.org/cgi-bin/icinga/extinfo.cgi?type=2&host=pc2014&service=MegaRAID | was detected ]] on host `pc2014`. An automatic snapshot of the current RAID status is attached below. Please **sync with the service owner** to find the appropriate time window before actually replacing any failed hardware. ``` CRITICAL: 1 failed LD(s) (Degraded) $ sudo /usr/local/lib/nagios/plugins/get-raid-status-megacli === RaidStatus (does not include components in optimal state) name: Adapter #0 Virtual Drive: 0 (Target Id: 0) RAID Level: Primary-1, Secondary-0, RAID Level Qualifier-0 State: =====> Degraded <===== Number Of Drives: 10 Number of Spans: 1 Current Cache Policy: WriteBack, ReadAhead, Direct, No Write Cache if Bad BBU Span: 0 - Number of PDs: 10 PD: 0 Information Enclosure Device ID: 32 Slot Number: 0 Drive's position: DiskGroup: 0, Span: 0, Arm: 0 Media Error Count: 0 Other Error Count: 0 Predictive Failure Count: 0 Last Predictive Failure Event Seq Number: 0 Raw Size: 1.746 TB [0xdf8fe2b0 Sectors] Firmware state: =====> Rebuild <===== Media Type: Solid State Device Drive Temperature: 30C (86.00 F) === RaidStatus completed ```
    • Task
    This task represents the work with implementing the instrumentation required to evaluate the impact of topic subscriptions (T280895) as well as peoples' adoption of (T280896), and engagement with (T280898), the feature.
    • Task
    See https://twitter.com/WilbaSoot/status/1402063039067721732
    • Task
    Unable to reproduce so far but this task is for further testing. > The app has a problem with text sizing. It will open to a different text size than I have it set for. Usually it will open at smaller text sizes than what I have set. > I will reopen the app or navigate to different articles and the text size will sometimes be smaller than what I have set. > I only have English enabled. It happens inconsistently. It seems to happen when I navigate back to an article I’ve previously viewed, for instance swiping from the left. It sometimes also happens when I reopen the app after being off the app for a while. The article will be a smaller text size than the settings. > Attached is a screenshot of the app when I reopened it with small text. I opened the text size setting so you can see that it doesn’t align. I then opened another article and the text is the correct size. See a screenshot of that article. {F34495899} {F34495901} > If I open enough other apps so after using Wikipedia, so that Wikipedia is pushed out of memory, it will reopen to the Wikipedia page with the wrong font size. Just force killing Wikipedia does not cause the bug. I’m hoping you can find and fix this one!
    • Task
    TASK AUTO-GENERATED by Nagios/Icinga RAID event handler A degraded RAID (megacli) [[ https://icinga.wikimedia.org/cgi-bin/icinga/extinfo.cgi?type=2&host=pc2012&service=MegaRAID | was detected ]] on host `pc2012`. An automatic snapshot of the current RAID status is attached below. Please **sync with the service owner** to find the appropriate time window before actually replacing any failed hardware. ``` CRITICAL: 1 failed LD(s) (Degraded) $ sudo /usr/local/lib/nagios/plugins/get-raid-status-megacli === RaidStatus (does not include components in optimal state) name: Adapter #0 Virtual Drive: 0 (Target Id: 0) RAID Level: Primary-1, Secondary-0, RAID Level Qualifier-0 State: =====> Degraded <===== Number Of Drives: 10 Number of Spans: 1 Current Cache Policy: WriteBack, ReadAhead, Direct, No Write Cache if Bad BBU Span: 0 - Number of PDs: 10 PD: 0 Information Enclosure Device ID: 32 Slot Number: 0 Drive's position: DiskGroup: 0, Span: 0, Arm: 0 Media Error Count: 0 Other Error Count: 0 Predictive Failure Count: 0 Last Predictive Failure Event Seq Number: 0 Raw Size: 1.746 TB [0xdf8fe2b0 Sectors] Firmware state: =====> Rebuild <===== Media Type: Solid State Device Drive Temperature: 32C (89.60 F) === RaidStatus completed ```
    • Task
    ## Existing components **MediaWiki community:** - Wikit: [[ https://github.com/wmde/wikit/blob/master/vue-components/src/components/Message.vue | Message ]] - Bridge: [[ https://gerrit.wikimedia.org/r/plugins/gitiles/mediawiki/extensions/Wikibase/+/refs/heads/master/client/data-bridge/src/presentation/components/IconMessageBox.vue | IconMessageBox ]] - ContentTranslation: [[ https://github.com/wikimedia/mediawiki-extensions-ContentTranslation/blob/master/app/src/lib/mediawiki.ui/components/MWMessage/MWMessage.vue | Message ]] - MediaSearch: [[ https://github.com/wikimedia/mediawiki-extensions-MediaSearch/blob/master/resources/components/base/Message.vue | Message ]] ([[ https://github.com/wikimedia/mediawiki-extensions-MediaSearch/blob/master/resources/components/base/Message.less | styles ]]) **External libraries:** - Vuetify: [[ https://github.com/vuetifyjs/vuetify/tree/master/packages/vuetify/src/components/VAlert | Alert ]] - Buefy: [[ https://buefy.org/documentation/message | Message ]] **Wikimedia Design Style Guide links:** - [[ https://design.wikimedia.org/style-guide/components/messages.html | Messages ]] - [[ https://www.figma.com/file/2Jb1lVkhEMDFxO20I5xwyA/WikimediaUI-%E2%80%93-Components-library?node-id=217%3A172 | Figma specification ]] ### Potential implementations #### Custom icon The Figma specification includes the option to use a custom icon instead of one of the 4 standard icons. The ContentTranslation Message component implements this via a named slot with a default value of the standard icon for the specified message type. #### Dismissible Should there be an option for making a message dismissable (via a close button)? This is a use case we've run into on the structured data team several times. See [[ https://vuetifyjs.com/en/components/alerts/#dismissible | Vuetify for an example ]]. The ContentTranslation component also implements this. #### Transitions 1. Should there be a default transition when a message appears and disappears? 1. Should we give users the option of specifying transitions? [[ https://vuetifyjs.com/en/components/alerts/#transition | See Vuetify ]].
    • Task
    One use of transclusion is to create slight variations on a piece of transcluded content. For instance, [[ https://en.wikipedia.org/w/index.php?title=Traditions_of_Pomona_College#47_reverence | this section ]] is transcluded to two other pages, but it includes some variations for when it is transcluded to [[47 (number)]] using {{#ifeq:{{PAGENAME}}|47 (number)|variant|non-variant}}. AWB's GENFIXes incorrectly suggest that {{PAGENAME}} be substituted in instances like this, which would break the desired behavior. Could this be fixed?
    • Task
    === How many times were you able to reproduce it? Every time === Steps to reproduce # Tap a link in the On This Day widget # Try to scroll up all the way to the top === Expected results Should be able to see all On This Day content === Actual results Content is stuck underneath the header, you can temporarily see the rest of it by bouncing. Note this doesn't occur when tapping in from the Explore feed card. === Environments observed **App version: ** 6.8.1 (1815) **OS versions:** iOS 14.6 **Device model:** iPhone 12 mini **Device language:** EN
    • Task
    ## Existing components **MediaWiki community:** - Termbox: [[ https://github.com/wikimedia/wikibase-termbox/blob/master/src/components/Overlay.vue | Overlay ]], [[ https://github.com/wikimedia/wikibase-termbox/blob/master/src/components/Modal.vue | Modal ]] - ContentTranslation: [[ https://github.com/wikimedia/mediawiki-extensions-ContentTranslation/blob/master/app/src/lib/mediawiki.ui/components/MWDialog/MWDialog.vue | Dialog ]] - MediaSearch: [[ https://github.com/wikimedia/mediawiki-extensions-MediaSearch/blob/master/resources/components/base/Dialog.vue | Dialog ]] ([[ https://github.com/wikimedia/mediawiki-extensions-MediaSearch/blob/master/resources/components/base/Dialog.less | styles ]]) **External libraries:** - Vuetify: [[ https://github.com/vuetifyjs/vuetify/blob/master/packages/vuetify/src/components/VDialog | Dialog ]], [[ https://github.com/vuetifyjs/vuetify/blob/master/packages/vuetify/src/components/VOverlay | Overlay ]] - Buefy: [[ https://github.com/buefy/buefy/tree/dev/src/components/dialog | Dialog ]], [[ https://github.com/buefy/buefy/tree/dev/src/components/modal | Modal ]] **Wikimedia Design Style Guide links:** - [[ https://design.wikimedia.org/style-guide/components/dialogs.html | Dialogs ]] - [[ https://www.figma.com/file/2Jb1lVkhEMDFxO20I5xwyA/WikimediaUI-%E2%80%93-Components-library?node-id=174%3A1614 | Figma specification ]]
    • Task
    === How many times were you able to reproduce it? Every time === Steps to reproduce 1. Go to article for TurboGrafx-16 on EN Wikipedia === Expected results Article view does not scroll horizontally === Actual results Article view scrolls horizontally === Environments observed **App version: ** 6.8.1 (1815) **OS versions:** iOS 14.4.2 **Device model:** iPhone 7 **Device language:** EN === Affected articles? ** TurboGrafx-16 on EN Wikipedia
    • Task
    =====Meta===== [x] Functional Requirements - @ppelberg - Platforms: mobile and desktop - The editing interface people are using to start a new discussion or post a new comment should NOT impact their - ability to automatically be subscribed to a topic. - The software should continue considering a discussion/conversation to be any `== H2 ==` section that exists on pages - used for hosting conversations (e.g. talk pages, pages in `wgExtraSignatureNamespaces` namespaces...more in T249036). - No new comment notifications should be sent for comments authored by users the would-be recipient has muted in `Special:Preferences#mw-prefsection-echo` > `Muted users` - By default, automatic topic subscriptions should be enabled for all people who have the `Enable topic subscription` enabled [x] Design Requirements @iamjessklein -- //Not needed for this step of the workflow.// [x] QA specifications -- //See `Functional requirements` above.// --- =====Initiating a subscription===== [x] Functional Requirements - @ppelberg - For people who have automatic topic subscriptions enabled, they should be automatically subscribed to a topic after taking either of the following actions: # Posting a comment in a discussion they are not already subscribed to # Starting a new discussion - After "1)", people should see the `[ subscribe ]` affordance on the page turn into `[ unsubscribed ]` [x] Design Requirements @iamjessklein -- //Not needed for this step of the workflow.// [x] QA specifications -- //See `Functional requirements` above.// --- =====Being made aware of automatic subscription===== [x] Functional Requirements - @ppelberg - The first time someone is automatically subscribed to a conversation, they should be made aware: -- They will receive a notification if/when someone posts a new comment in that discussion -- Where they can adjust whether they are automatically subscribed to discussions they participate in the future [] Design Requirements @iamjessklein -- User story --- As someone posting a comment or starting a new conversation for the first time after automatic topic subscriptions became available: ---- I want to know that I will be made aware when someone posts a new comment in that discussion so that I have an accurate expectation for how I will know if someone responds to me. ---- I want to know where I can adjust whether I am automatically subscribed to the future discussions I start and/or participate so that I can ensure the notifications I receive are valuable to me. -- Mockups [x] QA specifications -- //See `Functional requirements` and `Mockups` above.// --- =====Notification delivery/receipt (no implementation required) ===== [x] Functional Requirements - @ppelberg - In general, new comment notifications initiated via an automatic subscription should be delivered in the same ways they are when initiated via manual subscriptions (T263820). - Notifications about new comments in sections people are subscribed to should appear in Notices [x] Design Requirements @iamjessklein -- //Not needed for this step of the workflow.// [x] QA specifications -- //See `Functional requirements` above.// --- =====Managing automatic subscription behavior===== [] Functional Requirements - @ppelberg -- The setting that controls the channels through which new comment notifications are delivered should continue to be: `Special:Preferences#mw-prefsection-echo` > `Talk page subscription` -- People should be able to enable/disable being automatically subscribed from all conversations they start and/or comment in within `Special:Preferences#mw-prefsection-editing` --> `Discussion pages` --- This setting should only be visible to people who have the `Talk page subscription` setting enabled. //More in T263819#7143367.// --- This setting should read: `Automatically subscribe to topics. / When you start a new discussion or comment in an existing discussion, you will be automatically notified when others post new comments to it.` [x] Design Requirements @iamjessklein -- //Not needed for this step of the workflow.// [x] QA specifications -- //See `Functional requirements` above.//
    • Task
    For T284831 we'd have to add the data files with legacy support ("tessdata"). We already have the "tessdata_fast" variants (shipped with the apt packages). And we might also want "tessdata_best" for higher accuracy (see [[https://tesseract-ocr.github.io/tessdoc/Data-Files.html | here]] for the descriptions). Once we have all of these, we should make sure that the appropriate files are used: - when the old engine is selected (oem == 0), we can only use the legacy files - when the new engine is selected, we can choose between speed and accuracy; there might be a switch for the user to select the variant. --- Note that this might be easier to do after T282150, if we're going to build tesseract from source, since at that point we'd have to install language data manually anyway.
    • Task
    As a follow-up for https://phabricator.wikimedia.org/T283661#7151415 On mobile betalabs machine suggested **add links** tasks - upon saving add link answers ('yes', 'no', skipped), the Console displays multiple warnings ``` jQuery.Deferred exception: Cannot read property 'madeNullEdit' of null TypeError: Cannot read property 'madeNullEdit' of null at AddLinkMobileSaveDialog.<anonymous> (<anonymous>:27:491) at <anonymous>:143:84 at mightThrow (https://en.m.wikipedia.beta.wmflabs.org/w/load.php?lang=el&modules=jquery%2Coojs-ui-core%2Coojs-ui-widgets&skin=minerva&version=dpq0j:49:833) at process (https://en.m.wikipedia.beta.wmflabs.org/w/load.php?lang=el&modules=jquery%2Coojs-ui-core%2Coojs-ui-widgets&skin=minerva&version=dpq0j:50:498) undefined ```
    • Task
    **Project Information ** * Name of tool/project: Tray.io * Project home page: https://tray.io/ * Name of team requesting review: Product Department * Primary contact: Linh Nguyen * Target date for deployment: July 1, 2021 * Link to code repository / patchset: N/A **Description of the tool/project: ** This is an app integration cloud platform **Description of how the tool will be used at WMF:** The tools will be used to connect our internal apps ( Asana, Slack, etc) through API to create more streamlined workflows **Dependencies** >the tool is dependent on each app API service so the dependencies vary from one app to the next. Without API service this tool does not work. The tool also has the capability to access databases **Has this project been reviewed before?** No, this tool has never been reviewed before. **Working test environment** there is no test environment we have right now but if the security review process requires, I can ask the vendor or a test enviornment **Post-deployment** > Product Department, Linh Nguyen
    • Task
    This is a follow-up task to T282141. We know show a user-friendly message instead of returning a 500, but the underlying problem(s) is (are) still there. One problem in particular is that the legacy engine won't work at all. No matter what PSM do I use, an OEM of 0 will always error out ([[https://ocr-test.wmcloud.org/?image=https%3A%2F%2Fupload.wikimedia.org%2Fwikipedia%2Fcommons%2F1%2F1b%2F07029jfBaliuag%252C_Bulacan_Town_Hall_Municipal_Office_Buildingsfvf_26.jpg&engine=tesseract&psm=0&oem=0 | example ]]). Looking at the tesseract issues on github, I came across [[https://github.com/tesseract-ocr/tesseract/issues/2835 | 2835]], [[https://github.com/tesseract-ocr/tesseract/issues/2770 | 2770]], [[https://github.com/tesseract-ocr/tesseract/issues/2315 | 2315]] (amongst others), and all of them seem to suggest that the .traineddata file we're using doesn't have support for the legacy engine. When using tesseract 5 locally, this is even clearer because the error message was changed: > Error: Tesseract (legacy) engine requested, but components are not present And in fact, the error goes away if I replace my eng.traineddata with a new one with legacy support. I think we should update these files in prod, since the oem selector doesn't currently work.
    • Task
    This is to avoid creating tasks with confusing data such as T284768 which is a client error. Such tasks can still be filed with the [Production Error template](https://phabricator.wikimedia.org/maniphest/task/edit/form/46/) (linked from #wikimedia-production-error), and filled in by copying the two data relevant pieces (message + trace).
    • Task
    === Description There seems to be a z-index issue where the `Page` menu shows through the search results list. Note: this is only an issue when the screen width is below 1020px and the search results list overlaps with the article/page toolbar. {F34495627 width=450}
    • Task
    ==== What is the problem? If I submit an OCR request with lang = `equ` (which is the "Math / equation detection module"), I get a 500 error: ``` Message: Uncaught PHP Exception thiagoalessio\TesseractOCR\UnsuccessfulCommandException: "Error! The command did not produce any output. Generated command: "tesseract" - "/tmp/ocrCetOOv" --psm 3 --oem 3 -l equ Returned message: Error opening data file /usr/share/tesseract-ocr/4.00/tessdata/equ.traineddata Please make sure the TESSDATA_PREFIX environment variable is set to your "tessdata" directory. Failed loading language 'equ' Tesseract couldn't load any languages! Could not initialize tesseract." at /var/www/tool/vendor/thiagoalessio/tesseract_ocr/src/FriendlyErrors.php line 66 Time: 2021-06-11T15:19:04.537858+00:00 Channel: request Context: exception: { "class": "thiagoalessio\\TesseractOCR\\UnsuccessfulCommandException", "message": "Error! The command did not produce any output.\n\nGenerated command:\n\"tesseract\" - \"/tmp/ocrCetOOv\" --psm 3 --oem 3 -l equ\n\nReturned message:\nError opening data file /usr/share/tesseract-ocr/4.00/tessdata/equ.traineddata\nPlease make sure the TESSDATA_PREFIX environment variable is set to your \"tessdata\" directory.\nFailed loading language 'equ'\nTesseract couldn't load any languages!\nCould not initialize tesseract.", "code": 0, "file": "/var/www/tool/vendor/thiagoalessio/tesseract_ocr/src/FriendlyErrors.php:66", "trace": [ "/var/www/tool/vendor/thiagoalessio/tesseract_ocr/src/TesseractOCR.php:39", "/var/www/tool/src/Engine/TesseractEngine.php:87", "/var/www/tool/src/Controller/OcrController.php:199", "/var/www/tool/vendor/symfony/cache/LockRegistry.php:100", "/var/www/tool/vendor/symfony/cache/Traits/ContractsTrait.php:88", "/var/www/tool/vendor/symfony/cache-contracts/CacheTrait.php:70", "/var/www/tool/vendor/symfony/cache/Traits/ContractsTrait.php:95", "/var/www/tool/vendor/symfony/cache-contracts/CacheTrait.php:33", "/var/www/tool/src/Controller/OcrController.php:200", "/var/www/tool/src/Controller/OcrController.php:146", "/var/www/tool/vendor/symfony/http-kernel/HttpKernel.php:157", "/var/www/tool/vendor/symfony/http-kernel/HttpKernel.php:79", "/var/www/tool/vendor/symfony/http-kernel/Kernel.php:195", "/var/www/tool/public/index.php:21" ] } Extra: host: ocr-test.wmcloud.org uri: http://ocr-test.wmcloud.org/api.php?engine=tesseract&image=https%3A%2F%2Fupload.wikimedia.org%2Fwikipedia%2Fcommons%2F6%2F64%2FGevel_-_Venray_-_20241580_-_RCE.jpg&lang=equ ``` ==== Steps to reproduce problem 1. https://ocr-test.wmcloud.org/?image=https%3A%2F%2Fupload.wikimedia.org%2Fwikipedia%2Fcommons%2Fa%2Fab%2FThe_Blind_Man%2527s_Eyes_cover.jpg&langs%5B%5D=equ&engine=tesseract&psm=3&oem=3 **Expected behavior:** OCR text is returned **Observed behavior:** 500 error ==== Environment **Wikimedia OCR:** https://ocr-test.wmcloud.org Version 0.5.0-7-gc1906ef
    • Task
    **Goal: ** We will send 4-6 newsletters with the main objective to enable the leads to participate in the wikimedia projects. Among other things, the leads are asked to create a Wikipedia user account and to start editing. These two objectives shall be tracked. **Target Groups:** People with general interest in participating in the wikimedia projects, who have given us their e-mail addresses for this purpose. **Timeline** The campaign is planned to start in week 25, on the 24th of June through 15th of July. We plan to send 4-6 Newsletters. **User Journey** For this phase of the project, there will be neither advertising on social media nor banner on wiki. For now, we only address the existing leads. With each Newsletter they receive information that shall help them to understand how the projects and communities of wikipedia, wikimedia commons and wikidata work and how to get involved. In each newsletter there will be 1-2 Call to actions that ask them for an action like creating a Wikipedia account, edit, visit certain homepages, upload pictures on Commons. The links in the mails thus lead to several landing pages **either on wiki or off wiki.** **Tracking** This is what we are looking for We want to track as many things we can with this campaign. The tracking of user registrations and edit behavior is very similar to the tracking of the 30 Tage Wikipedia Challenge, but without banner and social media ads ([[ https://phabricator.wikimedia.org/project/view/4969/ | Phabricator ticket ]]). **This is what we need from Goran:** - User behavior in Wikipedia, Wikidata and Commons: - user registrations in Wikipedia - user edits in Wikipedia - page views of certain landing pages in Wikipedia, Wikidata and Commons and Wikivoyage **General outcome (data collection) by Goran** **on a daily basis during the campaign from 25th June through 15th of July (from 9-15th automised):** - on wiki registrations through the campaign per tag and project - Edits of new users - page views of selected landing pages on wiki **Six weeks after the end of the campaign (on 1st of September) ** - on wiki registrations through the campaign per tag and project in total - edits of new users in total, classified in groups of 1 Edit; 2-4 Edits; 5-9 Edits; more than 10 Edits - tbd: edit behavior of users who did the training modules (do users edit more after doing a training module) - tbd: editing data of users starting and finishing one of the training modules (how many users started a module? what is the completion rate?) The tags will be provided as soon as they have been created.
    • Task
    The following hosts are new and need to be productionized. Double check if the racking tasks are completed first: codfw: T282482 eqiad: T282484 [] pc1011 [] pc1012 [] pc1013 [] pc1014 [] pc2011 [] pc2012 [] pc2013 [] pc2014
    • Task
    Since T282794 was declined I want to request deletion of the content of this wiki as suggested by @aborrero to avoid confusion about the wrong/outdated content.
    • Task
    I don't remember this being how it was, so I could be wrong, but {F34495358} is kind of rough.
    • Task
    Steps: # Edit Echo in global settings [[ https://cs.wikipedia.org/wiki/Speci%C3%A1ln%C3%AD:Glob%C3%A1ln%C3%AD_nastaven%C3%AD#mw-prefsection-echo | here ]]. # Than go for example [[ https://en.wikipedia.org/wiki/Special:GlobalPreferences#mw-prefsection-echo | here ]] or [[ https://www.wikidata.org/wiki/Special:GlobalPreferences#mw-prefsection-echo | here ]]. I changed my global settings at cswiki but at other wikis it was not changed and I still receive notifications about links to a page, example here: {F34495337} In the Console, I can see `Error with Permissions-Policy header: Unrecognized feature: 'interest-cohort'.` (also see T284739). Screenshot from cswiki: {F34495329} Screenshot from enwiki: {F34495331} Screenshot from Wikidata: {F34495333}
    • Task
    Over the past months a team at Vrije Universiteit Amsterdam have been working on an improved backend for [[ https://www.mediawiki.org/wiki/Extension:PropertySuggester | PropertySuggester ]]. In order to prepare for deployment we want to have a final review of the involved code changes to PropertySuggester and get them merged. All patches can be found at https://gerrit.wikimedia.org/r/q/owner:marta.jansone99%2540gmail.com and involve changes to PropertySuggester and also some EventLogging schema. There is a test service that you can hook up to on CloudVPS. The build and setup instructions for that can be found at https://github.com/martaannaj/RecommenderServer#setting-up-on-cloud-vps Example call `curl -d '{"properties":["http://www.wikidata.org/prop/direct/P31"],"types":[]}' https://recommender.wmcloud.org/recommender` **Acceptance Criteria:** [] All needed code patches are merged, or +1ed and approved ready for merge [] The existing default behaviour of PropertySuggester remains the same [] The new backend can be enabled using configuration and enabled using config variables
    • Task
    A new release has been created: https://gerrit.wikimedia.org/g/operations/software/wmfmariadbpy/+/refs/tags/v0.7.1 Packages have been built, but not yet uploaded to apt.wm.o. This is a very minor release, with changes confined to db-replication-tree. debdeploy spec file: ``` comment: https://phabricator.wikimedia.org/T284819 fixes: buster: 0.7.1+deb10u1 stretch: 0.7.1+deb9u1 libraries: [] source: wmfmariadbpy transitions: {} update_type: tool ``` Prep: [] Upload 0.7.1 debs to apt.wm.o [] Log that packages have been updated: `!log uploaded wmfmariadbpy 0.7.1 to apt.wm.o` [] Log that deployment is starting: `!log Deploying wmfmariadbpy 0.7.1 T284819` cumin1001: [] `sudo debdeploy deploy -u SPECFILE -Q 'cumin1001*'` [] Check that `mysql.py` and `db-replication-tree` work correctly. random db server (e.g. db1128) [] `sudo debdeploy deploy -u SPECFILE -Q 'db1128*'` [] Check that `sudo -u nagios db-check-health` succeeds everything else: [] `sudo debdeploy deploy -u SPECFILE -Q 'C:wmfmariadbpy'`
    • Task
    There's one test in the selenium tests suite, that checks if the extension is installed as beta feature by vising the beta preferences page. The link to that page is way different on the beta cluster due to layout experiments. Therefore the test fails in the daily job. From https://integration.wikimedia.org/ci/job/selenium-daily-beta-TwoColConflict/635/testReport/ ``` chrome.90_0_4430_212.linux.TwoColConflict.shows a dismissible hint on the core edit conflict interface Error Details element ("#pt-betafeatures a") still not displayed after 5000ms ``` Should either be fixed, to be more flexible if possible, or skipped completely.
    • Task
    https://hostingpill.com/no/gratis-overv%C3%A5kingsverkt%C3%B8y-for-sosiale-medier/
    • Task
    missing info: Lene Denny parallell sessions
    • Task
    ask: keep email for lang hub ask: keep email for next year's conference post address for merch
    • Task
    I want to tag with a "sre-foundations" category all the wikis that are related to my team, and then get that displayed in "documentation" section of my team's wiki page. I especially care about having that list auto updated whenever somebody adds the "sre-foundations" category to any new wiki page. I know that dpl is quite heavy, so I want to make sure it won't cause any performance issues. If the dpl is not an option, could you please advise what I could use instead.
    • Task
    Edge ganeti clusters were setup with Buster from the start, but eqiad/codfw are still in need of an update: [] Import the last backport of ganeti 2.16.0-1~bpo9+1 to a repo component and add to Ganeti/stretch [] Upgrade a single node to 2.16 and test (verify, verify-disks, create new VM, start/stop) [] Upgrade remaining stretch nodes to 2.16 [] Run gnt-cluster renew-crypto (for SHA256 compat) https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=907569 [] Run gnt-cluster upgrade [] For each stretch host: * Empty a node of VMs with gnt-node migrate / gnt-node evacuate -s * Reimage to buster (which also brings new qemu compared to before) * Re-add the node and test * Move back VMs
    • Task
    When working on T282806 it surfaced the need to be able to select which Prometheus instance to install files to. Specifically around the `global` instance which behaves slightly different than other instances by virtue of aggregating data, therefore: 1. The default is to deploy alerts only to site-local Prometheus instances (i.e. all but `global`) 1. For use cases where global visibility is needed then users can override the default by marking alerting rule files to be installed in the global instance (exact mechanism TBD) Sort of unrelated to the task at hand but if/when in the future we're deprecating the global instance in favor of letting Thanos evaluate global alerts we can reuse the same mechanism to install rules into Thanos instead.
    • Task
    To link the german project page for the template search improvements in the feedback message (T284560) we need to create the translation in TranslateWiki. Text: "Kürzlich wurden Änderungen vorgenommen, um die Suchergebnisse für Vorlagen zu verbessern. Mehr Informationen über die Neuerungen finden sich auf der [Projektseite]. Dort kann auch Feedback gegeben werden." Link for de wiki: https://de.wikipedia.org/wiki/Wikipedia:Technische_W%C3%BCnsche/Topw%C3%BCnsche/Vorlagen_suchen_und_einf%C3%BCgen
    • Task
    There are various lists defining language codes for Wikibase. Some values in these lists are not suitable for the termbox on Wikidata.org. See T44396 for the general problem. The idea is to add a configuration variable that allows to disable such language codes. Deletion of existing values should still be possible. * Sample: "no" isn't used on Wikidata, but is the domain name for no.wikipedia.org . Wikidata uses just "nb". * Other codes for an initial version of the variable: "bat-smg", "bh", "fiu-vro", "roa-rup", "simple", "zh-classical, "zh-min-nan", "zh-yue", 'de-formal', 'es-formal', 'hu-formal', 'nl-informal', Despite efforts to clean this up by bot, the numbers of are currently at 500,000 (June 2021, see T44396#7150919). This doesn't touch their use for lexemes or monolingual strings. For the later, see [[ https://gerrit.wikimedia.org/g/mediawiki/extensions/Wikibase/+/77708f720c08e9e252bbe011b214bce6d6c777e6/lib/includes/WikibaseContentLanguages.php#142 | DifferenceContentLanguages ]] with DefaultMonolingualTextLanguages
    • Task
    Write GLAM Newsletter for June 2021: https://outreach.wikimedia.org/wiki/GLAM/Newsletter/June_2021/Contents/Sweden_report [] Kulturhistoria som gymnasiearbete @AxelPettersson_WMSE [] Free music @Tore_Danielsson_WMSE [] SCB CC0 @Alicia_Fagerving_WMSE
    • Task
    We are using Shellbox in WQCS (T176312) and it would be great to have ShellboxClientFactory be a dispatcher returning different implementations of shellbox (as a concept not the service) based on configuration or auto-detection. This improves portability of mediawiki and following LSP. One big reason for this was that setting up shellbox server wasn't easy for devs who just wanted to test the shellbox client. The other implementations of shellbox can be using firejail (falling back to Shell and possibly deprecating direct use of Shell class) or direct execution (for tests only).
    • Task
    This would make it easier to store machine-readable data which can be used for storing index-level data such as: * Things that are currently in fields of the template: ** Proofread status ** Transclusion status/date * Things that would be awkward to store in this way (because they'd be hard to read out of Wikitext): ** E.g. Work-specific snippets/character sets This can then be accessed by API (for gadgets and bots) as well as via PHP for handing over to the Lua library. I suppose that it would probably need `Mediawiki:Proofreadpage index config` to be able to select which fields go to JSON and which are passed onto the index template as they are now (the template can still read the JSON data though a module)
    • Task
    RollbackPageTest::testAuthorize() creates a UserIdentity with a name and ID, but doesn't register it in the database. With $wgRateLimits and $wgAutopromote set as in DefaultSettings.php, RollbackPage::authorizeRollback() calls User::pingLimiter(), leading to a call to User::load(), which resets the user name and ID. Then the cache fetch at the end of UserGroupManager::getUserEffectiveGroups() fails, because $userKey does not match the key used by setCache(). With notices enabled, it fails with "Undefined index: implicit". Without notices disabled, it fails with "TypeError: Return value of MediaWiki\User\UserGroupManager::getUserImplicitGroups() must be of the type array, null returned". Stack trace showing User::getRegistration() being called from this test case: ``` #0 /srv/mw/core/includes/user/UserGroupManager.php(534): User->getRegistration() #1 /srv/mw/core/includes/user/UserGroupManager.php(497): MediaWiki\User\UserGroupManager->checkCondition(array, User) #2 /srv/mw/core/includes/user/UserGroupManager.php(458): MediaWiki\User\UserGroupManager->recCheckCondition(array, User) #3 /srv/mw/core/includes/user/UserGroupManager.php(383): MediaWiki\User\UserGroupManager->recCheckCondition(array, User) #4 /srv/mw/core/includes/user/UserGroupManager.php(271): MediaWiki\User\UserGroupManager->getUserAutopromoteGroups(User) #5 /srv/mw/core/includes/user/UserGroupManager.php(309): MediaWiki\User\UserGroupManager->getUserImplicitGroups(User, integer, boolean) #6 /srv/mw/core/includes/Permissions/PermissionManager.php(1385): MediaWiki\User\UserGroupManager->getUserEffectiveGroups(User) #7 /srv/mw/core/includes/Permissions/PermissionManager.php(1334): MediaWiki\Permissions\PermissionManager->getUserPermissions(User) #8 /srv/mw/core/includes/Permissions/PermissionManager.php(907): MediaWiki\Permissions\PermissionManager->userHasRight(User, string) #9 /srv/mw/core/includes/Permissions/PermissionManager.php(460): MediaWiki\Permissions\PermissionManager->checkQuickPermissions(string, User, array, string, boolean, Title) #10 /srv/mw/core/includes/Permissions/PermissionManager.php(264): MediaWiki\Permissions\PermissionManager->getPermissionErrorsInternal(string, User, Title, string, boolean) #11 /srv/mw/core/includes/Permissions/UserAuthority.php(265): MediaWiki\Permissions\PermissionManager->userCan(string, User, Title, string) #12 /srv/mw/core/includes/Permissions/UserAuthority.php(223): MediaWiki\Permissions\UserAuthority->internalCan(string, string, Title, NULL) #13 /srv/mw/core/includes/user/User.php(4302): MediaWiki\Permissions\UserAuthority->authorizeWrite(string, Title, NULL) #14 /srv/mw/core/includes/page/WikiPage.php(2085): User->authorizeWrite(string, Title) #15 /srv/mw/core/includes/page/WikiPage.php(1948): WikiPage->doUserEditContent(WikitextContent, User, CommentStoreComment, integer, boolean, array, integer) #16 /srv/mw/core/tests/phpunit/MediaWikiIntegrationTestCase.php(1396): WikiPage->doEditContent(WikitextContent, string, integer, boolean, User) #17 /srv/mw/core/tests/phpunit/MediaWikiIntegrationTestCase.php(431): MediaWikiIntegrationTestCase->addCoreDBData() #18 /srv/mw/core/vendor/phpunit/phpunit/src/Framework/TestSuite.php(627): MediaWikiIntegrationTestCase->run(PHPUnit\Framework\TestResult) #19 /srv/mw/core/vendor/phpunit/phpunit/src/Framework/TestSuite.php(627): PHPUnit\Framework\TestSuite->run(PHPUnit\Framework\TestResult) #20 /srv/mw/core/vendor/phpunit/phpunit/src/TextUI/TestRunner.php(656): PHPUnit\Framework\TestSuite->run(PHPUnit\Framework\TestResult) #21 /srv/mw/core/vendor/phpunit/phpunit/src/TextUI/Command.php(236): PHPUnit\TextUI\TestRunner->doRun(PHPUnit\Framework\TestSuite, array, array, boolean) #22 /srv/mw/core/tests/phpunit/phpunit.php(141): PHPUnit\TextUI\Command->run(array, boolean) #23 /srv/mw/core/tests/phpunit/phpunit.php(204): PHPUnitMaintClass->execute() #24 {main} ``` Suggestions: * UserGroupManager::setCache() should take a cache key as a parameter * RollbackPageTest is an integration test with `@group database` -- it could just use a real registered user * The rate limit hack in DevelopmentSettings.php (T225796) could hide production-visible errors, since it causes a substantial amount of complex code to be missed during tests. Ideally rate limits should be infinite, not disabled.
    • Task
    Per https://wikitech.wikimedia.org/wiki/Help:Toolforge/Database#Connection_handling_policy holding open connections is not allowed. I believe that the connection pool Rocket uses by default *does* hold connections open, so we need to disable that functionality or find some workaround so we're compliant with policy. https://api.rocket.rs/v0.5-rc/rocket_sync_db_pools/index.html
    • Task
    ====Tables with background colors set per row==== I want to be able to add **//class=mw-datatable//** to tables, and **not lose the background colors set for rows. ** Please see **[[https://en.wikipedia.org/wiki/User:Timeshifter/Sandbox152 | User:Timeshifter/Sandbox152]].** The table excerpt there is from the "Top scorers" section of **[[https://en.wikipedia.org/w/index.php?title=Denmark_men%27s_national_handball_team&oldid=1028061591#Top_scorers | this version]]** of **[[https://en.wikipedia.org/wiki/Denmark_men%27s_national_handball_team#Top_scorers | Denmark men's national handball team]]**. It is common in many sport statistics tables to add a background color to some of the rows. In this table excerpt the **rows** for **still active national team players** are **highlighted.** The first table in the sandbox is **//without// class=mw-datatable.** The second table is **//with// class=mw-datatable. ** You can see how the class removes the background colors for rows and substitutes the white background color of the rest of the table data cells. ====Tables with background colors set per data cell==== class=mw-datatable respects the inline background color when that **color is set per data cell.** For example; on the many tables that use a color gradient template on a per cell basis. For example; see the rate column in the main table in **[[https://en.wikipedia.org/w/index.php?title=List_of_countries_by_intentional_homicide_rate&oldid=1026393424#By_country,_region,_or_dependent_territory | this version]]** of **[[https://en.wikipedia.org/wiki/List_of_countries_by_intentional_homicide_rate#By_country,_region,_or_dependent_territory | List of countries by intentional homicide rate]].** That main table uses **class="mw-datatable wikitable"** and it is not a problem. The background colors set per cell remain. ====Why it is important==== class=mw-datatable (usually combined with class=wikitable) is used more and more. It produces a white background color that is preferred by many for statistic tables. Due to the better contrast and readability for many people. Versus the light gray background color of class=wikitable used alone. Plus class=mw-datatable will highlight the row that the cursor hovers over. Making it easier to scan across that row, especially if it is a long row. Also, if this is fixed, then this row numbers auxiliary template can be used on more tables, especially sport statistic tables: **[[https://en.wikipedia.org/wiki/Template:Static_row_numbers_table | Template:Static row numbers table]].** It uses **class="mw-datatable wikitable".** This template is used with: **[[https://en.wikipedia.org/wiki/Template:Static_row_numbers | Template:Static row numbers]].** The 2 templates together make setting up row numbers on a table very fast.
    • Task
    https://www.mediawiki.org/wiki/Extension:SpamBlacklist/API Suggestor will need to extract URLs out of the text and then run them through SpamBlacklist. Maybe we send the text to Parsoid and get links that way.
    • Task
    Donors will click on the call-to-action in their email and be brought to the wiki to create an account, hopefully to go on to edit. We want to be able to analyze the behavior of this cohort in all the ways that we usually analyze Growth newcomers through EventLogging and edit tags -- but we want to be able to separate out this cohort to see them distinctly. We'll do this through identifying a URL parameter in the call-to-action link. We may want to keep track of multiple URL parameters if there are different subgroups in the cohort (e.g. new donors / repeat donors) or if we try different versions of the email.
    • Task
    Donors are a part of our community who have given to the Wikimedia movement financially. We believe that some of them have the potential to also give to the movement through contributing to the wikis. After a fundraising campaign, donors are asked to fill out a survey about their donation experience. One of the questions asks if they would like to learn more about editing. So far, little has been done with those responses, and we want to try contacting those respondents via email to ask them to create accounts and start editing. A fundraising campaign recently ran in Latin America, and we plan to test this idea in that context. In June/July 2021, we plan to send emails to those donors who said in the post-donation survey that they are interested in editing.
    • Task
    Hi. I request some changes in the AbuseFilter configuration of the Spanish Wikipedia (eswiki) See the vote: https://es.wikipedia.org/wiki/Wikipedia:Votaciones/2021/Sobre_la_activación_del_bloqueo_automático_del_filtro_de_ediciones_como_medida_de_emergencia Allow automatic blocks ($wgAbuseFilterActions['block'] = true;) Default expiry for automatic blocks($wgAbuseFilterBlockDuration = '24 hours'; and $wgAbuseFilterAnonBlockDuration = '24 hours';) Allow the abusefilter group to revert blocks ($wgGroupPermissions['abusefilter']['abusefilter-revert'] = true;) Change emergency thottling percentage to 10% ($wgAbuseFilterEmergencyDisableThreshold = 0.1;) Change emergency thottling count to 3 ($wgAbuseFilterEmergencyDisableCount = 3;)
    • Task
    == Background From the Community Wishlist Survey 2021: //Wikitext editors often skip the step of previewing their edits, missing simple typos and formatting errors that could be easily avoided if previewed live. // -- user Czar == Resources * [[https://meta.wikimedia.org/wiki/Community_Wishlist_Survey_2021/Editing/Live_preview|Wish page on Meta-Wiki]] * [[https://en.wikipedia.org/wiki/User:TheDJ/ActualLivePreview.js|Existing user script by TheDJ]] == Dependencies * T246420
    • Task
    This task represents the work involved with making it possible for editors to subscribe to //all// of the conversations on a particular talk page. //Context: @Patriccck + @pelagic raised this idea when sharing feedback about the manual topic subscription prototype: https://w.wiki/3HDc + https://w.wiki/3MeH. // === User Story As someone who is interested in //all// of the conversations on a particular talk page, I'd like for there to be an easy way to subscribe to all of said conversations so that I do not need to expel the effort of subscribing to each one individually. === Approach //If/when this task is prioritized, we'll need to fill in potential approaches for satisfying the story above.//
    • Task
    This task represents the work involved with making it possible for editors who have subscribed to a talk page conversation (call it: `Conversation A`) to customize the kinds of edit to `Conversation A` they receive Echo notifications about. //Context: @Patriccck raised this idea when sharing feedback about the manual topic subscription prototype: https://w.wiki/3HDc. // === User Story As a contributor who has clear ideas for the kinds of activity they do [i] and do not want to be notified about, I'd like to be able to express these preferences within the software so that I can feel empowered to decide what to pay attention to. === Approach //If/when this task is prioritized, we'll need to fill in potential approaches for satisfying the story above.// --- i. //E.g. A sub-section is added to a conversation, a template like [{{Šablona:Nahlášeno}}](https://cs.wikipedia.org/wiki/%C5%A0ablona:Nahl%C3%A1%C5%A1eno) is added to the conversation, etc.//
    • Task
    TLDR: Please add namespace "2021:" (i.e. `132`) to the default search for the Wikimania-wiki. Currently, it is only searching "Main" and "2019" by default. E.g. https://wikimania.wikimedia.org/w/index.php?search=foo (In case helpful: https://www.mediawiki.org/wiki/Manual:$wgNamespacesToBeSearchedDefault )
    • Task
    Hi Dallas! This task request is to request access to the analytics group so I can tunnel into fran1001. Let me know if you need anything else from me. Thanks!
    • Task
    At English Wikisource, we have a gadget to add some tools for CSS coding: {F34493421} When the CodeEditor is enabled (as it often is when editing CSS), the tab still shows in the toolbar, but it doesn't do anything (the left two "menus" still work): {F34493434} These panels should continue to work even in syntax highlight mode as they contain useful information and tools.
    • Task
    Proposed syntax: creator:Foo and creator:#123 Use case: 1. A bot created a large number of articles, and we want to find search results not created by this bot. 2. I want to work on articles in a category, but I want to skip articles created by User:Example. 3. I want to find articles created by some user that is less recently edited. Note: 1. Internally we only store user ID for registered users, so there will be no disruption on user rename 2. Delete/Undelete/Revdel/Import may affect the data (no creator may be exposed if it is revdeled) 3. UserMerge may disrupt existing data but it is not enabled in Wikimedia wikis
    • Task
    As a user, I want to order search results by the page size of each result, so that I can prioritize articles to work on. Split from T11519: Use cases: to find longest pages in a specific category, such as "stubs".
    • Task
    Split from T11519: Introduce a new keyword "pagesize" to search page with given size e.g. incategory:Stubs pagesize:>3000 will give stubs with more than 3000 bytes. Similar keyword filesize already exists
    • Task
    ==== Error ==== * mwversion: `1.37.0-wmf.7` * reqId: `ceeb1dd1-4ae5-4fc2-995b-ddbd3508fbd2` * [[ https://logstash.wikimedia.org/app/dashboards#/view/AXFV7JE83bOlOASGccsT?_g=(time:(from:'2021-06-09T09:45:33.000Z',to:'2021-06-10T21:47:40.346Z'))&_a=(query:(query_string:(query:'reqId:%22ceeb1dd1-4ae5-4fc2-995b-ddbd3508fbd2%22'))) | Find reqId in Logstash ]] * [[ https://logstash.wikimedia.org/app/dashboards#/view/AXFV7JE83bOlOASGccsT?_g=(time:(from:now-30d,to:now))&_a=(query:(query_string:(query:'normalized_message:%22Calculating%20version%20for%20%22%7Bmodule%7D%22%20failed:%20%7Bexception%7D%22'))) | Find normalized_message in Logstash ]] ```name=normalized_message Calculating version for "{module}" failed: {exception} ``` ```name=exception.trace,lines=10 from /srv/mediawiki/php-1.37.0-wmf.7/vendor/wikimedia/request-timeout/src/Detail/ExcimerTimerWrapper.php(59) #0 /srv/mediawiki/php-1.37.0-wmf.7/vendor/wikimedia/request-timeout/src/Detail/ExcimerRequestTimeout.php(34): Wikimedia\RequestTimeout\Detail\ExcimerTimerWrapper->exitCriticalSection(integer) #1 /srv/mediawiki/php-1.37.0-wmf.7/vendor/wikimedia/request-timeout/src/CriticalSectionProvider.php(134): Wikimedia\RequestTimeout\Detail\ExcimerRequestTimeout->exitCriticalSection(integer) #2 /srv/mediawiki/php-1.37.0-wmf.7/vendor/wikimedia/request-timeout/src/CriticalSectionScope.php(57): Wikimedia\RequestTimeout\CriticalSectionProvider->Wikimedia\RequestTimeout\{closure}(integer) #3 /srv/mediawiki/php-1.37.0-wmf.7/includes/libs/rdbms/database/Database.php(5816): Wikimedia\RequestTimeout\CriticalSectionScope->exit() #4 /srv/mediawiki/php-1.37.0-wmf.7/includes/libs/rdbms/database/Database.php(1383): Wikimedia\Rdbms\Database->completeCriticalSection(string, Wikimedia\RequestTimeout\CriticalSectionScope) #5 /srv/mediawiki/php-1.37.0-wmf.7/includes/libs/rdbms/database/Database.php(1278): Wikimedia\Rdbms\Database->executeQuery(string, string, integer) #6 /srv/mediawiki/php-1.37.0-wmf.7/includes/libs/rdbms/database/Database.php(1969): Wikimedia\Rdbms\Database->query(string, string, integer) #7 /srv/mediawiki/php-1.37.0-wmf.7/includes/libs/rdbms/database/Database.php(2069): Wikimedia\Rdbms\Database->select(string, array, array, string, array, array) #8 /srv/mediawiki/php-1.37.0-wmf.7/includes/libs/rdbms/database/DBConnRef.php(68): Wikimedia\Rdbms\Database->selectRow(string, array, array, string) #9 /srv/mediawiki/php-1.37.0-wmf.7/includes/libs/rdbms/database/DBConnRef.php(335): Wikimedia\Rdbms\DBConnRef->__call(string, array) #10 /srv/mediawiki/php-1.37.0-wmf.7/includes/cache/LinkCache.php(350): Wikimedia\Rdbms\DBConnRef->selectRow(string, array, array, string) #11 /srv/mediawiki/php-1.37.0-wmf.7/includes/cache/LinkCache.php(299): LinkCache->fetchPageRow(Wikimedia\Rdbms\DBConnRef, Title) #12 /srv/mediawiki/php-1.37.0-wmf.7/includes/Title.php(3189): LinkCache->addLinkObj(Title) #13 /srv/mediawiki/php-1.37.0-wmf.7/includes/Title.php(3863): Title->getArticleID(integer) #14 /srv/mediawiki/php-1.37.0-wmf.7/includes/Title.php(3939): Title->exists() #15 /srv/mediawiki/php-1.37.0-wmf.7/includes/linker/LinkRenderer.php(166): Title->isKnown() #16 /srv/mediawiki/php-1.37.0-wmf.7/extensions/GrowthExperiments/includes/HelpPanel.php(84): MediaWiki\Linker\LinkRenderer->makeLink(Title, string, array) #17 /srv/mediawiki/php-1.37.0-wmf.7/extensions/GrowthExperiments/includes/HelpPanelHooks.php(164): GrowthExperiments\HelpPanel::getHelpPanelLinks(ResourceLoaderContext, GrowthExperiments\Config\GrowthExperimentsMultiConfig) #18 /srv/mediawiki/php-1.37.0-wmf.7/includes/resourceloader/ResourceLoaderFileModule.php(1274): GrowthExperiments\HelpPanelHooks::getModuleData(ResourceLoaderContext, GlobalVarConfig, NULL) #19 /srv/mediawiki/php-1.37.0-wmf.7/includes/resourceloader/ResourceLoaderFileModule.php(640): ResourceLoaderFileModule->expandPackageFiles(ResourceLoaderContext) #20 /srv/mediawiki/php-1.37.0-wmf.7/includes/resourceloader/ResourceLoaderModule.php(859): ResourceLoaderFileModule->getDefinitionSummary(ResourceLoaderContext) #21 /srv/mediawiki/php-1.37.0-wmf.7/includes/resourceloader/ResourceLoader.php(772): ResourceLoaderModule->getVersionHash(ResourceLoaderContext) #22 [internal function]: ResourceLoader->{closure}(string) #23 /srv/mediawiki/php-1.37.0-wmf.7/includes/resourceloader/ResourceLoader.php(784): array_map(Closure, array) #24 /srv/mediawiki/php-1.37.0-wmf.7/includes/resourceloader/ResourceLoader.php(871): ResourceLoader->getCombinedVersion(ResourceLoaderContext, array) #25 /srv/mediawiki/php-1.37.0-wmf.7/load.php(51): ResourceLoader->respond(ResourceLoaderContext) #26 /srv/mediawiki/php-1.37.0-wmf.7/load.php(38): wfLoadMain() #27 /srv/mediawiki/w/load.php(3): require(string) #28 {main} ``` ==== Impact ==== ==== Notes ====
    • Task
    Hi All, Starting this task to keep us all in the loop on exporting and importing for the latest TS project. Adding in criteria: Individual contact type US based with street address New FY2021 donors that gave $1 and over Not opted out Please let me know if I can provide anything else, Thanks so much!
    • Task
    >>! In T279483#7147469, @Mooeypoo wrote: > P.S: > > >>>! In T279483#7068263, @Tacsipacsi wrote: >>>>! In T279483#7064451, @ppelberg wrote: >>> **Current behavior** >>> //Languages that do NOT vary user namespace title by gender// >> The information is available through the API. I don’t think MediaWiki itself displays it anywhere, but e.g. #navigation-popups-gadget shows a ♂ or ♀ icon when one hovers over a user page/user talk/user subpage/whatever link of someone who has set their gender (i.e. it’s not neutral/unknown). > > Unfortunately, that image connection assumes (a) a binary gender, and (b) a person's binary gender out of their language preferences. > > One of the reasons the 'gender' data (still 'gender' in DB and api) was changed to "how do you want to be referred" (language-oriented) rather than "what is your gender" is **because** someone's gender does not equal how they want to be referred to, and we should not make that automatic assumption in graphic or linguistic terms. I am not sure what that product is, but I'd love to see those icons removed, but since it's a gadget, at the very least, I'd like to make sure we don't follow that example, for better inclusion. {F31498411}
    • Task
    Currently, WVUI includes type definitions (which are auto-generated from the TS compilation process) in its published NPM package. I think there are several ways that we could improve on what we are currently doing here. **1. Organization**: WVUI packages the contents of the `dist/` folder for publication to NPM. Inside this folder, the type declarations live inside a subfolder called `src/`; within this directory, there are separate `d.ts` files for everything in WVUI's source code. Separate files exist for each component, they get imported through the `entries` files, and we're shipping declaration files not just for components but for tests, storybook stories, and internal utilities in addition to our component declarations. This seems somewhat counter-intuitive and confusing to me, and there's also a lot of stuff here that really doesn't need to be included in the first place (declarations for tests and stories, etc). //Proposal: we should place type declarations somewhere more predictable like a dedicated `types` folder, and we should include a top-level `index.d.ts` file that includes most declarations inline. We should also stop shipping types for library internals and development tooling that are not going to be useful for consumers.// **2. Component Type Declarations**: I think our current component type declarations could be improved. Here's what the declaration looks like for `Button.vue`: ```lang=ts import { ButtonType } from './ButtonType'; import { ButtonAction } from './ButtonAction'; import Vue from 'vue'; declare const _default: import("vue/types/vue").ExtendedVue<Vue, unknown, { onClick(event: Event): void; }, { rootClasses: Record<string, boolean>; }, { action: ButtonAction; type: ButtonType; }>; /** * A button wrapping slotted content. * * @fires {Event} click */ export default _default; ``` This comes through in an editor like VSCode like this: {F34492645} There's a lot of information here but I'm not sure how helpful this actually is. The series of arguments to `ExtendedVue` are `Vue`, `data`, `methods`, `computed`, and `props` respectively, but this isn't super clear for an end-user. Information about the button's `action` prop (which can only accept certain string values) doesn't actually show up when you use `WvuiButton` in a template as a consumer (which is really what we want here I'd argue). Same for the events. I think we may be better off doing [[ https://github.com/vuetifyjs/vuetify/blob/master/packages/vuetify/types/lib.d.ts | what Vuetify does ]] – shipping a declaration file that just states that every component in the library is of type Vue component. So in that case we'd just want something like this: ```lang=ts import { VueConstructor } from 'vue'; declare const WvuiButton: VueConstructor; export default WvuiButton; ``` We could combine this with point 1 and have a single file that exports declarations for every WVUI component. For custom prop types like `ButtonAction`, we could still expose interfaces that a consuming TS application could import directly if one wanted to benefit from type-checking where the component is being used. [[ https://github.com/vuetifyjs/vuetify/blob/master/packages/vuetify/types/index.d.ts#L282-L295 | See here for an example ]] of how Vuetify exports interfaces for things like `DataTableHeader`, etc. Here's an example of how this could work. Even if WVUI is being consumed as a CommonJS module delivered via ResourceLoader, a user could still import the packaged types directly from the NPM module (which would be installed as a `devDependency` in this case). Then if you need to create a button action to pass as a prop, you could do this: ```lang=js /** * @type {import('wvui').ButtonAction} */ const action = "progressive"; ``` This would work in both TS and in plain JS. //Proposal: Replace our automatically-generated declaration files with manually-maintained `d.ts` files for all public components and other interfaces (`ButtonAction`, etc) that will be relevant to consumers. Most components should just declare the basic `VueConstructor` type.// **3. Ship Component Data for Vetur:** I mentioned above that the types we're currently shipping for component props, etc don't show up in Vue template blocks, which is really where we want to see the documentation and completion features. Fortunately there is a solution here, we just need to rely on the Vetur tooling used in editors like VSCode to display this feedback to users. The [[ https://vuejs.github.io/vetur/guide/component-data.html#adding-a-framework | Vetur docs ]] provide some information on how to do this. Basically, we'd need to add a `vetur` key to WVUI's `package.json` and use that to point to data for `tags` and `attributes`. Writing all of this manually would get pretty tedious, but as with types we may want to study what Vuetify is doing here. In their case, [[ https://github.com/vuetifyjs/vuetify/blob/master/packages/api-generator/src/export.js | they have written some custom scripts to generate JSON ]] based on component documentation. We can probably adapt this solution for WVUI. //Proposal: Start shipping Vetur component data in the WVUI NPM package. Ideally we can generate this automatically.//
    • Task
    Type hinting via TypeScript has been used in Vector. It doesn't require a build step and has effectively detected errors in code before it was shipped. We have had various issues relating to instrumentation missing fields that I think TypeScripting would help with. I raised a patch https://gerrit.wikimedia.org/r/c/mediawiki/extensions/WikimediaEvents/+/670899 but it didn't get the enthusiastic response I was expecting. If adding TypeScript checking would be controversial let's talk about it here. If not, let's see the patch through to completion and seek wider adoptions in other repos.
    • Task
    When testing out ContentTranslation I was able to use it without BetaFeatures installed, but it wasn't displaying. As a result I wasted a good hour trying to work out the problem. After exploring this some more, I noticed that $wgContentTranslationAsBetaFeature was set to true by default, but if BetaFeatures wasn't installed the feature was not loaded. It didn't feel like BetaFeatures should be a required extension to use the ContentTranslation extension so I uploaded https://gerrit.wikimedia.org/r/c/mediawiki/extensions/ContentTranslation/+/698617 which makes the code ignore $wgContentTranslationAsBetaFeature when BetaFeatures is not available. However this revealed another hidden dependency- GlobalPreferences. This is not listed in extension.json but I get fatals without it. # To clarify [] If GlobalPreferences is a required extension it should be declared in extension.json and CI updated per James' comment in https://gerrit.wikimedia.org/r/c/mediawiki/extensions/ContentTranslation/+/698617 [] If BetaFeatures is a required extension please declare it in extension.json [] If neither are required please modify the extension to work without either.
    • Task
    ==== User Story > ==== As an API producer and owner, > ==== I want clear guidelines for how to design and manage my API, > ==== So I can standardize my API for a consistent API consumer experience ==== Success Criteria [] Given I want to design my API based on standards, I expect to find API guidelines via the API Platform [] Given I want to check my API specification in an automated way, I expect to use an API spec linter that aligns with API guidelines [] Given I want to keep my API reference documentation up to date, I expect to generate API reference documentation in an automated way ==== References - [[ https://docs.google.com/document/d/1DSVIGap0eCdrYEsFtyZNLld3jkvk04Tz4Nlhs9rdl1I/edit | Proposal: API Portal Reference Documentation ]]
    • Task
    Create an architecture sketch for image recommendations. More specifically, sketch out what are the parts where the #add-link logic can be reused and what are the parts that we need to build out.
    • Task
    ==== Error ==== * mwversion: `1.37.0-wmf.9` * reqId: `bbb15cc8-2668-4c77-82a7-abe99cbef907` * [[ https://logstash.wikimedia.org/app/dashboards#/view/AXFV7JE83bOlOASGccsT?_g=(time:(from:'2021-06-09T21:14:47.000Z',to:'2021-06-10T19:15:07.636Z'))&_a=(query:(query_string:(query:'reqId:%22bbb15cc8-2668-4c77-82a7-abe99cbef907%22'))) | Find reqId in Logstash ]] * [[ https://logstash.wikimedia.org/app/dashboards#/view/AXFV7JE83bOlOASGccsT?_g=(time:(from:now-30d,to:now))&_a=(query:(query_string:(query:'normalized_message:%22%5B%7BreqId%7D%5D%20%7Bexception_url%7D%20%20%20PHP%20Deprecated:%20Passing%20extra%20fields%20(quality)%20to%20LocalFile::loadFromRow%20was%20deprecated%20in%20MediaWiki%201.37.%20Property%20assignment%20will%20be%20removed%20in%20a%20later%20version.%20%5BCalled%20from%20OldLocalFile::loadFromRow%5D%22'))) | Find normalized_message in Logstash ]] ```name=normalized_message [{reqId}] {exception_url} PHP Deprecated: Passing extra fields (quality) to LocalFile::loadFromRow was deprecated in MediaWiki 1.37. Property assignment will be removed in a later version. [Called from OldLocalFile::loadFromRow] ``` ```name=exception.trace,lines=10 from /srv/mediawiki/php-1.37.0-wmf.9/includes/filerepo/file/OldLocalFile.php(202) #0 [internal function]: MWExceptionHandler::handleError(integer, string, string, string, array) #1 /srv/mediawiki/php-1.37.0-wmf.9/includes/debug/MWDebug.php(376): trigger_error(string, integer) #2 /srv/mediawiki/php-1.37.0-wmf.9/includes/debug/MWDebug.php(352): MWDebug::sendRawDeprecated(string, boolean, string) #3 /srv/mediawiki/php-1.37.0-wmf.9/includes/GlobalFunctions.php(1030): MWDebug::deprecatedMsg(string, string, string, integer) #4 /srv/mediawiki/php-1.37.0-wmf.9/includes/filerepo/file/LocalFile.php(668): wfDeprecatedMsg(string, string) #5 /srv/mediawiki/php-1.37.0-wmf.9/includes/filerepo/file/OldLocalFile.php(202): LocalFile->loadFromRow(stdClass, string) #6 /srv/mediawiki/php-1.37.0-wmf.9/includes/filerepo/file/OldLocalFile.php(83): OldLocalFile->loadFromRow(stdClass, string) #7 /srv/mediawiki/php-1.37.0-wmf.9/includes/filerepo/LocalRepo.php(85): OldLocalFile::newFromRow(stdClass, LocalRepo) #8 /srv/mediawiki/php-1.37.0-wmf.9/includes/filerepo/file/LocalFile.php(1266): LocalRepo->newFileFromRow(stdClass) #9 /srv/mediawiki/php-1.37.0-wmf.9/includes/api/ApiQueryImageInfo.php(203): LocalFile->getHistory(integer, NULL, NULL) #10 /srv/mediawiki/php-1.37.0-wmf.9/includes/api/ApiQuery.php(333): ApiQueryImageInfo->execute() #11 /srv/mediawiki/php-1.37.0-wmf.9/includes/api/ApiMain.php(1714): ApiQuery->execute() #12 /srv/mediawiki/php-1.37.0-wmf.9/includes/api/ApiMain.php(684): ApiMain->executeAction() #13 /srv/mediawiki/php-1.37.0-wmf.9/includes/api/ApiMain.php(655): ApiMain->executeActionWithErrorHandling() #14 /srv/mediawiki/php-1.37.0-wmf.9/api.php(90): ApiMain->execute() #15 /srv/mediawiki/php-1.37.0-wmf.9/api.php(45): wfApiMain() #16 /srv/mediawiki/w/api.php(3): require(string) #17 {main} ``` ==== Impact ==== ~900 occurrences in the 15 minute period following deployment to group2 ==== Notes ====
    • Task
    == Probable tests == * Test procedure of opening PagelistWidget dialog ** Preview Pagelist button should appear. ** Clicking it should show a preview of pagelist (in button format) *** Preview pagelist button should be disabled for the duration of load. ** Clicking on any of the buttons in the preview should open the dialog. ** Clicking the x icon should close dialog. * Testing sync between preview inside dialog v/s outside ** Click on a button inside preview of pagelist. ** Wait for dialog to open ** Check if the page number inside the dialog lines with the one being clicked ** Select different pagenumber ** Close dialog ** Make sure the page number selected in preview has been updated. * Test the unloading mechanism ** Open Pagelist Widget dialog ** Make a change ** Try to close once, check if we get error ** Try second time, observe dialog closes. ** Verify change not reflected in preview. * Testing restriction for various toggles ** Open Pagelist widget ** Update pagelist should be disabled ** Update pagelist should become active after changing any field in form ** Selecting Number should disable change number for this page only toggle ** Selecting (something like) ToC should disable the numbering selector ** Selecting a number and then changing the numbering type to something like ToC should give a warning. == Notes == * `MediaWiki:Proofreadpage_index_template` requires the ParserFunctions. ** Add it to integration config or should we come up with a simplified index template that can be used just for testing? * We need to create two pages (`MediaWiki:Proofreadpage_index_template` + `MediaWiki:Proofreadpage_index_data_config`) ** Can we just import a dump, or do we need to use the MediaWiki API to create the individual pages? * Need to upload a file to create an Index page and for pagelist tags to work. * Need to do all of the above for each and every test related to Pagelist Widget. (Not sure how I would implement that)
    • Task
    * Wikitech username: mepps * Email address: mepps@wikimedia.org * SSH public key (must be a separate key from Wikimedia cloud SSH access): ``` ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIDohDQkFG5FrhN50ZtS1MGd1xiY0D2OO9yzn8Y31xqVq mepps@wmf2679 ``` * Requested group membership: * Reason for access: To run media moderation script * Name of approving party (manager for WMF/WMDE staff): Marcella Florence * Ensure you have signed the L3 Wikimedia Server Access Responsibilities document: * Please coordinate obtaining a comment of approval on this task from the approving party. == SRE Clinic Duty Confirmation Checklist for Access Requests == This checklist should be used on all access requests to ensure that all steps are covered, including expansion to existing access. Please double check the step has been completed before checking it off. **This section is to be confirmed and completed by a member of the SRE team.** [] - User has signed the L3 Acknowledgement of Wikimedia Server Access Responsibilities Document. [x] - User has a valid NDA on file with WMF legal. (All WMF Staff/Contractor hiring are covered by NDA. Other users can be validated via the NDA tracking sheet) [x] - User has provided the following: wikitech username, email address, and full reasoning for access (including what commands and/or tasks they expect to perform) [x] - User has provided a public SSH key. This ssh key pair should only be used for WMF cluster access, and not shared with any other service (this includes not sharing with WMCS access, no shared keys.) [] - access request (or expansion) has sign off of WMF sponsor/manager (sponsor for volunteers, manager for wmf staff) [] - access request (or expansion) has sign off of group approver indicated by the approval field in data.yaml For additional details regarding access request requirements, please see https://wikitech.wikimedia.org/wiki/Requesting_shell_access
    • Task
    releases1001.eqiad.wmnet is now being used for building production MediaWiki container images. This process can benefit from more CPUs and RAM than what releases1001 currently has. This is a request for increased CPU and RAM resources: |Resource|Current|Desired| |CPU|2|8| |RAM (GB)|4|8|
    • Task
    ==== User Story > ==== As an API consumer, > ==== I want the API platform to surface capabilities for my needs > ==== so that I can spend less time looking and more time using the APIs ==== Success Criteria [] API consumer personas have clearly defined goals, pain points, and needs [] The API platform model is informed by API consumer personas ==== References
    • Task
    ==== Error ==== ```name=normalized_message undefined is not an object (evaluating 'context.state.filterValues[options.type].assessment') ``` ``` name=exception.trace,lines=10 at search https://commons.m.wikimedia.org/w/load.php?lang=en&modules=jquery%2Cmediasearch&skin=minerva&version=17dg0:247:416 at https://commons.m.wikimedia.org/w/index.php?search=[search term]&title=Special:MediaSearch&type=image#/search:198:750 at https://commons.m.wikimedia.org/w/index.php?search=[search term]&title=Special:MediaSearch&type=image#/search:200:459 at getMoreResultsForTabIfAvailable https://commons.m.wikimedia.org/w/load.php?lang=en&modules=jquery%2Cmediasearch&skin=minerva&version=17dg0:205:758 at He https://commons.m.wikimedia.org/w/index.php?search=[search term]&title=Special:MediaSearch&type=image#/search:215:236 at He https://commons.m.wikimedia.org/w/index.php?search=[search term]&title=Special:MediaSearch&type=image#/search:215:236 at https://commons.m.wikimedia.org/w/index.php?search=[search term]&title=Special:MediaSearch&type=image#/search:238:240 at intersectionCallback https://commons.m.wikimedia.org/w/load.php?lang=en&modules=jquery%2Cmediasearch&skin=minerva&version=17dg0:191:199 ``` ==== Impact ==== No user-facing impact observed thus far ==== Notes ==== 28 occurrences since yesterday post-train. May be a result of the switch from WMBI to MediaSearch.
    • Task
    ==== Error ==== ```name=normalized_message TypeError: Cannot read property 'byteLength' of null ``` ``` name=exception.trace,lines=10 at ArrayBufferBackend.onXHRLoad https://commons.m.wikimedia.org/w/load.php?lang=en&modules=ext.tmh.OgvJs%2COgvJsSupport%2Cvideo-js%2Cvideojs-ogvjs&skin=minerva&version=n0yzk:105:658 at XMLHttpRequest.<anonymous> https://commons.m.wikimedia.org/w/load.php?lang=en&modules=ext.tmh.OgvJs%2COgvJsSupport%2Cvideo-js%2Cvideojs-ogvjs&skin=minerva&version=n0yzk:9:847 ``` ==== Impact ==== No user-facing impact observed thus far ==== Notes ==== 14 occurrences, all since yesterday post-train. May have been caused by switch from WBMI to MediaSearch
    • Task
    ==== Error ==== * mwversion: `undefined` * reqId: `undefined` * [[ https://logstash.wikimedia.org/app/dashboards#/view/AXFV7JE83bOlOASGccsT?_g=(time:(from:'2021-06-09T16:59:27.384Z',to:'2021-06-10T16:59:27.384Z'))&_a=(query:(query_string:(query:'reqId:%22undefined%22'))) | Find reqId in Logstash ]] * [[ https://logstash.wikimedia.org/app/dashboards#/view/AXFV7JE83bOlOASGccsT?_g=(time:(from:now-30d,to:now))&_a=(query:(query_string:(query:'normalized_message:%22Error:%20write%20cursor%20too%20small%22'))) | Find normalized_message in Logstash ]] ```name=normalized_message Error: write cursor too small ``` ``` name=exception.trace,lines=10 at CachePool.write https://commons.m.wikimedia.org/w/load.php?lang=en&modules=ext.tmh.OgvJs%2COgvJsSupport%2Cvideo-js%2Cvideojs-ogvjs&skin=minerva&version=n0yzk:91:809 at https://commons.m.wikimedia.org/w/load.php?lang=en&modules=ext.tmh.OgvJs%2COgvJsSupport%2Cvideo-js%2Cvideojs-ogvjs&skin=minerva&version=n0yzk:86:924 at https://commons.m.wikimedia.org/w/load.php?lang=en&modules=ext.tmh.OgvJs%2COgvJsSupport%2Cvideo-js%2Cvideojs-ogvjs&skin=minerva&version=n0yzk:14:158 at ArrayBufferBackend.emit https://commons.m.wikimedia.org/w/load.php?lang=en&modules=ext.tmh.OgvJs%2COgvJsSupport%2Cvideo-js%2Cvideojs-ogvjs&skin=minerva&version=n0yzk:14:130 at ArrayBufferBackend.onXHRLoad https://commons.m.wikimedia.org/w/load.php?lang=en&modules=ext.tmh.OgvJs%2COgvJsSupport%2Cvideo-js%2Cvideojs-ogvjs&skin=minerva&version=n0yzk:105:674 at XMLHttpRequest.<anonymous> https://commons.m.wikimedia.org/w/load.php?lang=en&modules=ext.tmh.OgvJs%2COgvJsSupport%2Cvideo-js%2Cvideojs-ogvjs&skin=minerva&version=n0yzk:9:847 ``` ==== Impact ==== No user-facing impact observed thus far ==== Notes ==== 78 occurrences starting yesterday shortly after the train rolled out to Commons, which swapped the extension serving up Special:MediaSearch. We should investigate if the MediaSearch extension code introduced this. Seems to be a problem only on the video tab on mobile.
    • Task
    For new JavaScript projects, document the process to add jsdoc as a documentation tool and publish the output to doc.wikimedia.org. >>! In T138401#7138812, @hashar wrote: > I had the use case of adding JSDoc to a "new" repository (mediawiki/tools/api-testing - T236915) and could not find documentation about it. We have a {nav jsduck} wikipage that redirects to https://www.mediawiki.org/wiki/Manual:Coding_conventions/JavaScript#Documentation which still refers to jsduck with a note left mentioning it is pending the switch of mediawiki/core > > Can we potentially have a JSDoc page for the new repositories / non mediawiki ones? Looks like it might be fairly simple based on a recent commit ( https://gerrit.wikimedia.org/r/c/jquery-client/+/626136 ), but I am afraid I don't understand everything. >>! In T236915#7138795, @hashar wrote: > Looks like we just need to add `jsdoc` as a dependency and provide a `npm run doc` script https://www.mediawiki.org/wiki/Continuous_integration/Entry_points#JavaScript_documentation and from there we can add the doc job in integration/config using: > ``` > name=zuul/layout.yaml > - name: mediawiki/tools/api-testing > template: > - name: node12-rundoc-docker > publish: > - generic-node12-docs-docker-publish > ``` > > Which should publish the doc at https://doc.wikimedia.org/api-testing/master/ and we can then add to the frontpage via integration/docroot.git > > > I could not find a wiki page explaining how to introduce JSDoc on a repository, but I have found https://gerrit.wikimedia.org/r/c/jquery-client/+/626136 I have asked further information on the legendary task that aims to replace jsduck by jsdoc: T138401#7138812
    • Task
    Use typed class rather than associative array to hold segment[content,startOffset,endOffset,hash]
    • Task
    The mobile site for logged in users who have opted into the "Advanced mobile mode" via the settings cog in the left e.g. https://commons.m.wikimedia.org/wiki/Special:MobileOptions now displays categories in the case way as desktop as part of the work we're doing to simplify the mobile site (T246049). This was done to allow gadgets to run on mobile as they do on desktop, for example HotCat. Projects may want to consider enabling these gadgets on mobile as historically they have only run on desktop: NOTE: The gadgets may benefit from some mobile optimizations having historically been set to run on desktop only. This is a good opportunity to do this, so please discuss and fix those issues where they apply. Example: https://www.mediawiki.org/w/index.php?title=MediaWiki:Gadgets-definition&type=revision&diff=4631765&oldid=4587209&diffmode=source
    • Task
    The "Articles data" export would be much more useful with stated username. Use case: A competition is happening on several wikis (like Esperanto Wikipedia, and Esperanto Wikivoyage). Articles on wiki A are getting more point per byte than articles on wiki B (in the Esperanto community we are already using this strategy to focus editors on underdeveloped projects). While using only online Dashboard, a facilitator would have to wait several hours every time when changing from tracking articles from wiki A to wiki B. But it is quite easy to calculate offline in CVS.
    • Task
    In Outreach Dashboard there is a possibility to add multiple editors at once, and to add multiple articles at once. But it is impossible (or hard to find) to assign multiple articles to specific user. Now the system requires program facilitator to click "select" for all the articles to be assigned to specific user. This is particularly boring when a facilitator wants to calculate a competition with a lot of participating articles. Possible solutions (in Editors > (specific editor) > Assignments & Exercises > Assign an article): - add the possibility to assign multiple articles at once (to the specified editor) Possible quick fixes (in Editors > (specific editor) > Assignments & Exercises > Assign an article): - add a button like "Assign all available articles" (I have learn to add all articles from one editor, than assign all of the articles to that editor, than repeat for another editor and so on) - move the button "select" from right to left (so it is on the same vertical axis for all the articles - to eliminate need to move mouse to it) and enable confirmation of assignment by keyboard, similar to confirmation of removal of available article (it saves moves of mouse, so is much faster and require much less thining)
    • Task
    I have just seen this on my personal account and may be entirely due to something I did but on my cid=28543664 When testing the email preference center I sent my language to Japanese and have been getting all thank you emails in Japanese, but there are no Japanese thank you email activities listed. There is one Japanese email but its the 2nd recurring email.
    • Task
    1. Open reply tool in visual mode 2. Press Ctrl+? 3. Observe "CTRL+1-6 Heading (1-6)" is listed as a shortcut, also "Type {{ Template" and various other things which are disabled in the reply tool
    • Task
    During creation of a new program in the Outreach Dashboard, there is an option to set Tracked Wikis. While adding new Available articles, in the pop-up is the option to change wiki for the current set of articles to be added. {F34489925} Expected behaviour: Appear a dropdown menu with list of all wikis set as the Tracked Wikis. It is easy to select the right wiki using the same input device as used to open it (in this case mouse). Real behaviour: Appears form with all available wikis (not only tracked) and user have to type it using keayboard (so switch the used input device).