Over the years (since 2015) of maintaining Wikimedia's fork of Phabricator, I made numerous small changes which weren't upstreamed. Anything that seemed obviously general was upstreamed but most things were not. Many of these patches are specific to Wikimedia's use of Phabricator, however, there are likely to be some useful things that should find their way into Phorge.
One potential situation is patches where upstream Phabricator developers specifically objected to the change but where perhaps the Phorge community has a different opinion, more in line with Wikimedia's perspective than with Phabricator. I don't know if this will be the case but some of the changes might be worth at least considering.
For starters I intend to go through the list (P3) and identify anything that I feel would be potentially useful, then for each promising patch I'll either propose a new differential revision against phorge or I'll ask via other communication channels to seek feedback from the community.
Full list of Wikimedia patches:
1 | 67d87426e1de (HEAD -> wmf/stable, tag: release/2022-02-03/1, origin/wmf/stable) Don't show default status icon on workboard cards (fixes T297249) |
---|---|
2 | 4f4cae8e183d Limit task merges to 5 tasks per transaction (fixes T298063) |
3 | ebfe30890b52 Add column sequence to the conduit api results for column.search |
4 | 00b4ad5fac93 add task phid to the response in ManiphestProjectTaskTransactionsConduitAPIMethod |
5 | dd7aec132de3 Fix links to task search by age from the project reports page |
6 | a7121afcbfaa Add status icons to workboard tiles. |
7 | 44a94dc04b3f Fix validation of "column" transaction type in "maniphest.edit" |
8 | c0b503779bde Add status and isDefaultColumn to the project.column.search api |
9 | 10b91709c37f (tag: release/2021-07-14/1, tag: release/2021-06-23/1, ProjectTaskTransactionsConduitApiMethod) add ManiphestProjectTaskTransactionsConduitAPIMethod for #DataDataData |
10 | 8a6a445c1608 (origin/T284397, T284397) Debug T284397 |
11 | f2fd14dc1ede Add metadata to the gettasktransactions conduit method response |
12 | 5e1ebc4d23e4 change mode to match production |
13 | f75c9e53e9bf Revert "WMF Hack: Prompt to replace auth factors from before August 2019" |
14 | 7246e8ae7d1e Updated login sprite sheet |
15 | c9c815f08005 Fix hidden top-border on task type badges |
16 | 0f94052396d1 New MediaWiki logo for the icon that represents the MediaWiki oauth provider. |
17 | 7e4f4b7a03d3 Fix miscount of age histogram and add links to date range search |
18 | 56f00f7e0213 Project Metrics - add links to search for specific columns. |
19 | 2d0f05fe0331 Update celerity map |
20 | 9082e93c588d Fix undefined index error in project.search conduit queries |
21 | 4fac3fde9539 (tag: release/2021-03-24/1) Improve labels for report bar chart. |
22 | 7d0aa6596286 Add more metrics to project reports |
23 | de1ec2c9e1dc Adds a countdown.create capability to limit countdown creation. |
24 | 4faa17d0a295 Fix isValidGitShallowCloneResponse |
25 | 7a26c53925e0 Revert "Fix isValidGitShallowCloneResponse" |
26 | 620fa0816bfc Fix isValidGitShallowCloneResponse |
27 | ff7025ef62e2 (ProjectMetricsCountOlderTasks) Show 'older' tasks on project metrics task age chart. |
28 | f3db55b19584 (gitlab/MetricsMergeRequest, MetricsMergeRequest) Mostly clean up code formatting |
29 | 26c7463ede27 Phabricator Project Reports |
30 | 2c93d69e42d2 Convert instances of PhutilSafeHTM to plain strings |
31 | 6826fb6bc09c (tag: release/2020-09-10/1) liberate |
32 | 4e9fe6e8a314 Conduit method for legalpad signatures |
33 | c7fd8fef1a48 Only add rawCorpus if there are ferret tokens |
34 | 9a28f5e683dd Ran arc liberate |
35 | 9d553b77d0f8 (tag: release/2020-06-25/1) Set cluster.search config option to unlocked |
36 | 16188b81fa84 add wikimedia extensions css file and compile with celerity |
37 | 8282af06e894 (tag: release/2020-05-14/1) Don't display user 'blurb' for disabled accounts. |
38 | 909fe0be8ef8 Use hasApplicationCapability instead of PhabricatorPolicyFilter::hasCapability |
39 | 1ff79a37e3a3 Require ProjectCreateProjectsCapability::CAPABILITY in order to archive projects |
40 | 042685bdf637 Allow milestone columns to be reordered. |
41 | 63c5e293cf0d WMF: expert-mode: show id field in maniphest search form |
42 | b3a61693ced4 Fix half-baked expert-mode code |
43 | e95157e39bf5 Show matching context from the document body in ferret search results |
44 | 82a0d4251ae6 (tag: release/2020-02-13/1) Don't escape the html of atom link tags |
45 | 1924c95c8e71 Ran `arc liberate` |
46 | 2148f5495c8d fixup the display of the subtype tag on task lists |
47 | 8a99d78f5b88 Move the construction of PhabricatorFulltextResultSet into the Fulltext Storage Engine |
48 | 9a65bc28eca2 (tag: release/2020-01-23/1) Escape quotes in elasticsearch queries |
49 | 2785d6a8b210 WMF Hack: Prompt to replace auth factors from before August 2019 |
50 | 60759f2ef9d5 PhabricatorSearchService::newResultSet should return PhabricatorFulltextResultSet |
51 | 3ed56bdd557d expert-mode: Always show phid fields in query forms |
52 | 3d33d1cceac7 Implement Atom/RSS discovery on Phame blog pages |
53 | f166f91d760f (tag: release/2019-12-19/1) update phutil library map (`arc liberate`) |
54 | c78732e954a4 rawurlencode the email address |
55 | efc7de14fe4a Add cc to mailto: links in maniphest. |
56 | 83f6b43ddff3 WMF Local hack: Add $viewer arg to newTagView() |
57 | aa43d3d745a3 Fix fatal exception in PhabricatorProjectListView |
58 | aeceaf96333e Work around rendering engine freeze in Chrome 77 affecting workboards |
59 | db569a45a8da Update library map - missing class PhabricatorWorkboardViewState |
60 | ce7e7da88f5b (tag: release/2019-08-14/1) Don't load subtype map if there are no subtype transactions. |
61 | f8b44b65514e (tag: release/2019-05-08/1) Added move_project script from upstream. |
62 | d7744d7e9bd0 Fix fatal in phab calendar |
63 | a54b3cd94e94 (tag: release/2019-03-20/1) git import: only match author identities when email is exact match |
64 | 2b3156af9a94 Show active subprojects before archived subprojects |
65 | e05b36986426 (tag: release/2019-02-27/1) Comply with upstream type hint by returning an array |
66 | 9a10d3e771be (stable) Fix URI construction of typeahead browse "more" pager |
67 | b1a26d919cb1 (tag: release/2019-02-20/1) Revert "Stop using _type (Elastic 6.0 support)" |
68 | 83e4d171aa07 Update celerity map, phutil library |
69 | 3feb2d96899e Phabricator, now with moar stroopwafels. |
70 | bba62cf52435 Hide the "hidden" fields on custom form previews |
71 | aec846f37b26 Fix the check for is_admin in LegalpadDocumentRequireSignatureTransaction |
72 | 0c864b875f67 Stop using _type (Elastic 6.0 support) |
73 | 6553a9dbb8a5 Fix merge error in 20180208.maniphest.02.populate.php |
74 | 8cbf206d35de (tag: release/2018-08-23/1, tag: release/2018-08-08/1, merge-upstream) Make 'open tasks' appear by default on project profile menus |
75 | 9191d4838278 Make "task type" and date-type custom fields work in herald. |
76 | 386b86fde376 Add content-security-policy header rule for commons.wikimedia.org |
77 | 3443ae549058 Fix spelling in config option refs T199848 |
78 | 5577304cd98d Remove 'include_in_all' for es6 compatibility. |
79 | 640c5beae64f Don't rate limit when the limit is set to zero. |
80 | 0716d5f927b3 (tag: release/2018-07-11/1) Whitelist connections rather than just zero-rating them |
81 | 49ad8413aec8 Whitelist WMF and WMDE office IPs from rate limiting |
82 | 034df81669a7 Add a hook for oauth providers to veto logins |
83 | 11134c1dbca0 Exempt bot users from rate limiting. |
84 | 62391947d489 unlock favicon config option |
85 | 5853b7357aa7 Add a --limit argument to the `workers` management cli |
86 | bed5db237689 Ignore refs/changes/**/**/meta |
87 | 447032e1dac6 Add alter table statements to the migration |
88 | ae334e4589a0 (tag: release/2018-04-12/1) Add custom task deadline display on workboard cards. |
89 | 3de500bfc845 (tag: release/2018-03-07/1) Include post publish date in phame atom feeds |
90 | f177f92217c2 (tag: release/2018-02-15/1) Remove 20180208.maniphest.01.close.sql, schema change already applied |
91 | 4ca0e44bf025 disable the 20180208.maniphest.02.populate.php migration |
92 | ecb8dbb02a88 (tag: release/2018-01-17/1) Lower the threshold for translations to be selectable in settings. |
93 | e90d8d56dd3e Push Log Garbage collector: Flatten array before passing to queryfx |
94 | 12b9d17b042f Only hide the login form if ldap is enabled. |
95 | 9d64cc2cb00a Prevent hiding the PhabricatorProjectDetailsProfileMenuItem |
96 | e336f8547c9f Push logs: Only show IPs to admins and account owners. |
97 | 3f8570e7a114 Adds a Garbage collector for Push Events and associated Push Logs. |
98 | 10c7e1139996 -isAdmin() +getIsAdmin() |
99 | 697a557d61ea Obfuscate the last 3 octets in push log. |
100 | 40d2742518cb Remove the distracting tableflip figlet from log messages. |
101 | a9613b44b70c Remove function_score from query |
102 | 62d1fa986be4 Allow callsign to be null in PhabricatorRepositoryQuery |
103 | c7e72b6c2462 (optimization) Remove extensions/ directory |
104 | 96701c4546bd Hide the LDAP login form by default, click to show |
105 | e374b1a5a50a Boost recent documents in search results |
106 | d606822dcce0 Fix the shouldHideByDefault hack |
107 | 893664bd44b8 EditEngine: 'Duplicate Form' action to create new forms from existing config. |
108 | 1a265de83e15 Change default field visibility to hidden |
109 | 6b116698ce9b Add the repository name to revisions in Differential list view. |
110 | 63ae55ee918a Run DiffusionRepositoryExtension hooks before canonical redirects |
111 | 853a5e1d409a Add support for DiffusionRepositoryExtension so we can support go-get in diffusion. |
112 | 52329ae09031 Slightly more printer-friendly css. |
113 | 89d7b6631f26 Add goat token |
114 | 25a70c827bdf Fix Undefined class constant |
115 | 970258dcf56d Support allow PHURL tags to use dash |
116 | 6baa99f72fa7 (arcpatch-D716) Lower number of MetaMTA failures from 250 to 100 |
117 | e7135d411890 Add back support for CustomGithubDownloadLinks |
118 | 7045f9808ddc call setobject before shouldEnableForRole |
119 | 51e0045c4506 Catch exception from invalid URIs passed to PhutilURI |
120 | cfd6daf92077 Check for empty array in PhabricatorCalendarNotificationEngine::sendNotifications |
121 | 678062f1826f Add support for embedding videos from commons into remarkup |
122 | 8ad46e71239e initialize $phids to an empty array |
123 | 6a477423d7c6 Key the array on PHID |
124 | 656366f289d3 Make search highlights work with upstream changes |
125 | 1c30be2d664a Make sure that content returned by elasticsearch is properly escaped |
126 | e5b9e045f3d5 More subtle styling of the highlighted search result matches |
127 | 8b86c654a125 highlight search. |
128 | 3af2dd4d1994 (T8285) Don't apply offset to elasticsearch query |
129 | 0b997aa85c0d fresh celery |
130 | a8c393225646 Add highlighting support to Elasticsearch fulltext engine |
131 | 673bcdbd5ac4 Remove unused PhabricatorFulltextStorageEngineAggregate |
132 | 4ce052861c52 Make sure writes go to the right cluster |
133 | d63dd2b53d78 Don't use $future->write but do set the content-type |
134 | d9ad6be053cf Set content-type to application/json |
135 | 4313f1c06e19 Support multiple fulltext search clusters with 'cluster.search' config |
136 | 55e49eb2d5ad Make setService compatible with superclass method. |
137 | 58ae2dfbf6b5 Support multiple fulltext search clusters with 'cluster.search' config |
138 | 178a5478e4f5 Sync with upstream 'fulltext search cluster' patch |
139 | f57d4cf81cc3 Support multiple fulltext search clusters with 'cluster.search' config |
140 | 29501cfafaae Support multiple fulltext search clusters with 'cluster.search' config |
141 | da151e516dd0 Add missing class PhabricatorProfileMenuItem to __phutil_library_map__.php |
142 | d2f8fe6e4e79 Fix setup warning on elasticsearch 5.0 |
143 | 02002ff59b58 Make search.elastic.version an int not a string |
144 | 56e10336461f Add a domain whitelist to Phurl |
145 | c0a409290f44 Use #events instead of #general-events |
146 | c3b85644a29d Filter default calendar views by #general-events project. |
147 | 0f04f9dc3b32 more fulltext changes |
148 | cd85f6cc7ba6 WIP: Refactoring the fulltext storage engine interface. |
149 | c517fa37615b WIP: Refactoring the fulltext storage engine interface. |
150 | ae2da20fa6c4 (arcpatch-D553) Add missing setViewer call in macro |
151 | b6fb2c21dd06 More improvements to the elasticsearch storage engine |
152 | 659b5d7ccad5 Clean up "reorder" permissions in MenuEngine for personal favorites |
153 | 9ed2913e75b4 Prevent requesting too many records from elasticsearch. |
154 | b09975a8d70d Fix wrong variable name in PhabricatorProjectProfileMenuEngine |
155 | 56caf6f92f7e Strip array keys before sending field list to elasticsearch |
156 | d3017c715db2 Fix undefined PANELKEY const |
157 | 2b7ac61da43a add back some debug logging :) |
158 | 27ff9966d309 check user setting before global config. |
159 | 4252f2af7ab3 remove more debug logging. |
160 | 4ba9d95bc22f remove phlog() debugging |
161 | ba74ee9373a6 (origin/elastic) Add loadEngineForViewer to PhabricatorFulltextStorageEngine |
162 | 36e31cf986b8 Fixed up the query builder. |
163 | 37e755fe9180 working towards a competent elasticsearch backend |
164 | 3eb1f5841bef Remove Edit Maniphest Tasks from diffusion |
165 | f85036a1f2f6 Fix fatal with custom github links |
166 | d8dd5f4b71ea Don't fail when all almanac cluster services are closed |
167 | 1c6e4523c8e1 patch to unstem queries |
168 | 29691f5c9b87 Elasticsearch query optimization + profiling |
169 | bac71ddaca47 Separate config key 'search.elastic.enabled' |
170 | a947b022d7d7 Drasticly improve performance when importing large repos |
171 | 12fb4697478a WmfConfigSource moved to extensions rPHEX |
172 | e4912a175b12 putenv not setenv |
173 | 092f06197951 Revert "WmfConfigSource: Attempt to load a readable config file in all cases" |
174 | 2ecf79b4ea31 use wmf colors on notification favicons |
175 | 8dea3b34df79 set PHABRICATOR_ENV=phd in commit hook |
176 | b88502e7c3f2 WmfConfigSource: Attempt to load a readable config file in all cases |
177 | c55f5d5c059a (stable) Make project token sorting and normalization a little less hacky |
178 | ea163216b0dc (stable) Fix an EditEngine issue with unlocking fields which can't be locked |
179 | ece5ade0643c Revert "Hotfix "Undefined variable: field" in PhabricatorEditEngineConfiguration" |
180 | 225400ae55af make file mode match the mode puppet enforces |
181 | 9dff87c5e252 Hotfix "Undefined variable: field" in PhabricatorEditEngineConfiguration |
182 | b5bcd9123b50 doh! fix syntax error |
183 | 34fe4154d403 Include the PHABRICATOR_ENV in ssh auth scripts |
184 | 9e9b2d958736 Hotfix: limit project_datasourcetoken joins to 5 tokens |
185 | b88caa1a9e1b Revert "Use persistent connections to mysql" |
186 | f38f9e13fd69 Infrastructure to support https://gerrit.wikimedia.org/r/#/c/321654/ |
187 | 41a7167f9cfb WmfConfigSource - load environment-specific json configs |
188 | fcbcc249d694 Use persistent connections to mysql |
189 | 8f7341ee603d remove PortStemmer. |
190 | 902ade9eba61 Filter search input that innodb doesn't like |
191 | 2393fdb13e12 Change permission on scripts to match production |
192 | ab7ec99e899e Fix InnoDB Fulltext Search: Prepend + to each word in the query |
193 | dbc2ad3debdf Fix error in AphrontFormDateControl |
194 | f477ca9bc79c Fix searching for one letter or one number in elasticsearch |
195 | 1a9be39e825e Fix support for elasticsearch 2 |
196 | 242a102bcd9b Fix missing $version variable declaration |
197 | 5347029702ef Supports any value higher then 2 for indexExists to work |
198 | af4367086d9a Add support for elasticsearch 2 |
199 | 702bd656d640 Add accesskey="F" to the search menu |
200 | 1667c5b2bf9f (arcpatch-D367) Expose the field text to maniphest advanced search again |
201 | bf75469a3427 Check for empty output from git ls-tree |
202 | 3d1f1a8324b3 Fix Argument 4 passed to ManiphestTaskDetailController::buildPropertyView() must be of the type array |
203 | 023824c30a6b Revert "beautify repository search result view" |
204 | 2f26eb10330f Revert "Fix inconsistent behavior in calendar recurrence sequence, add sequence nav buttons" |
205 | 41c8bb0cec69 add needed config entry metamta.can-suppress-mail |
206 | 8b7abb141a18 Support suppressing email from select users. |
207 | b842155d5e00 Increase the number of tags shown for each task in ManiphestTaskListView. |
208 | acb736547c65 Don't show commits twice in task details. |
209 | cf12fdf248df Fall back to parent tasks / subtasks when the task graph is big |
210 | 21f5f3dae953 For now, hard limit task graph at 100 nodes |
211 | a1304fc3756c Include more projects on user profiles |
212 | 9f143f8321b9 (arcpatch-D16243) Ensure files live as long as intended. |
213 | de19094b2d61 Updated built-in project profile icons. |
214 | 6a8722f2da78 return uri object |
215 | be4e3a33a57f Prefer returning a http uri from getCloneURIObject |
216 | 54c0674cd613 (stable) Fix a flipped higlight vs no-highlight condition |
217 | a49ab149303b (stable) Fix an XSS issue where Diffusion files exceeding the highlighting byte limit were not properly escaped |
218 | e172510f5759 Wrap really long text properly in diffs |
219 | ff38787beb5c Fix inconsistent behavior in calendar recurrence sequence, add sequence nav buttons |
220 | 4806bb240cdb add callsign to arcconfig |
221 | 3effc90afa31 Blacklist refs/cache-automerge, refs/notes and refs/drafts |
222 | bf7eb8a42d64 (arcpatch-D260) Add support for parsing refs/meta/ and refs/drafts/ |
223 | d29badbfc756 beautify repository search result view |
224 | f4099e2a9465 fix lint errors |
225 | 4445f9afbd2f Fix refs/changes/ not being parsed |
226 | 8167171f191b Fix typo |
227 | 152da2d872c8 This adds support for downloading from our github mirror. |
228 | 487c8db620fc Load PhabricatorMilestoneNavProfilePanel on milestone projects |
229 | 72b2dc1ef0b6 Add more repository details to harbormaster build steps |
230 | 6982a924cd5c fix capitalized Header function call |
231 | 190e2a1381c4 adjust default arcanist revision base rules |
232 | dd7856c0e116 (arcpatch-D231) Improve differential tabs |
233 | ecb85c8350fc Use monospace font in diffusion readme views |
234 | 9b4555cc69fe Prevent sending a header with unsafe characters [\r\n\0] |
235 | 44d190713781 allow tracking refs/changes |
236 | 46edd075aeae Don't autoclose refs/changes/ |
237 | 2641d271ea41 Add support for importing refs other than branches/tags |
238 | 6b9b0cc5b26a Fix diffusion raw file view for php files. |
239 | d04c16c61b61 remove phlog |
240 | 586aaa547ade add html+data for feed.query conduit api |
241 | 8ebb261f4cbe Cleaner hack for DiffusionCommitController |
242 | 0f5d5e87b5c7 [wmf] Add a barnstar and a cookie token to tokens spritesheet |
243 | 7e295c76ba26 hotfix D15306 |
244 | 55ed8751cebc wmf hack hide acl* projects on user profiles. |
245 | 3e7c0d806ccf Improve subproject/milestone error handling for users who can't create projects |
246 | 9d372ca91f49 ran arc liberate |
247 | cde0b9958ede Revert "[PATCH] Allow assigning users other than oneself when closing owner-less tasks" |
248 | c0dda189f69c [PATCH] Allow assigning users other than oneself when closing owner-less tasks |
249 | e0da181aface Add a bunch of apps and expensive URLs to robots.txt exclusion |
250 | 482c9869b428 add /files/ to robots.txt exclusion |
251 | ee4be9c73d54 Add /multimeter/ to robots.txt exclusion |
252 | 2a4583d38715 Support custom fields in diffusion commit property views. |
253 | 2d2788ef94c2 WMF local hotfix for float:left bug in phabricator redesign-2015 |
254 | da55dd0355ac update celerity map |
255 | d0f6b1450c21 wikimedia logo |
256 | 2dad469eca22 Add hard stops on empty batch edit sets |
257 | c944d47e6a0b Add wikimedia logo for phabricator |
258 | 67178ef83c3d Allow different policy rules for different types of objects |
259 | cace777ba0db Fail gracefully on bad API call when building commit mail |
260 | 85c4c54a2122 Hide email addresses on tasks submitted via email |
261 | 032e5f82ac81 Custom calendar icons. |
262 | b07d0d4db87f Custom favicon for phabricator.wikimedia.org |
Feel free to highlight other rows / create more sub-tasks.
We encourage the downstream discussion (https://phabricator.wikimedia.org/T333885) to participate here.