{"push_id":2326691608,"size":103,"distinct_size":24,"ref":"refs/heads/212","head":"d985bc285bb15547e10d9b5dae3c81ca1e4a64be","before":"bd3fe6e155300551f6fbc612628b1397bbbabef4","commits":[{"sha":"e82564c82cbd0307da8b636ef8bd7c03762741f1","author":{"name":"Brock Whittaker","email":"224a39b6cd589bd0c97be64c29fda0e05e92018c@zulipchat.com"},"message":"dark-mode: Fix bug with open graph previews.\n\nThis fixes a bug where the open graph preview bottom fade is dark\nrather than white when not in dark mode, which results in a heavy\ndark faded line at the bottom of the description.","distinct":false,"url":"https://api.github.com/repos/roberthoenig/zulip/commits/e82564c82cbd0307da8b636ef8bd7c03762741f1"},{"sha":"537203102a78ffe340926fbae5288672b383df6c","author":{"name":"Robert Hönig","email":"50b3ee141ef7948aba4389e86128912d4598beee@gmail.com"},"message":"api tests: Update remove-subscriptions fixture.\n\nThe remove-subscriptions API client response\nchanged with python-zulip-api:67cdb6f","distinct":false,"url":"https://api.github.com/repos/roberthoenig/zulip/commits/537203102a78ffe340926fbae5288672b383df6c"},{"sha":"9e70026741e86665523db220e80f97043c0d2208","author":{"name":"Greg Price","email":"8952803a140aef085feef90060e9454201c5d910@zulipchat.com"},"message":"settings: Slightly clarify LDAP setup docs.\n\nThere's kind of a lot of prose in this LDAP section; and empirically\nthis bit about zulip-secrets.conf is easy to miss.","distinct":false,"url":"https://api.github.com/repos/roberthoenig/zulip/commits/9e70026741e86665523db220e80f97043c0d2208"},{"sha":"92494545186255f9dd99d2ab911984e21df04da4","author":{"name":"Tim Abbott","email":"11d0d2a938f462a7def8919e831320e6bd095602@zulipchat.com"},"message":"update-authors-json: Fix handling deleted GitHub accounts.\n\nApparently, we've now had the first time one of our contributors had\ntheir account deleted (at least, the author page for the contributor\nwho has 21 commits in python-zulip-api now 404s).","distinct":false,"url":"https://api.github.com/repos/roberthoenig/zulip/commits/92494545186255f9dd99d2ab911984e21df04da4"},{"sha":"680983d10efc11f73c647f73f11e9ce09f22ff58","author":{"name":"Vishnu Ks","email":"60ec702b6035cf604df7889264e7a277a2d7dd7c@vishnuks.com"},"message":"vagrantfile: Workaround for the atlas.hashicorp.com redirect removal.\n\nThis workaround is only for new users. Users who are/were using old\nversions of Vagrant has to manually change the value of box\nmetadata_url. See https://github.com/hashicorp/vagrant/issues/9442","distinct":false,"url":"https://api.github.com/repos/roberthoenig/zulip/commits/680983d10efc11f73c647f73f11e9ce09f22ff58"},{"sha":"48640fd28faf3c46c8d21fee1f50391e372935f3","author":{"name":"Rhea Parekh","email":"f7ce20b966473a40e7aba95bdf4c536f7065ccfb@gmail.com"},"message":"slack importer: Suppress logger output from the unit tests.","distinct":false,"url":"https://api.github.com/repos/roberthoenig/zulip/commits/48640fd28faf3c46c8d21fee1f50391e372935f3"},{"sha":"ab700fb662fabe912e5a192eb58923389f2369e3","author":{"name":"Eeshan Garg","email":"ae92279997975045b5adf540720e1f3305a18720@gmail.com"},"message":"markdown: Add a macro with instructions for creating a bot.","distinct":false,"url":"https://api.github.com/repos/roberthoenig/zulip/commits/ab700fb662fabe912e5a192eb58923389f2369e3"},{"sha":"4414f2b24b91a28f598dade544cb1ab53a84124a","author":{"name":"Eeshan Garg","email":"ae92279997975045b5adf540720e1f3305a18720@gmail.com"},"message":"webhooks/beeminder: Use create-a-bot.md macro.","distinct":false,"url":"https://api.github.com/repos/roberthoenig/zulip/commits/4414f2b24b91a28f598dade544cb1ab53a84124a"},{"sha":"23e6a2e57924e241a75ac1ecf585717eed8a584f","author":{"name":"Greg Price","email":"8952803a140aef085feef90060e9454201c5d910@zulipchat.com"},"message":"puppet: Update memcached config to turn on this decade's technology.\n\nWe've been running this change on zulipchat.com for a couple of months\nnow.  Before then, we used to regularly get exceptions like this:\n\n     File \"./zerver/views/messages.py\", line 749, in get_messages_backend\n       setter=stringify_message_dict)\n     File \"./zerver/lib/cache.py\", line 275, in generic_bulk_cached_fetch\n       cache_set_many(items_for_remote_cache)\n     File \"./zerver/lib/cache.py\", line 215, in cache_set_many\n       get_cache_backend(cache_name).set_many(items, timeout=timeout)\n     File \"/home/zulip/deployments/2017-09-28-21-04-12/zulip-py3-venv/lib/python3.5/site-packages/django/core/cache/backends/memcached.py\", line 150, in set_many\n       self._cache.set_multi(safe_data, self.get_backend_timeout(timeout))\n   pylibmc.Error: error 48 from memcached_set_multi\n\nThis error means memcached was unable to find space for the new value.\nYou might think that because memcached provides an LRU cache, this\nshouldn't happen because it would just evict something... but in fact\n  * memcached splits its data into \"slabs\" by object size, and\n  * until recently, once a 1MiB \"chunk\" is allocated to a given \"slab\"\n    i.e. size class, it wouldn't be reclaimed to allocate to another.\n\nSo once the cache has been filled up with objects of some distribution\nof sizes, if some objects come in that would go in a different size\nclass, we have no chunks for that size class / slab, and can't get one.\nAnd that's exactly what was happening on zulipchat.com.\n\nUseful background can be found in\n  https://github.com/memcached/memcached/wiki/ServerMaint#slab-imbalance\n  https://github.com/memcached/memcached/wiki/ReleaseNotes1411\n  https://github.com/memcached/memcached/wiki/ReleaseNotes1425\n  https://github.com/memcached/memcached/wiki/ReleaseNotes150\nWe're already running v1.4.25, which provides an \"automover\" that should\nbe well equipped to fix this; v1.5.0 turns it on by default.\n\nWith this commit, adopt the \"modern start line\" recommended in the\nrelease notes for our v1.4.25, including turning on the automover.","distinct":false,"url":"https://api.github.com/repos/roberthoenig/zulip/commits/23e6a2e57924e241a75ac1ecf585717eed8a584f"},{"sha":"fc9970e561fecd190eb80109eb33c67920ed9469","author":{"name":"Greg Price","email":"8952803a140aef085feef90060e9454201c5d910@zulipchat.com"},"message":"test-install: Add xenial support.","distinct":false,"url":"https://api.github.com/repos/roberthoenig/zulip/commits/fc9970e561fecd190eb80109eb33c67920ed9469"},{"sha":"4c5326ce852189befb8d71159f595e79dd334d51","author":{"name":"Greg Price","email":"8952803a140aef085feef90060e9454201c5d910@zulipchat.com"},"message":"test-install: Factor out booted-yet-p polling loop, use in prepare-base.\n\nOtherwise prepare-base is likely to fail when first run (but then\nsucceed when rerun, because the container is left running), because\nthe container isn't up yet when we try to operate in it.\n\nAlso clean up the placement of `set -e` vs `set -x`.","distinct":false,"url":"https://api.github.com/repos/roberthoenig/zulip/commits/4c5326ce852189befb8d71159f595e79dd334d51"},{"sha":"31ec9a4627a966c9e113aa6a22cfd0407781b879","author":{"name":"Greg Price","email":"8952803a140aef085feef90060e9454201c5d910@zulipchat.com"},"message":"install: Implement --self-signed-cert earlier.\n\nOtherwise when puppet tries to install and start nginx, that can\ngive an error.","distinct":false,"url":"https://api.github.com/repos/roberthoenig/zulip/commits/31ec9a4627a966c9e113aa6a22cfd0407781b879"},{"sha":"8f4b7f6e1e7276a4ce84e43b23062c75152de6b3","author":{"name":"Greg Price","email":"8952803a140aef085feef90060e9454201c5d910@zulipchat.com"},"message":"install: On --express, check up front for --hostname and --email.","distinct":false,"url":"https://api.github.com/repos/roberthoenig/zulip/commits/8f4b7f6e1e7276a4ce84e43b23062c75152de6b3"},{"sha":"f68c485a86acccde4d48e2747e0c98d93a42eaef","author":{"name":"Greg Price","email":"8952803a140aef085feef90060e9454201c5d910@zulipchat.com"},"message":"install: Clean up some shell style: use here-docs, and compact getopt.","distinct":false,"url":"https://api.github.com/repos/roberthoenig/zulip/commits/f68c485a86acccde4d48e2747e0c98d93a42eaef"},{"sha":"08135e3666c96ad4a1d484a0b9c7c5fce365d539","author":{"name":"Greg Price","email":"8952803a140aef085feef90060e9454201c5d910@zulipchat.com"},"message":"install: Don't try to chown a self-signed cert to zulip.\n\nThe zulip user has no need to see this file; it's used by nginx.\nAnd when we set up the cert early in install, there's no zulip user\nyet anyway, so this fails.","distinct":false,"url":"https://api.github.com/repos/roberthoenig/zulip/commits/08135e3666c96ad4a1d484a0b9c7c5fce365d539"},{"sha":"218b653930c62534f0f588bf77bbc1686c5907e2","author":{"name":"Greg Price","email":"8952803a140aef085feef90060e9454201c5d910@zulipchat.com"},"message":"install: Clean up organization of option parsing.\n\nThe parsing of options from environment variables belongs right next\nto the normal kind; and `show_help` was unnecessary indirection.","distinct":false,"url":"https://api.github.com/repos/roberthoenig/zulip/commits/218b653930c62534f0f588bf77bbc1686c5907e2"},{"sha":"8d86a6e331273262d02121d76893bd9875f86849","author":{"name":"Greg Price","email":"8952803a140aef085feef90060e9454201c5d910@zulipchat.com"},"message":"install: Slightly clean up another couple of bits of style.","distinct":false,"url":"https://api.github.com/repos/roberthoenig/zulip/commits/8d86a6e331273262d02121d76893bd9875f86849"},{"sha":"6e633f8e2fa4eafa69e5dd3e9aa2d4befc4488b6","author":{"name":"Greg Price","email":"8952803a140aef085feef90060e9454201c5d910@zulipchat.com"},"message":"install: Use readlink -f rather than realpath.\n\nIt does exactly the same thing, though the name is less transparent; and\nit simplifies the script by avoiding an extra, early `apt-get install`.","distinct":false,"url":"https://api.github.com/repos/roberthoenig/zulip/commits/6e633f8e2fa4eafa69e5dd3e9aa2d4befc4488b6"},{"sha":"86590dfdbe5d65cfbb79a1a3203f583ccad752b3","author":{"name":"Greg Price","email":"8952803a140aef085feef90060e9454201c5d910@zulipchat.com"},"message":"test-install: Add command destroy-all to clean up test containers.\n\nThis is just the one-liner I've been keeping in my shell history,\ncleaned up a bit (newlines!) and with 28 lines of CLI boilerplate\nadded in front.","distinct":false,"url":"https://api.github.com/repos/roberthoenig/zulip/commits/86590dfdbe5d65cfbb79a1a3203f583ccad752b3"},{"sha":"27335404929eb535b00fc37fce6238ae687c6e82","author":{"name":"Eeshan Garg","email":"ae92279997975045b5adf540720e1f3305a18720@gmail.com"},"message":"webhooks/airbrake: Reformat documentation steps into numbered list.\n\nThis is a part of our efforts to migrate our webhook docs to have\na more structured numbered-list format similar to our /help docs.","distinct":false,"url":"https://api.github.com/repos/roberthoenig/zulip/commits/27335404929eb535b00fc37fce6238ae687c6e82"}]}
{"actor":{"display_login":"roberthoenig"}}