{"push_id":648399529,"size":54,"distinct_size":54,"ref":"refs/heads/master","head":"8ca7c4da07db9eb34ef6f0cacfa12a54a6dafc3d","before":"ee1373e807b0d22149582620784caf1a5ac8e7e0","commits":[{"sha":"f6e48954dc1e8808649d780cf59c57b42257969f","author":{"email":"a737320cf9bfde4e31c578c48c038e6e973a0967@gmail.com","name":"Julen Ruiz Aizpuru"},"message":"Cleanup: removed dead imports","distinct":true,"url":"https://api.github.com/repos/jleclanche/pootle/commits/f6e48954dc1e8808649d780cf59c57b42257969f"},{"sha":"4b2f43d2b97bf9c286ba4838ccd40ed9b15d5870","author":{"email":"7acb5da941ba9b25ab881ed1310d2ffd418ba2d7@gmail.com","name":"Leandro Regueiro"},"message":"Change the way the upload form is displayed\n\nNow only a link is displayed. When clicking on it the file selecting\ndialog is opened. After saving the file the upload form is\nautomatically submitted if any file has been chosen.\n\nPart of #3640","distinct":true,"url":"https://api.github.com/repos/jleclanche/pootle/commits/4b2f43d2b97bf9c286ba4838ccd40ed9b15d5870"},{"sha":"8af209556815f38e8edec01211f36e47998d9719","author":{"email":"7acb5da941ba9b25ab881ed1310d2ffd418ba2d7@gmail.com","name":"Leandro Regueiro"},"message":"Fix sidebar look after import_export\n\n- Added a new #sidebar-content div to enclose sidebar content in order\n  to correctly hide the whole sidebar except the toggle handle\n- Added a new .sidebar-group class to style each of the groups with the\n  sidebar content\n- Moved padding and margin from specific content divs (#staticpage and\n  #import-export-sidebar) to that new div\n- Changed some texts to provide more useful hints to the users\n- Removed grey background for import-export\n\nPart of #3640","distinct":true,"url":"https://api.github.com/repos/jleclanche/pootle/commits/8af209556815f38e8edec01211f36e47998d9719"},{"sha":"4f644e9486e6d8c01960401d8bd4f106d2bdabae","author":{"email":"7acb5da941ba9b25ab881ed1310d2ffd418ba2d7@gmail.com","name":"Leandro Regueiro"},"message":"Place horizontal separator when there are several items on sidebar\n\nFixes #3640","distinct":true,"url":"https://api.github.com/repos/jleclanche/pootle/commits/4f644e9486e6d8c01960401d8bd4f106d2bdabae"},{"sha":"4f1ab74778f07b0994eac78c4c3697e123b438c0","author":{"email":"4ec3f3ccd085ce3acfd053bb739fc12cf8a607bf@translate.org.za","name":"Dwayne Bailey"},"message":"docs: s/example/sample\n\nThanks i3enedek","distinct":true,"url":"https://api.github.com/repos/jleclanche/pootle/commits/4f1ab74778f07b0994eac78c4c3697e123b438c0"},{"sha":"2b5fde47266f7331c8138003edb72a4bec5b6f7d","author":{"email":"a737320cf9bfde4e31c578c48c038e6e973a0967@gmail.com","name":"Julen Ruiz Aizpuru"},"message":"Upgraded to React 0.13\n\nIncludes:\n\n* upgraded package.json dependencies for React and react-select\n* use `React.findDOMNode()` instead of `getDOMNode()`\n* use external `classnames` package instead of `React.addons.classSet`\n* use `React.cloneElement()` over `React.addons.cloneWithProps()`\n\nFixes #3607.","distinct":true,"url":"https://api.github.com/repos/jleclanche/pootle/commits/2b5fde47266f7331c8138003edb72a4bec5b6f7d"},{"sha":"9555eb7b8cc77d1e190e5e4ee0e6fd65f4cec111","author":{"email":"a737320cf9bfde4e31c578c48c038e6e973a0967@gmail.com","name":"Julen Ruiz Aizpuru"},"message":"Tabs: make optional dynamically added props\n\nAs of React 0.13, `propTypes` validation happens early on, and the\nworkaround is to make the dynamic props optional.\n\nRefs.\nhttp://facebook.github.io/react/blog/2015/02/24/streamlining-react-elements.html#solution-early-proptype-warnings","distinct":true,"url":"https://api.github.com/repos/jleclanche/pootle/commits/9555eb7b8cc77d1e190e5e4ee0e6fd65f4cec111"},{"sha":"9ec7c99822e919a4e45e4e1357f8125da29e6e99","author":{"email":"7acb5da941ba9b25ab881ed1310d2ffd418ba2d7@gmail.com","name":"Leandro Regueiro"},"message":"Minor template cleanups\n\nSplit lines and remove unnecessary block.","distinct":true,"url":"https://api.github.com/repos/jleclanche/pootle/commits/9ec7c99822e919a4e45e4e1357f8125da29e6e99"},{"sha":"7235a56750838c78e1a9e18d6f6a98a0b5e6f339","author":{"email":"7acb5da941ba9b25ab881ed1310d2ffd418ba2d7@gmail.com","name":"Leandro Regueiro"},"message":"Minor template cleanup\n\nUse simple quotes for trans inside HTML attributes","distinct":true,"url":"https://api.github.com/repos/jleclanche/pootle/commits/7235a56750838c78e1a9e18d6f6a98a0b5e6f339"},{"sha":"dc2da11aa767f26f8e3f5edd59a10bd631558341","author":{"email":"a737320cf9bfde4e31c578c48c038e6e973a0967@gmail.com","name":"Julen Ruiz Aizpuru"},"message":"CSRF: retrieve token via cookie\n\nFixes #3622.","distinct":true,"url":"https://api.github.com/repos/jleclanche/pootle/commits/dc2da11aa767f26f8e3f5edd59a10bd631558341"},{"sha":"c27ac2535b371146f641a1752cd86cf32c2b2aac","author":{"email":"a737320cf9bfde4e31c578c48c038e6e973a0967@gmail.com","name":"Julen Ruiz Aizpuru"},"message":"Contact form: fixed field ordering\n\nFixes #3677.","distinct":true,"url":"https://api.github.com/repos/jleclanche/pootle/commits/c27ac2535b371146f641a1752cd86cf32c2b2aac"},{"sha":"87d9d290a15148ae6bc4328129963713a40e2404","author":{"email":"7acb5da941ba9b25ab881ed1310d2ffd418ba2d7@gmail.com","name":"Leandro Regueiro"},"message":"VFolder: Accept specifying filter by path\n\nFixes #3643.","distinct":true,"url":"https://api.github.com/repos/jleclanche/pootle/commits/87d9d290a15148ae6bc4328129963713a40e2404"},{"sha":"9a85460e1c5e7e4b306c186667cf5eba3fcdb3d6","author":{"email":"7acb5da941ba9b25ab881ed1310d2ffd418ba2d7@gmail.com","name":"Leandro Regueiro"},"message":"VFolder: Relate new units with existing matching virtual folders\n\nFixes #3635.","distinct":true,"url":"https://api.github.com/repos/jleclanche/pootle/commits/9a85460e1c5e7e4b306c186667cf5eba3fcdb3d6"},{"sha":"a171c24e2d3d396b17aa3e61a95cd39e48ce9a0b","author":{"email":"7acb5da941ba9b25ab881ed1310d2ffd418ba2d7@gmail.com","name":"Leandro Regueiro"},"message":"Editor: Display priority for current unit\n\nPart of #3632.","distinct":true,"url":"https://api.github.com/repos/jleclanche/pootle/commits/a171c24e2d3d396b17aa3e61a95cd39e48ce9a0b"},{"sha":"4acc019c7fdfb77169391dd799a5be26e06facf7","author":{"email":"7acb5da941ba9b25ab881ed1310d2ffd418ba2d7@gmail.com","name":"Leandro Regueiro"},"message":"Fix wrong permission name\n\nFixes #3670.","distinct":true,"url":"https://api.github.com/repos/jleclanche/pootle/commits/4acc019c7fdfb77169391dd799a5be26e06facf7"},{"sha":"c51fc6e7ea18aa6e7bdc0f91c2f1230d40327fe8","author":{"email":"67648ea4c99d4caf18beeba9acbd762eea03a1e2@gmail.com","name":"Taras Semenenko"},"message":"Fix typo in comment","distinct":true,"url":"https://api.github.com/repos/jleclanche/pootle/commits/c51fc6e7ea18aa6e7bdc0f91c2f1230d40327fe8"},{"sha":"4df448636f939b9d50f82cbf6d922e71db824020","author":{"email":"a737320cf9bfde4e31c578c48c038e6e973a0967@gmail.com","name":"Julen Ruiz Aizpuru"},"message":"Lightbox: handle keys globally\n\nKeys didn't work if the container element didn't have focus.","distinct":true,"url":"https://api.github.com/repos/jleclanche/pootle/commits/4df448636f939b9d50f82cbf6d922e71db824020"},{"sha":"b2b26eee840dc3e28ba91fc42fbb3a640b6fbd1a","author":{"email":"a737320cf9bfde4e31c578c48c038e6e973a0967@gmail.com","name":"Julen Ruiz Aizpuru"},"message":"Fixed some old license header remnants","distinct":true,"url":"https://api.github.com/repos/jleclanche/pootle/commits/b2b26eee840dc3e28ba91fc42fbb3a640b6fbd1a"},{"sha":"99b830c012aa717d88d4fecb5f194497932a835e","author":{"email":"a737320cf9bfde4e31c578c48c038e6e973a0967@gmail.com","name":"Julen Ruiz Aizpuru"},"message":"package.json: version bump React","distinct":true,"url":"https://api.github.com/repos/jleclanche/pootle/commits/99b830c012aa717d88d4fecb5f194497932a835e"},{"sha":"75b54ca6adeba07eaae3bb0ba8c9c6a2b996f55d","author":{"email":"67648ea4c99d4caf18beeba9acbd762eea03a1e2@gmail.com","name":"Taras Semenenko"},"message":"Use live() to retrieve non-obsolete Store and Directory objects\n\nDefault managers for Store and Directory objects retrieve all objects\n(including obsoletes).\nFix #3675.","distinct":true,"url":"https://api.github.com/repos/jleclanche/pootle/commits/75b54ca6adeba07eaae3bb0ba8c9c6a2b996f55d"}]}