Page MenuHomePhabricator

20after4 (Mukunda Modell)
Release Engineer @ Wikimedia Foundation

Projects

Today

  • Clear sailing ahead.

Tomorrow

  • Clear sailing ahead.

Thursday

  • Clear sailing ahead.

User Details

User Since
Nov 28 2011, 9:35 AM (416 w, 1 d)
Availability
Available

Recent Activity

Mon, Nov 11

20after4 edited the content of Community Resources.
Mon, Nov 11, 10:12 PM

Oct 8 2019

20after4 awarded T13419: Fully modularize object relationships, to support custom relationships like "Subtask/Parent Task" a Love token.
Oct 8 2019, 9:57 PM · Infrastructure

Sep 10 2019

20after4 awarded T13377: Write about "how to solve problems with program behavior" a Mountain of Wealth token.
Sep 10 2019, 1:46 PM · Guides

Aug 13 2019

jcox awarded Changelog a Love token.
Aug 13 2019, 4:30 PM

Aug 1 2019

20after4 awarded D20648: Update one straggling "CAN_INTERACT" check in comment removal a Love token.
Aug 1 2019, 6:56 PM

Jul 12 2019

20after4 awarded T13322: Allow parent projects to have direct members a Love token.
Jul 12 2019, 6:23 PM · Projects
20after4 accepted rP099919366b12: Fix "add more metadata" fatal in Pholio.

Thanks!

Jul 12 2019, 6:07 PM

Jul 11 2019

20after4 added inline comments to rPaacc62463d61: Prevent editing and deleting comments in locked conversations.
Jul 11 2019, 10:46 PM
20after4 added a comment to rPaacc62463d61: Prevent editing and deleting comments in locked conversations.

@epriestley: Try removing a comment, it throws an exception

Jul 11 2019, 10:45 PM
20after4 added a comment to rPaacc62463d61: Prevent editing and deleting comments in locked conversations.

Apparently commits don't support CAN_INTERACT capability?

Jul 11 2019, 8:49 PM
20after4 added a comment to T13332: Javelin behaviors which pass PHUIViews to configuration parameters fatal the page in an abrupt way.

Could this be related to the custom footer markup? The code in question hasn't changed in a long time but I suspect maybe it's related to changes in the remarkup rendering code that's adding metadata where it didn't previously?

Jul 11 2019, 7:00 PM · Javelin
20after4 added a comment to T13332: Javelin behaviors which pass PHUIViews to configuration parameters fatal the page in an abrupt way.

I toggled developer mode on for a moment and managed to get a stack trace:

Jul 11 2019, 6:56 PM · Javelin

Jul 3 2019

20after4 awarded T11036: Put subproject columns on workboards a Love token.
Jul 3 2019, 11:03 PM · Workboards (v3), Projects (v3)

Jun 21 2019

20after4 awarded T13291: Implement a "{src ...}" rule in Remarkup for referencing source files in Diffusion a Mountain of Wealth token.
Jun 21 2019, 9:06 PM · Remarkup, Diffusion
20after4 added a comment to D20539: Add a "{src ...}" Remarkup rule to provide a more flexible way to reference source files in Diffusion.

I've been wishing for this literally forever. If I could award more mountains of wealth tokens, I most certainly would!

Jun 21 2019, 9:06 PM
20after4 awarded D20539: Add a "{src ...}" Remarkup rule to provide a more flexible way to reference source files in Diffusion a Mountain of Wealth token.
Jun 21 2019, 9:05 PM

Apr 19 2019

remusvrm awarded Changelog a Like token.
Apr 19 2019, 7:09 PM

Mar 26 2019

20after4 awarded D20321: When moving cards on workboards, treat before/after cards as optional hints, not strict requirements a Love token.
Mar 26 2019, 6:12 AM

Mar 13 2019

20after4 awarded T10578: Provide 'Sort by Points' option in workboards a Love token.
Mar 13 2019, 4:05 PM · Workboards (v3), Feature Request
20after4 awarded T10333: Add groups to workboard columns a Love token.
Mar 13 2019, 4:05 PM · Restricted Project, Restricted Project, Workboards (v3)

Mar 9 2019

20after4 added a comment to T13248: Support enabling and disabling (and making other adjustments to) custom fields based on object subtypes.

I wholeheartedly agree that all that proxy field mess needs to go away. With that gone the only moderately confusing part remaining would be the way in which custom fields interact with herald, email and notifications.

Mar 9 2019, 12:48 PM · Custom Fields, Maniphest

Feb 28 2019

20after4 added a comment to T13248: Support enabling and disabling (and making other adjustments to) custom fields based on object subtypes.

Making a way to set fields to default: disabled would make this feature even better ;)

Feb 28 2019, 9:27 PM · Custom Fields, Maniphest

Feb 26 2019

20after4 awarded T13248: Support enabling and disabling (and making other adjustments to) custom fields based on object subtypes a Mountain of Wealth token.
Feb 26 2019, 3:58 PM · Custom Fields, Maniphest
20after4 added a comment to T13255: transaction.search should accept user PHIDs as constraints.

quack

Feb 26 2019, 3:57 PM · Conduit, Transactions
20after4 awarded T13255: transaction.search should accept user PHIDs as constraints a Pterodactyl token.
Feb 26 2019, 3:55 PM · Conduit, Transactions

Feb 25 2019

20after4 added a comment to T13068: Refinements for "Mute Notifications".

FWIW I appreciate and use the mute feature (though only occasionally)

Feb 25 2019, 2:16 PM · Notifications, Mail
20after4 added a comment to D17593: Maniphest: Allow restricting custom fields to subtypes.

roughly similar: D20161: Add basic, rough support for changing field behavior based on object subtype

Feb 25 2019, 2:01 PM
20after4 awarded D20208: Support an "authorPHIDs" constraint for "transaction.search" a Mountain of Wealth token.
Feb 25 2019, 1:52 PM

Feb 23 2019

20after4 awarded D20204: Fix URI construction of typeahead browse "more" pager a Mountain of Wealth token.
Feb 23 2019, 2:09 AM

Feb 22 2019

20after4 added a comment to T13251: Upgrading: PhutilURI Query Parameter Changes.

This change broke the search dialog on tags typeaheads...

Feb 22 2019, 9:28 PM · Installing & Upgrading, Guides, Infrastructure

Feb 11 2019

20after4 added a comment to T13248: Support enabling and disabling (and making other adjustments to) custom fields based on object subtypes.

This would be incredibly useful for the things we are trying to do at WMF. I've gone so far as to duplicate lots of forms for each subtype and remove fields as needed. This results in N * N forms and it's not at all manageable beyond a very small number of sub-types.

Feb 11 2019, 10:37 PM · Custom Fields, Maniphest

Jan 9 2019

20after4 awarded T13229: On Third-Party Integrations a Like token.
Jan 9 2019, 12:25 AM · Phacility

Dec 16 2018

20after4 added a watcher for Plans: 20after4.
Dec 16 2018, 6:03 PM

Dec 11 2018

20after4 added a comment to T12588: create subtask side menu to allow creation of subtasks of different types to the parent task.

If any of these lists only have one form (or the user can only see one form), we'll take the user directly to the specified form.

Dec 11 2018, 8:34 PM · Feature Request

Nov 8 2018

20after4 edited the content of Community Resources.
Nov 8 2018, 11:37 PM

Nov 2 2018

20after4 awarded T13208: Workboard queries may vanish or fail to persist (spooky) a Mountain of Wealth token.
Nov 2 2018, 9:34 PM · Workboards
20after4 added a comment to T13208: Workboard queries may vanish or fail to persist (spooky).

Awesome, thanks @epriestley!

Nov 2 2018, 9:34 PM · Workboards

Oct 31 2018

20after4 updated the task description for T13208: Workboard queries may vanish or fail to persist (spooky).
Oct 31 2018, 7:47 PM · Workboards
20after4 added a comment to T13208: Workboard queries may vanish or fail to persist (spooky).

I just tested and indeed @joshuaspence's steps are reproducible on https://phabricator.wikimedia.org

Oct 31 2018, 7:46 PM · Workboards

Oct 29 2018

20after4 added a comment to T13208: Workboard queries may vanish or fail to persist (spooky).

@dlgiang: if you go to maniphest and choose any of the existing saved queries, you will find the ID in the resulting url.

Oct 29 2018, 10:13 AM · Workboards

Oct 4 2018

20after4 awarded rARC8e0e07664a83: [Wilds] Remove libphutil a Party Time token.
Oct 4 2018, 4:31 PM

Oct 1 2018

20after4 added a comment to T13208: Workboard queries may vanish or fail to persist (spooky).

It seems to be a fairly recent problem so there must be some code change that started triggering it. The worst part, IMO, is that the workboard breaks in a not-entirely-obvious way instead of falling back to a default query. It took me a while to debug the issue the first time it occurred.

Oct 1 2018, 11:34 PM · Workboards
20after4 added a comment to T13208: Workboard queries may vanish or fail to persist (spooky).

Could it be that a user assigns it to one of their "personal" custom queries and then later they delete that query by way of the maniphest saved query ui?

Oct 1 2018, 9:37 PM · Workboards
20after4 added a comment to T13208: Workboard queries may vanish or fail to persist (spooky).

I'm not sure what's caused this either but I've seen it twice on wikimedia's production install.

Oct 1 2018, 9:36 PM · Workboards

Sep 20 2018

20after4 added a comment to T13196: Allow search cluster path value point to alias for Elasticsearch fulltext engine .

@epriestley: I can help with testing and validating on elasticsearch, if that helps at all.

Sep 20 2018, 12:54 PM · Search, Elasticsearch
20after4 added a comment to D17593: Maniphest: Allow restricting custom fields to subtypes.

In theory, probably. In practice, anything not coming through a support pact is probably going to sit in queue for an eternity nowadays.

Sep 20 2018, 12:52 PM
20after4 added a comment to D17593: Maniphest: Allow restricting custom fields to subtypes.

@epriestley: I'm thinking about changing this to make it look more like your example (quoted below) as I think that would make custom fields and subtypes quite a lot more useful. Is this something that you would consider merging in the upstream?

Sep 20 2018, 12:24 PM

Aug 16 2018

20after4 awarded T13186: Upgrading: Legacy "Can Edit <Field>" policies in Maniphest; requireCapabilities() in TransactionEditor a Love token.
Aug 16 2018, 9:36 PM · Security, Policy, ApplicationEditor, Guides, Installing & Upgrading

Aug 15 2018

20after4 added a comment to T13062: Trying to manage anything in Gsuite is kind of not great?.
Aug 15 2018, 3:04 AM · Phacility, Ops

Jul 2 2018

20after4 edited the content of Community Resources.
Jul 2 2018, 1:05 AM

Jun 28 2018

20after4 added a comment to T13103: Document favicon customization and validate the "ui.favicons" configuration option.

Can't wait for "connect 2" to come out on playstation six.

Jun 28 2018, 11:53 AM · Files, Aphront, Infrastructure

Jun 18 2018

20after4 abandoned D16101: DiffusionCommitTagsHeraldField.
Jun 18 2018, 4:44 PM

Jun 12 2018

20after4 awarded rPc5b13a6be3b7: Allow object subtypes to be changed via bulk editor a Love token.
Jun 12 2018, 11:30 PM
20after4 requested review of D19493: Add a --limit argument to the `workers` management cli..
Jun 12 2018, 11:05 PM

Mar 17 2018

20after4 awarded T13103: Document favicon customization and validate the "ui.favicons" configuration option a Love token.
Mar 17 2018, 1:29 AM · Files, Aphront, Infrastructure

Jan 6 2018

cspeckmim awarded Changelog a Mountain of Wealth token.
Jan 6 2018, 4:47 PM

Dec 24 2017

20after4 added a comment to D18836: Prevent hiding the PhabricatorProjectDetailsProfileMenuItem.

@epriestley: Thanks! Hope you're having a great holiday weekend :)

Dec 24 2017, 6:32 PM

Dec 23 2017

epriestley awarded T13033: Disabling both "Workboard" and "Project Details" causes project's /tag/ProjectName url to fatal a Hungry Hippo token.
Dec 23 2017, 4:32 PM · Profile Menu Item, Projects

Dec 22 2017

20after4 added a comment to T13033: Disabling both "Workboard" and "Project Details" causes project's /tag/ProjectName url to fatal.

D18836 probably isn't the right solution, however, it's the only straightforward fix I could come up with. I didn't dig into the details of why it 404s when I fix the code in PhabricatorProjectViewController to avoid the fatal. The patch is probably good enough for Wikimedia, however, I'm not sure if it's good enough for upstream.

Dec 22 2017, 3:26 PM · Profile Menu Item, Projects
20after4 requested review of D18836: Prevent hiding the PhabricatorProjectDetailsProfileMenuItem.
Dec 22 2017, 3:25 PM
20after4 added projects to T13033: Disabling both "Workboard" and "Project Details" causes project's /tag/ProjectName url to fatal: Projects, Profile Menu Item.
Dec 22 2017, 3:10 PM · Profile Menu Item, Projects
20after4 added a comment to T10667: Improve ambiguity when resolving commits that appear in multiple repositories.

Another approach that might make sense would be to highlight the hash and then show a hovercard which lists the commits with that hash. Of course this wouldn't scale too far but it should handle the case where 2 or 3 commits have the same hash.

Dec 22 2017, 1:17 PM · Diffusion (v3)
20after4 added a comment to T13033: Disabling both "Workboard" and "Project Details" causes project's /tag/ProjectName url to fatal.

I tried to work around the immediate fatal by checking the return value of $engine->getDefaultItem() in PhabricatorProjectViewController, however, that resulted in hitting a 404 so it's a bit deeper of an issue. Perhaps the right solution is to prevent users from disabling both of the default items in the project "manage menu" UI?

Dec 22 2017, 9:04 AM · Profile Menu Item, Projects
20after4 updated the task description for T13033: Disabling both "Workboard" and "Project Details" causes project's /tag/ProjectName url to fatal.
Dec 22 2017, 8:56 AM · Profile Menu Item, Projects
20after4 renamed T13033: Disabling both "Workboard" and "Project Details" causes project's /tag/ProjectName url to fatal from Disabling both orkboard" and "Project Details" to Disabling both "Workboard" and "Project Details" causes project's /tag/ProjectName url to fatal.
Dec 22 2017, 8:55 AM · Profile Menu Item, Projects
20after4 created T13033: Disabling both "Workboard" and "Project Details" causes project's /tag/ProjectName url to fatal.
Dec 22 2017, 8:54 AM · Profile Menu Item, Projects

Dec 13 2017

20after4 added a comment to T4369: Phabricator HTTP repository hosting has fairly severe scalability limits.

I don't see any easy way to cheat through $_FILES, though. We could remove it, but we have a nonzero number of users who compile their own copy of Linux and use a window manager that doesn't support drag and drop and disable Javascript and don't believe a monitor should ever have more than 256 colors, so that would leave them out to dry. The conversion also isn't trivial, so even if we want to move in this direction eventually I think it's a significant scope expansion over just building a synthetic $_FILES.

Dec 13 2017, 11:50 AM · Diffusion (v3), Restricted Project

Nov 29 2017

20after4 updated subscribers of T9805: XHProf will not build on PHP7.
Nov 29 2017, 6:50 PM · XHProf
20after4 added a watcher for Calendar: 20after4.
Nov 29 2017, 6:31 AM

Nov 14 2017

20after4 committed rPa1f12b4ac7af: Specify a null behavior for the callsign sort column. (authored by 20after4).
Specify a null behavior for the callsign sort column.
Nov 14 2017, 11:16 PM
20after4 closed D18773: Specify a null behavior for the callsign sort column..
Nov 14 2017, 11:16 PM
20after4 added a comment to D18773: Specify a null behavior for the callsign sort column..

@epriestley: Sweet, thanks! landing...

Nov 14 2017, 11:15 PM
20after4 requested review of D18773: Specify a null behavior for the callsign sort column..
Nov 14 2017, 11:14 PM

Oct 9 2017

20after4 awarded T13000: Sustained MySQL I/O overwhelmed db009 / huge Ferret engine ngrams table a Baby Tequila token.
Oct 9 2017, 1:10 AM · Ops, Phacility

Sep 26 2017

20after4 abandoned D18636: Add the repository name to revisions in Differential list view..

@epriestley I have no problem patching it locally (already have) it just seemed like an obvious thing to show on the differential screen. If it's not wanted upstream then it's no sweat off my back :)

Sep 26 2017, 9:16 AM

Sep 23 2017

20after4 updated the test plan for D18636: Add the repository name to revisions in Differential list view..
Sep 23 2017, 7:55 AM

Sep 22 2017

20after4 created D18636: Add the repository name to revisions in Differential list view..
Sep 22 2017, 9:04 PM

Sep 6 2017

20after4 awarded T12819: InnoDB FULLTEXT appears to fail catastrophically once it reaches a moderate size a Party Time token.
Sep 6 2017, 3:51 PM · Restricted Project, Search

Sep 1 2017

20after4 added a comment to rP72cb3d3c8490: Limit the damage that degenerate project name typeahead queries can cause.

This query is always always driven by MySQL whether ElasticSearch is configured or not (and never served by any FULLTEXT engine), so I would not expect moving to ElasticSearch to have any effect here.

Sep 1 2017, 6:51 PM
20after4 awarded rP72cb3d3c8490: Limit the damage that degenerate project name typeahead queries can cause a Like token.
Sep 1 2017, 6:13 PM
20after4 added a comment to rP72cb3d3c8490: Limit the damage that degenerate project name typeahead queries can cause.

FWIW we ran into this problem at wikimedia. In fact, I think it was the thing that killed innodb enough times to motivate us to move to elasticsearch. Elastic handles whatever you throw at it.

Sep 1 2017, 6:13 PM
20after4 awarded D18513: Separate fulltext engine extensions into "enrich" and "index" phases a Like token.
Sep 1 2017, 6:11 PM

Aug 30 2017

20after4 awarded rPf97157e7edb1: Build a prototype fulltext engine ("Ferret") using only basic MySQL primitives a Like token.
Aug 30 2017, 1:12 PM
20after4 added a comment to T12965: When no "master" database is configured, the ElasticSearch setup check can fatal.

Whoops this is probably my bad :-/

Aug 30 2017, 1:07 PM · Database, Clusters, Search

Aug 10 2017

20after4 awarded T12956: Upgrade saved queries in ApplicationSearch to use a "personal" + "global/default" model, like the home menu a Like token.
Aug 10 2017, 11:48 PM · ApplicationSearch

Jul 18 2017

20after4 added a comment to T12819: InnoDB FULLTEXT appears to fail catastrophically once it reaches a moderate size.

For phabricator.wikimedia.org, we decided to go with elasticsearch, partially because we already have a massive elasticsearch cluster and a lot of institutional elasticsearch knowledge / experience. My opinion is that we made the right choice. I believe this opinion is shared by most of the folks who use our phabricator on a daily basis. I've seen zero complaints about search since we made the switch, which is a huge improvement from what I saw with mysql FTS. Conclusion: Elasticsearch seems to perform well and the results are generally better (obviously this is subjective, but like I said, no complaints from users)

Jul 18 2017, 1:55 AM · Restricted Project, Search
20after4 accepted D18230: Fix Search Application Config.

looks good to me and confirmed to work by testing locally on my test instance running upstream master branch.

Jul 18 2017, 1:30 AM

Jul 13 2017

20after4 added a comment to T12896: It isn’t obvious when repository observation breaks.

We"solved" the problem with a small python daemon that pings repository_statusmessage.epoch every minute and calculates the delta. When these deltas surpass Phabricator's max delta (21,600 sec) we page the oncall. For repositories that are mission critical, we use a smaller value. It obviously isn't a perfect solution, but it gets the job done and it's been extremely stable.

Jul 13 2017, 7:34 PM · Diffusion, Feature Request
20after4 added a comment to T12909: Calendar ignores email preferences if a user is invited via a project.

I've seen complaints about this on phabricator.wikimedia.org as well, so I can confirm that this is an issue.

Jul 13 2017, 7:29 PM · Calendar, Bug Report

Jun 27 2017

20after4 awarded D18132: Let PhabricatorSearchCheckboxesField survive saved query data with mismatched types a Love token.
Jun 27 2017, 9:43 PM
20after4 added a comment to T12840: (maybe) bring back commit graphs in history.

doh! nice. I obviously need more coffee.

Jun 27 2017, 9:39 PM · Design, Diffusion
20after4 added a comment to T12840: (maybe) bring back commit graphs in history.

I know just maintaining the hooks is more work but certainly less than what's involved in maintaining the graph code.

Jun 27 2017, 9:38 PM · Design, Diffusion
20after4 added a comment to T12840: (maybe) bring back commit graphs in history.

Maybe provide some extension hook-points in diffusion so that the community can maintain the commit graph visualization as an extension?

Jun 27 2017, 9:37 PM · Design, Diffusion

Jun 20 2017

20after4 awarded T12855: In PHP7, "Throwable" and "Error" are exciting new exception classes a Baby Tequila token.
Jun 20 2017, 8:12 PM · Infrastructure
20after4 added a comment to T920: Provide SMS Support.

https://www.wired.com/2016/06/hey-stop-using-texts-two-factor-authentication/

Jun 20 2017, 7:44 AM · Restricted Project, Herald

Jun 18 2017

20after4 created D18132: Let PhabricatorSearchCheckboxesField survive saved query data with mismatched types.
Jun 18 2017, 8:16 AM
20after4 created T12851: The feed query '2HfUlTnoqZbw' causes an exception in PhabricatorSearchCheckboxesField.
Jun 18 2017, 8:14 AM · Feed, Bug Report

Jun 16 2017

20after4 added a comment to T12799: Consider an "API Utilities" application.

That does sound powerful. +1

Jun 16 2017, 8:41 AM · Conduit
20after4 awarded T11439: Retrieve Diff PHID via phid.lookup a Love token.
Jun 16 2017, 8:30 AM · Feature Request

Jun 14 2017

20after4 added a comment to T12799: Consider an "API Utilities" application.

I have spent a little time poking at code, trying to figure out how to build a simple template engine into the description field, so that you can reference hidden custom fields by {field-identifier} or similar from within the remarkup. I resigned myself to building something just like publish.php, where the descriptions are maintained via conduit, however, I still long for it to be built in.

Jun 14 2017, 3:14 PM · Conduit