{"push_id":1432398297,"size":464,"distinct_size":0,"ref":"refs/heads/packaging/stable/0004-unbundle-amazon-ses","head":"fa229d8f4e82f7b730859585beefee10cce98313","before":"907d3ecd5c421169df991ba8da1a63a07e9e06b7","commits":[{"sha":"99889a6321a75ad19de62ea5bb60b1f177ed0270","author":{"name":"epriestley","email":"5bf00c93c9250d44d769b81890fa6584403ae7e0@epriestley.com"},"message":"Execute Harbormaster buildable filtering properly from HarbormasterBuildSearchEngine\n\nSummary:\nRef T11473. When running `harbormaster.build.search` with a `buildables` constraint, the constraint doesn't get passed to the Query and so currently has no effect.\n\nThis piece of logic was just accidentally omitted from D16356. It is probably not used anywhere today and doesn't show up in the UI, so it's easy to overlook (I missed it in review, too).\n\nTest Plan: Ran `harbormaster.build.search` with a `buildables` constraint, got expected filtering.\n\nReviewers: yelirekim, chad\n\nReviewed By: chad\n\nSubscribers: PHID-OPKG-gm6ozazyms6q6i22gyam\n\nManiphest Tasks: T11473\n\nDifferential Revision: https://secure.phabricator.com/D16395","distinct":false,"url":"https://api.github.com/repos/kanarip/phabricator/commits/99889a6321a75ad19de62ea5bb60b1f177ed0270"},{"sha":"07082d28678c0604ce567ad5547318da42942d9a","author":{"name":"epriestley","email":"5bf00c93c9250d44d769b81890fa6584403ae7e0@epriestley.com"},"message":"Don't allow empty list constraints in Conduit calls\n\nSummary:\nRef T11473. If you write a method like `get_stuff(ids)` and then call it with an empty list of IDs, you can end up passing an empty constraint to Conduit.\n\nIf you run a `*.search` method with such a constraint, like this one:\n\n```\n{\n  \"ids\": []\n}\n```\n\n...we have three possible beahviors:\n\n  # Treat it like the user passed no constraint (basically, ignore the constraint).\n  # Respect the constraint (return no results).\n  # Error.\n\nCurrently, we do (1). However, this is pretty confusing and I think clearly the worst option, since it means `get_stuff(array())` in client code will often tend to return a ton of results.\n\nWe could do (2) instead, but this is also sort of confusing (it may not be obvious why nothing matched, even though it's an application bug) and I think most reasonable client code should be doing an `if ($ids)` test: this test makes clients a little more complicated, but they can save a network call, and I think they often need to do this test anyway (for example, to show the user a different message).\n\nThis implements (3), and just considers these to be errors: this is the least tricky behavior, it's consistent with what we do in PHP, makes fairly good sense, and the only cost for this is that client code may need to be slightly more complex, but this slightly more complex code is usually better code.\n\nTest Plan: Ran Conduit `*.search` queries with `\"ids\":[]` and `\"phids\":[]`, got sensible errors instead of runaway result sets.\n\nReviewers: chad\n\nReviewed By: chad\n\nManiphest Tasks: T11473\n\nDifferential Revision: https://secure.phabricator.com/D16396","distinct":false,"url":"https://api.github.com/repos/kanarip/phabricator/commits/07082d28678c0604ce567ad5547318da42942d9a"},{"sha":"8c4122662465215de5d81699d28821ee04d3e6a3","author":{"name":"epriestley","email":"5bf00c93c9250d44d769b81890fa6584403ae7e0@epriestley.com"},"message":"Survive receipt of too much workboard column position information\n\nSummary:\nFixes T11468. I was able to find //a// reproduction case for the issue, at least, described in my comments there.\n\nWhen the server sends back position information for columns we aren't displaying, for whatever reason, just ignore that information.\n\nFuture work in T4900 to do more synchronization may revisit this.\n\nTest Plan: See T11468#190177 for steps. Did that stuff with this patch, got a clean edit.\n\nReviewers: chad\n\nReviewed By: chad\n\nManiphest Tasks: T11468\n\nDifferential Revision: https://secure.phabricator.com/D16397","distinct":false,"url":"https://api.github.com/repos/kanarip/phabricator/commits/8c4122662465215de5d81699d28821ee04d3e6a3"},{"sha":"15021a0bcc919cea77c5a8b03188e09c6b20f0f5","author":{"name":"epriestley","email":"5bf00c93c9250d44d769b81890fa6584403ae7e0@epriestley.com"},"message":"Fix bad array index test in Differential package code\n\nSummary: This needs an `isset()` for cases when authority and packages don't completely overlap.\n\nTest Plan:\n  - With a package set to trigger autoreview, created a revision.\n  - Observed error log, saw no more error.\n  - Saw package trigger autoreview properly.\n\nReviewers: chad\n\nReviewed By: chad\n\nDifferential Revision: https://secure.phabricator.com/D16398","distinct":false,"url":"https://api.github.com/repos/kanarip/phabricator/commits/15021a0bcc919cea77c5a8b03188e09c6b20f0f5"},{"sha":"f50e550c9ea069a345ff3614802200120bf8316e","author":{"name":"Chad Little","email":"309b338a702206971e2989de6d1d8db3503bf8c3@phacility.com"},"message":"Correct various spelling errors\n\nSummary: Fixes T11477.\n\nTest Plan: Grep for Mulitple\n\nReviewers: epriestley\n\nReviewed By: epriestley\n\nSubscribers: Korvin\n\nManiphest Tasks: T11477\n\nDifferential Revision: https://secure.phabricator.com/D16399","distinct":false,"url":"https://api.github.com/repos/kanarip/phabricator/commits/f50e550c9ea069a345ff3614802200120bf8316e"},{"sha":"95cf83f14eadfab486a5129ee74c023c94fb541a","author":{"name":"epriestley","email":"5bf00c93c9250d44d769b81890fa6584403ae7e0@epriestley.com"},"message":"Convert some whiny exceptions into quiet MalformedRequest exceptions\n\nSummary:\nFixes T11480. This cleans up the error logs a little by quieting three common errors which are really malformed requests:\n\n  - The CSRF error happens when bots hit anything which does write checks.\n  - The \"wrong cookie domain\" errors happen when bots try to use the `security.alternate-file-domain` to browse stuff like `/auth/start/`.\n  - The \"no phcid\" errors happen when bots try to go through the login flow.\n\nAll of these are clearly communicated to human users, commonly encountered by bots, and not useful to log.\n\nI collapsed the `CSRFException` type into a standard malformed request exception, since nothing catches it and I can't really come up with a reason why anything would ever care.\n\nTest Plan:\nHit each error through some level of `curl -H ...` and/or fakery. Verified that they showed to users before/after, but no longer log.\n\nHit some other real errors, verified that they log.\n\nReviewers: chad\n\nReviewed By: chad\n\nManiphest Tasks: T11480\n\nDifferential Revision: https://secure.phabricator.com/D16402","distinct":false,"url":"https://api.github.com/repos/kanarip/phabricator/commits/95cf83f14eadfab486a5129ee74c023c94fb541a"},{"sha":"05f7227329d0c27cf092127b84faae7e4a1e4b16","author":{"name":"epriestley","email":"5bf00c93c9250d44d769b81890fa6584403ae7e0@epriestley.com"},"message":"Document how to manually close revisions\n\nSummary: Fixes T11484. These mechanisms aren't necessarily obvious and make sense to document here.\n\nTest Plan: Read documentation.\n\nReviewers: chad\n\nReviewed By: chad\n\nManiphest Tasks: T11484\n\nDifferential Revision: https://secure.phabricator.com/D16404","distinct":false,"url":"https://api.github.com/repos/kanarip/phabricator/commits/05f7227329d0c27cf092127b84faae7e4a1e4b16"},{"sha":"a35b03ac6ad99de93727a2662aa7ce3a8b7895cf","author":{"name":"epriestley","email":"5bf00c93c9250d44d769b81890fa6584403ae7e0@epriestley.com"},"message":"Update Preamble documentation for clusters with mixed request sources and loadbalancer chains\n\nSummary:\nFixes T11487. Improve documentation for three situations:\n\n  - When you configure a cluster behind a load balancer, all requests are trusted but not all have an \"X-Forwarded-For\" header. Change the suggested snippet to read this header only if it exists.\n  - When a request goes through a series of load balancers (as with a CDN) they can end up writing a list of IPs to the header. Parse these.\n  - Remove the \"rate limiting\" stuff -- this got disabled/removed a long time ago and is misleading/incorrect.\n\nTest Plan: Read documentation.\n\nReviewers: chad\n\nReviewed By: chad\n\nManiphest Tasks: T11487\n\nDifferential Revision: https://secure.phabricator.com/D16403","distinct":false,"url":"https://api.github.com/repos/kanarip/phabricator/commits/a35b03ac6ad99de93727a2662aa7ce3a8b7895cf"},{"sha":"f46cf99274d117e6e9d81b6253a2b13eb93192de","author":{"name":"epriestley","email":"5bf00c93c9250d44d769b81890fa6584403ae7e0@epriestley.com"},"message":"Fix a typo in \"Internationalization\" documentation\n\nSummary: Caught this while linking to it from D16405.\n\nTest Plan: Consulted a dictionary.\n\nReviewers: chad, alexmv\n\nReviewed By: alexmv\n\nDifferential Revision: https://secure.phabricator.com/D16406","distinct":false,"url":"https://api.github.com/repos/kanarip/phabricator/commits/f46cf99274d117e6e9d81b6253a2b13eb93192de"},{"sha":"f659b8743a019ed3647454d1609dbc1d9ee27394","author":{"name":"epriestley","email":"5bf00c93c9250d44d769b81890fa6584403ae7e0@epriestley.com"},"message":"Fix Herald test adapter for commits\n\nSummary:\nFixes T11488. I broke this in D16360, I think by doing a little extra refactoring after testing it.\n\nThis code is very old, before commits always needed to have repositories attached in order to do policy checks.\n\nModernize it by mostly just using the repository which is present on the Commit object, and using the existing edge cache.\n\nTest Plan: Ran a commit through the Herald test adapter.\n\nReviewers: chad\n\nReviewed By: chad\n\nManiphest Tasks: T11488\n\nDifferential Revision: https://secure.phabricator.com/D16413","distinct":false,"url":"https://api.github.com/repos/kanarip/phabricator/commits/f659b8743a019ed3647454d1609dbc1d9ee27394"},{"sha":"37b8ec5bb73eedb1820da27e39944941039eef2e","author":{"name":"epriestley","email":"5bf00c93c9250d44d769b81890fa6584403ae7e0@epriestley.com"},"message":"Provide an \"--output\" mode for \"bin/storage dump\" with better error handling\n\nSummary:\nRef T6996. If you do this kind of thing in the shell, you don't get a good error by default if the `dump` command fails:\n\n```\n$ bin/storage dump | gzip > output.sql.gz\n```\n\nThis can be worked around with some elaborate bash tricks, but they're really clunky and uninintuitive.\n\nWe also need to do this in several places (while writing backups; while performing exports), and I don't want to copy clunky bash tricks all over the codebase.\n\nInstead, provide `--output` and `--compress` flags which just do this processing inside `bin/storage dump`. It will fail appropriately if any of the underlying operations fail. This also makes the write a little safer (refuses to overwrite) and the code more reusable.\n\nTest Plan:\n  - Did three dumps, with no flags, `--output`, and `--output --compress`.\n  - Verified all three took similar amounts of time and were identical except for \"Date Exported\" timestamps in comments (except that the compressed one was compressed).\n  - Used `gunzip` to examine the compressed one, verified it was really compressed.\n  - Faked a write error, saw properly command behavior (clean up file + exit with error).\n\nReviewers: chad\n\nReviewed By: chad\n\nManiphest Tasks: T6996\n\nDifferential Revision: https://secure.phabricator.com/D16407","distinct":false,"url":"https://api.github.com/repos/kanarip/phabricator/commits/37b8ec5bb73eedb1820da27e39944941039eef2e"},{"sha":"2c5b1dc20a6bd0ba593237dc430585e9a5827b8a","author":{"name":"epriestley","email":"5bf00c93c9250d44d769b81890fa6584403ae7e0@epriestley.com"},"message":"Provide \"--output\" flags for \"bin/storage renamespace\"\n\nSummary:\nRef T6996. Depends on D16407. This does the same stuff as D16407, but for `bin/storage renamespace`. In particular:\n\n  - Support writing directly to a file (so we can get good errors on failure).\n  - Support in-process compression.\n\nAlso add support for reading out of a `storage dump` subprocess, so we don't have to do a dump-to-disk + renamespace + compress dance and can just stream out of MySQL directly to a compressed file on disk.\n\nThis is used in the second stage of instance exports (see T7148).\n\nIt would be nice to share more code with `bin/storage dump`, and possibly to just make this a flag for it, although we still do need to do the file-based version when importing (vs exporting). I figured that was better left for another time.\n\nTest Plan:\nRan `bin/storage renamespace --live --output x --from A --to B --compress --overwrite` and similar commands.\n\nVerified that a compressed, renamespaced dump came out of the other end.\n\nReviewers: chad\n\nReviewed By: chad\n\nManiphest Tasks: T6996\n\nDifferential Revision: https://secure.phabricator.com/D16410","distinct":false,"url":"https://api.github.com/repos/kanarip/phabricator/commits/2c5b1dc20a6bd0ba593237dc430585e9a5827b8a"},{"sha":"94c746e1d67fcee8b181e34581552df02e7837ff","author":{"name":"Chad Little","email":"309b338a702206971e2989de6d1d8db3503bf8c3@phacility.com"},"message":"Rough in Guides Application\n\nSummary: Ref T11132, Ref T11478. Builds out a basic PHUICMSView and Guides Application, no content / modules.\n\nTest Plan: Go to /guides/, see blank states for new guides.\n\nReviewers: epriestley\n\nReviewed By: epriestley\n\nSubscribers: Korvin\n\nManiphest Tasks: T11132, T11478\n\nDifferential Revision: https://secure.phabricator.com/D16414","distinct":false,"url":"https://api.github.com/repos/kanarip/phabricator/commits/94c746e1d67fcee8b181e34581552df02e7837ff"},{"sha":"aba4366020b768d88ee1e3dbb411229fc15dc5be","author":{"name":"Chad Little","email":"309b338a702206971e2989de6d1d8db3503bf8c3@phacility.com"},"message":"Restrict aprhont-form-width to certain input types\n\nSummary: Fixes T11491, I believe these are the only two that need to be specified.\n\nTest Plan: Checked Create pages for diffs, tasks, projects, events, blogs, login, etc. Mobile/Desktop.\n\nReviewers: epriestley\n\nReviewed By: epriestley\n\nSubscribers: Korvin\n\nManiphest Tasks: T11491\n\nDifferential Revision: https://secure.phabricator.com/D16416","distinct":false,"url":"https://api.github.com/repos/kanarip/phabricator/commits/aba4366020b768d88ee1e3dbb411229fc15dc5be"},{"sha":"1cca7fbccef8a4ac5ab4b1a626dd4faad5fc5f16","author":{"name":"Chad Little","email":"309b338a702206971e2989de6d1d8db3503bf8c3@phacility.com"},"message":"Simplify PHUIObjectItemList a bit\n\nSummary: I don't think we use footicons, removing that CSS. States were added but only used in Auth, convert them to statusIcon instead.\n\nTest Plan: Visit Auth, UIExamples, grep for `setState`\n\nReviewers: epriestley\n\nReviewed By: epriestley\n\nSubscribers: Korvin\n\nDifferential Revision: https://secure.phabricator.com/D16418","distinct":false,"url":"https://api.github.com/repos/kanarip/phabricator/commits/1cca7fbccef8a4ac5ab4b1a626dd4faad5fc5f16"},{"sha":"1ecce605890c94b2d2bb7a6b6d534a4635ffd690","author":{"name":"epriestley","email":"5bf00c93c9250d44d769b81890fa6584403ae7e0@epriestley.com"},"message":"Keep setIcon() working for now on PHUIObjectItemView\n\nSummary:\nRef T11501. This method was removed in D16418, but still has some callsites. I know of four:\n\n  - Config\n  - Settings\n  - Drydock main page\n  - Almanac main page\n\nSince I might be missing some and it's close to the release cut, just put the method back for now until we can clean it up more properly.\n\nTest Plan: Viewed Settings, Config, Drydock, Almanac. No more fatal on this method being missing.\n\nReviewers: chad\n\nReviewed By: chad\n\nManiphest Tasks: T11501\n\nDifferential Revision: https://secure.phabricator.com/D16420","distinct":false,"url":"https://api.github.com/repos/kanarip/phabricator/commits/1ecce605890c94b2d2bb7a6b6d534a4635ffd690"},{"sha":"e7aa874f5eba4757bf007dfab010b9fbcf375e5c","author":{"name":"Chad Little","email":"309b338a702206971e2989de6d1d8db3503bf8c3@phacility.com"},"message":"Fix getIcon calls in PHUIObjectListItem\n\nSummary: Fixes T11501. Let's you pass in a full PHUIIconView or just the icon name to give ObjectListItem a large icon.\n\nTest Plan: Alamanac, Applications, Drydock, Settings, Search Typeahead, Config page...\n\nReviewers: epriestley\n\nReviewed By: epriestley\n\nSubscribers: Korvin, PHID-OPKG-gm6ozazyms6q6i22gyam\n\nManiphest Tasks: T11501\n\nDifferential Revision: https://secure.phabricator.com/D16421","distinct":false,"url":"https://api.github.com/repos/kanarip/phabricator/commits/e7aa874f5eba4757bf007dfab010b9fbcf375e5c"},{"sha":"4d175ac709702851eb15965f356e1bffe6dc3dae","author":{"name":"epriestley","email":"5bf00c93c9250d44d769b81890fa6584403ae7e0@epriestley.com"},"message":"Simplify how tag lists manage their handles\n\nSummary: Fixes T11493. This code is a little bit weird/clever, simplify it so that we always cast the handles to an array early on.\n\nTest Plan: {F1767668}\n\nReviewers: chad\n\nReviewed By: chad\n\nManiphest Tasks: T11493\n\nDifferential Revision: https://secure.phabricator.com/D16422","distinct":false,"url":"https://api.github.com/repos/kanarip/phabricator/commits/4d175ac709702851eb15965f356e1bffe6dc3dae"},{"sha":"3bd0da0ec24315d8a029d8c3086c37fcb829e922","author":{"name":"epriestley","email":"5bf00c93c9250d44d769b81890fa6584403ae7e0@epriestley.com"},"message":"Add a missing table key to improve performance of \"Recently Completed Tasks\" query\n\nSummary:\nFixes T11490. Currently, this query can not use a key and the table size may be quite large.\n\nAdjust the query so it can use a key for both selection and ordering, and add that key.\n\nTest Plan: Ran `EXPLAIN` on the old query in production, then added the key and ran `EXPLAIN` on the new query. Saw key in use, and \"rows\" examined drop from 29,273 to 15.\n\nReviewers: chad\n\nReviewed By: chad\n\nManiphest Tasks: T11490\n\nDifferential Revision: https://secure.phabricator.com/D16423","distinct":false,"url":"https://api.github.com/repos/kanarip/phabricator/commits/3bd0da0ec24315d8a029d8c3086c37fcb829e922"},{"sha":"f379858874a3336dc36cc8b7e77b0d0b698b2fff","author":{"name":"Chad Little","email":"309b338a702206971e2989de6d1d8db3503bf8c3@phacility.com"},"message":"Add setBackground to PHUIIconView\n\nSummary: Ref T11132. Adds a background color option to PHUIIconView, for use whereever, and NUX. Also normalize icon placement for mixed image/icon result list.\n\nTest Plan: Test in UIExamples, and Global Settings.\n\nReviewers: epriestley\n\nReviewed By: epriestley\n\nSubscribers: Korvin\n\nManiphest Tasks: T11132\n\nDifferential Revision: https://secure.phabricator.com/D16424","distinct":false,"url":"https://api.github.com/repos/kanarip/phabricator/commits/f379858874a3336dc36cc8b7e77b0d0b698b2fff"}]}
{"actor":{"display_login":"kanarip"}}