{"push_id":988769690,"size":14,"distinct_size":12,"ref":"refs/heads/0.3.0","head":"f60223f7ecd2dc80e25ad232e63287a9c5bfd6d2","before":"d77cdc61297780de0292e9e697aa734d023f9bd2","commits":[{"sha":"4f6cfb58a43e455e3f7fa138e8323f5d10b782a7","author":{"email":"cde306461a9a1477a8fd5abbbfdc36bc905dc0e4@gmail.com","name":"lilia"},"message":"Update translations\n\n// FREEBIE","distinct":false,"url":"https://api.github.com/repos/WhisperSystems/Signal-Desktop/commits/4f6cfb58a43e455e3f7fa138e8323f5d10b782a7"},{"sha":"bb97239214c674ca082e7d60413abd6307b27557","author":{"email":"cde306461a9a1477a8fd5abbbfdc36bc905dc0e4@gmail.com","name":"lilia"},"message":"Bump version to 0.2.2\n\n// FREEBIE","distinct":false,"url":"https://api.github.com/repos/WhisperSystems/Signal-Desktop/commits/bb97239214c674ca082e7d60413abd6307b27557"},{"sha":"65dab87fa91f2a689f43b81dbfe11443db5220ae","author":{"email":"cde306461a9a1477a8fd5abbbfdc36bc905dc0e4@gmail.com","name":"lilia"},"message":"Track groups I've left\n\n// FREEBIE","distinct":true,"url":"https://api.github.com/repos/WhisperSystems/Signal-Desktop/commits/65dab87fa91f2a689f43b81dbfe11443db5220ae"},{"sha":"1b98af0b03ad613bbcc20a62678a9a20b1e0592f","author":{"email":"cde306461a9a1477a8fd5abbbfdc36bc905dc0e4@gmail.com","name":"lilia"},"message":"Omit left groups from search\n\nUnless they contain messages.\n\n// FREEBIE","distinct":true,"url":"https://api.github.com/repos/WhisperSystems/Signal-Desktop/commits/1b98af0b03ad613bbcc20a62678a9a20b1e0592f"},{"sha":"5a644a9e02a8abf687741742655a0b54b2839314","author":{"email":"cde306461a9a1477a8fd5abbbfdc36bc905dc0e4@gmail.com","name":"lilia"},"message":"Add tests for filtering left groups from search\n\n// FREEBIE","distinct":true,"url":"https://api.github.com/repos/WhisperSystems/Signal-Desktop/commits/5a644a9e02a8abf687741742655a0b54b2839314"},{"sha":"554365705e71fec777ed1ed1bcb13b889315aca5","author":{"email":"cde306461a9a1477a8fd5abbbfdc36bc905dc0e4@gmail.com","name":"lilia"},"message":"Don't show left groups in list of all contacts\n\n// FREEBIE","distinct":true,"url":"https://api.github.com/repos/WhisperSystems/Signal-Desktop/commits/554365705e71fec777ed1ed1bcb13b889315aca5"},{"sha":"09cc35c926086b941ba53a8103828fdf29c0b2d0","author":{"email":"cde306461a9a1477a8fd5abbbfdc36bc905dc0e4@gmail.com","name":"lilia"},"message":"Clear old key conflict errors after failed replay\n\nIf the replay failed due to a bad mac or other decryption error for some\nother reason we still want to clear the conflict. If it failed because\nit's still in conflict then the newly returned error will reflect that\nand be saved.\n\n// FREEBIE","distinct":true,"url":"https://api.github.com/repos/WhisperSystems/Signal-Desktop/commits/09cc35c926086b941ba53a8103828fdf29c0b2d0"},{"sha":"0e5ebdebb53139b3a788aa3f8a2835a3900f1c92","author":{"email":"cde306461a9a1477a8fd5abbbfdc36bc905dc0e4@gmail.com","name":"lilia"},"message":"Do post-send tasks when resolving conflicts\n\nFixes #684\n\n// FREEBIE","distinct":true,"url":"https://api.github.com/repos/WhisperSystems/Signal-Desktop/commits/0e5ebdebb53139b3a788aa3f8a2835a3900f1c92"},{"sha":"31bc6337de4ece871045b9b8926d048e54305ba5","author":{"email":"cde306461a9a1477a8fd5abbbfdc36bc905dc0e4@gmail.com","name":"lilia"},"message":"Add libtextsecure support for syncing read messages\n\nPlumbing for sending and receiving a new sync protobuf for marking\nmessages read on/from my other devices.\n\n// FREEBIE","distinct":true,"url":"https://api.github.com/repos/WhisperSystems/Signal-Desktop/commits/31bc6337de4ece871045b9b8926d048e54305ba5"},{"sha":"37f8026567868827f569ca01147172c2ad4bc99a","author":{"email":"cde306461a9a1477a8fd5abbbfdc36bc905dc0e4@gmail.com","name":"lilia"},"message":"Derive global unread count from individual counts\n\n// FREEBIE","distinct":true,"url":"https://api.github.com/repos/WhisperSystems/Signal-Desktop/commits/37f8026567868827f569ca01147172c2ad4bc99a"},{"sha":"399b9e3b117ea200445de35776ae7598e56f4682","author":{"email":"cde306461a9a1477a8fd5abbbfdc36bc905dc0e4@gmail.com","name":"lilia"},"message":"Track and sync unread messages\n\n// FREEBIE","distinct":true,"url":"https://api.github.com/repos/WhisperSystems/Signal-Desktop/commits/399b9e3b117ea200445de35776ae7598e56f4682"},{"sha":"3be6ed041bfa0ea83c5fb4dad0dab2f63fd92a09","author":{"email":"cde306461a9a1477a8fd5abbbfdc36bc905dc0e4@gmail.com","name":"lilia"},"message":"Clear notification when the last one is removed\n\nPreviously, we switched to not updating the notification popup on a\nremoval, since this usually respawns a new notification popup\nunexpectedly. However, when the last relevant notification is cleared\n(ie, by opening/reading the thread before the notification times out and\ndisappears on its own) we should clear the existing popup if there is\none.\n\n// FREEBIE","distinct":true,"url":"https://api.github.com/repos/WhisperSystems/Signal-Desktop/commits/3be6ed041bfa0ea83c5fb4dad0dab2f63fd92a09"},{"sha":"08b76ee8f79a9fb0e15ca4307dc5aa72f1b68485","author":{"email":"cde306461a9a1477a8fd5abbbfdc36bc905dc0e4@gmail.com","name":"lilia"},"message":"Clear key conflict before replaying it\n\nDon't save the change until we successfully process the message, but\nmake it first so that the user sees the error disappear when the new key\nis accepted.\n\n// FREEBIE","distinct":true,"url":"https://api.github.com/repos/WhisperSystems/Signal-Desktop/commits/08b76ee8f79a9fb0e15ca4307dc5aa72f1b68485"},{"sha":"f60223f7ecd2dc80e25ad232e63287a9c5bfd6d2","author":{"email":"cde306461a9a1477a8fd5abbbfdc36bc905dc0e4@gmail.com","name":"lilia"},"message":"Reorder grunt watch tasks\n\nMove style and syntax checks to the end.\n\n// FREEBIE","distinct":true,"url":"https://api.github.com/repos/WhisperSystems/Signal-Desktop/commits/f60223f7ecd2dc80e25ad232e63287a9c5bfd6d2"}]}