{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":255942775,"defaultBranch":"main","name":"tailscale-android","ownerLogin":"tailscale","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2020-04-15T14:30:25.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/48932923?v=4","public":true,"private":false,"isOrgOwned":true},"refInfo":{"name":"","listCacheKey":"v0:1716427614.0","currentOid":""},"activityList":{"items":[{"before":"53d7c8069b258527fb41ee19d389d44868479b3e","after":null,"ref":"refs/heads/angott/gradle-8.6-update","pushedAt":"2024-05-23T01:26:54.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"agottardo","name":"Andrea Gottardo","path":"/agottardo","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9057073?s=80&v=4"}},{"before":"e826a173aa2e451fd7e1d1e77096cf1ddd89c223","after":"75db9e64c8de2df3df7535bc72cc339bda9380aa","ref":"refs/heads/main","pushedAt":"2024-05-23T01:26:53.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"agottardo","name":"Andrea Gottardo","path":"/agottardo","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9057073?s=80&v=4"},"commit":{"message":"gradle: update to 8.6 (#405)","shortMessageHtmlLink":"gradle: update to 8.6 (#405)"}},{"before":"373c93006f2ef5af7e414a2ce6b91f88c3f61f11","after":null,"ref":"refs/heads/kari/shrink","pushedAt":"2024-05-22T23:37:21.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"kari-ts","name":null,"path":"/kari-ts","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/135075563?s=80&v=4"}},{"before":"a05829b3c0b0b309b69511543d2cf30ecc11f848","after":"e826a173aa2e451fd7e1d1e77096cf1ddd89c223","ref":"refs/heads/main","pushedAt":"2024-05-22T23:37:20.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"kari-ts","name":null,"path":"/kari-ts","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/135075563?s=80&v=4"},"commit":{"message":"android: enable proguard (#399)\n\nSigned-off-by: kari-ts ","shortMessageHtmlLink":"android: enable proguard (#399)"}},{"before":null,"after":"7c38f49c7dd6b2230eb3c100b26e15d2dfb25465","ref":"refs/heads/kari/picker","pushedAt":"2024-05-22T22:09:20.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"kari-ts","name":null,"path":"/kari-ts","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/135075563?s=80&v=4"},"commit":{"message":"ExitNodePicker: don't allow run as exit node while using exit node\n\nUpdates tailscale/corp#19122\n\nSigned-off-by: kari-ts ","shortMessageHtmlLink":"ExitNodePicker: don't allow run as exit node while using exit node"}},{"before":"cb8fb011ee4939fd4ff2e60fbdfa7c01ce5f0c83","after":null,"ref":"refs/heads/kari/exitstatus","pushedAt":"2024-05-22T22:06:37.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"kari-ts","name":null,"path":"/kari-ts","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/135075563?s=80&v=4"}},{"before":"72f35cd318d11aca113a038179347fcd63ef0ffd","after":"a05829b3c0b0b309b69511543d2cf30ecc11f848","ref":"refs/heads/main","pushedAt":"2024-05-22T22:06:36.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"kari-ts","name":null,"path":"/kari-ts","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/135075563?s=80&v=4"},"commit":{"message":"android: exit node banner ui improvements (#408)\n\n-show if device is running as an exit node\r\n-show exit node connection status\r\n\r\nUpdates tailscale/corp#19122\r\n\r\nFollow up will include:\r\n-make exit node picker recompose when exit node connection status changes\r\n-prevent user from running as exit node if it is using an exit node and vice versa instead of silently failing\r\n-add explanation box for MDM offline state\r\n\r\nSigned-off-by: kari-ts ","shortMessageHtmlLink":"android: exit node banner ui improvements (#408)"}},{"before":"d2b056635fbd294f3d93bae1479067d61dc87e42","after":"cb8fb011ee4939fd4ff2e60fbdfa7c01ce5f0c83","ref":"refs/heads/kari/exitstatus","pushedAt":"2024-05-22T20:45:29.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"kari-ts","name":null,"path":"/kari-ts","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/135075563?s=80&v=4"},"commit":{"message":"android: exit node banner ui improvements\n\n-show if device is running as an exit node\n-show exit node connection status\n\nUpdates tailscale/corp#19122\n\nFollow up will include:\n-make exit node picker recompose when exit node connection status changes\n-prevent user from running as exit node if it is using an exit node and vice versa instead of silently failing\n-add explanation box for MDM offline state\n\nSigned-off-by: kari-ts ","shortMessageHtmlLink":"android: exit node banner ui improvements"}},{"before":"18e395c6bedbd51d04ac011a5aaa3203544667e0","after":"d2b056635fbd294f3d93bae1479067d61dc87e42","ref":"refs/heads/kari/exitstatus","pushedAt":"2024-05-22T17:43:53.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"kari-ts","name":null,"path":"/kari-ts","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/135075563?s=80&v=4"},"commit":{"message":"android: exit node banner ui improvements\n\n-show if device is running as an exit node\n-show exit node connection status\n\nUpdates tailscale/corp#19122\n\nFollow up will include:\n-make exit node picker recompose when exit node connection status changes\n-prevent user from running as exit node if it is using an exit node and vice versa instead of silently failing\n-add explanation box for MDM offline state\n\nSigned-off-by: kari-ts ","shortMessageHtmlLink":"android: exit node banner ui improvements"}},{"before":"2d21f39fe163cb6944aff98be02ac0767c5df99c","after":null,"ref":"refs/heads/kari/pickerrecompose","pushedAt":"2024-05-21T23:56:26.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"kari-ts","name":null,"path":"/kari-ts","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/135075563?s=80&v=4"}},{"before":"4fa86dbf036897b0e315e6a94cb4de6f187f3a33","after":"72f35cd318d11aca113a038179347fcd63ef0ffd","ref":"refs/heads/main","pushedAt":"2024-05-21T23:56:25.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"kari-ts","name":null,"path":"/kari-ts","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/135075563?s=80&v=4"},"commit":{"message":"ExitNodePicker: recompose when connection status changes (#410)\n\nUpdates tailscale/corp#19122\r\n\r\nSigned-off-by: kari-ts ","shortMessageHtmlLink":"ExitNodePicker: recompose when connection status changes (#410)"}},{"before":null,"after":"2d21f39fe163cb6944aff98be02ac0767c5df99c","ref":"refs/heads/kari/pickerrecompose","pushedAt":"2024-05-21T23:47:29.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"kari-ts","name":null,"path":"/kari-ts","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/135075563?s=80&v=4"},"commit":{"message":"ExitNodePicker: recompose when connection status changes\n\nUpdates tailscale/corp#19122\n\nSigned-off-by: kari-ts ","shortMessageHtmlLink":"ExitNodePicker: recompose when connection status changes"}},{"before":"4e1e3ce6bb32982fe91765f98a1f14fe12da1842","after":"18e395c6bedbd51d04ac011a5aaa3203544667e0","ref":"refs/heads/kari/exitstatus","pushedAt":"2024-05-21T23:37:49.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"kari-ts","name":null,"path":"/kari-ts","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/135075563?s=80&v=4"},"commit":{"message":"android: exit node banner ui improvements\n\n-show if device is running as an exit node\n-show exit node connection status\n\nUpdates tailscale/corp#19122\n\nFollow up will include:\n-make exit node picker recompose when exit node connection status changes\n-prevent user from running as exit node if it is using an exit node and vice versa instead of silently failing\n-add explanation box for MDM offline state\n\nSigned-off-by: kari-ts ","shortMessageHtmlLink":"android: exit node banner ui improvements"}},{"before":"08b46d9601bdc99aa0606076891fb528faac0730","after":"4e1e3ce6bb32982fe91765f98a1f14fe12da1842","ref":"refs/heads/kari/exitstatus","pushedAt":"2024-05-21T22:57:56.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"kari-ts","name":null,"path":"/kari-ts","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/135075563?s=80&v=4"},"commit":{"message":"android: exit node banner ui improvements\n\n-show if device is running as an exit node\n-show exit node connection status\n\nUpdates tailscale/corp#19122\n\nFollow up will include:\n-make exit node picker recompose when exit node connection status changes\n-prevent user from running as exit node if it is using an exit node and vice versa instead of silently failing\n-add explanation box for MDM offline state\n\nSigned-off-by: kari-ts ","shortMessageHtmlLink":"android: exit node banner ui improvements"}},{"before":"c38cc1d028f96375fc2be7d95248d4c7ee1aaa50","after":"08b46d9601bdc99aa0606076891fb528faac0730","ref":"refs/heads/kari/exitstatus","pushedAt":"2024-05-21T22:56:59.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"kari-ts","name":null,"path":"/kari-ts","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/135075563?s=80&v=4"},"commit":{"message":"android: exit node banner ui improvements\n\n-show if device is running as an exit node\n-show exit node connection status\n\nUpdates tailscale/corp#19122\n\nFollow up will include:\n-make exit node picker recompose when exit node connection status changes\n-prevent user from running as exit node if it is using an exit node and vice versa instead of silently failing\n-add explanation box for MDM offline state\n\nSigned-off-by: kari-ts ","shortMessageHtmlLink":"android: exit node banner ui improvements"}},{"before":"668b2871c22110ab7a17aacb35d9611cc776885b","after":"c38cc1d028f96375fc2be7d95248d4c7ee1aaa50","ref":"refs/heads/kari/exitstatus","pushedAt":"2024-05-21T22:56:19.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"kari-ts","name":null,"path":"/kari-ts","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/135075563?s=80&v=4"},"commit":{"message":"android: exit node banner ui improvements\n\n-show if device is running as an exit node\n-show exit node connection status\n\nUpdates tailscale/corp#19122\n\nFollow up will include:\n-make exit node picker recompose when exit node connection status changes\n-prevent user from running as exit node if it is using an exit node and vice versa instead of silently failing\n-add explanation box for MDM offline state\n\nSigned-off-by: kari-ts ","shortMessageHtmlLink":"android: exit node banner ui improvements"}},{"before":null,"after":"bf08f15574578c6be0148f70662ee9a43c3c6a60","ref":"refs/heads/kari/recomposepicker","pushedAt":"2024-05-21T21:08:42.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"kari-ts","name":null,"path":"/kari-ts","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/135075563?s=80&v=4"},"commit":{"message":"ExitNodePicker: recompose when connection status changes\n\nUpdates tailscale/corp#19122\n\nSigned-off-by: kari-ts ","shortMessageHtmlLink":"ExitNodePicker: recompose when connection status changes"}},{"before":"c30638e8e7ffa8afb6a2202fcda949f8e20a5435","after":"668b2871c22110ab7a17aacb35d9611cc776885b","ref":"refs/heads/kari/exitstatus","pushedAt":"2024-05-21T17:31:00.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"kari-ts","name":null,"path":"/kari-ts","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/135075563?s=80&v=4"},"commit":{"message":"android: exit node banner ui improvements\n\n-show if device is running as an exit node\n-show exit node connection status\n\nUpdates tailscale/corp#19122\n\nFollow up will include:\n-make exit node picker recompose when exit node connection status changes\n-prevent user from running as exit node if it is using an exit node and vice versa instead of silently failing\n-add explanation box for MDM offline state\n\nSigned-off-by: kari-ts ","shortMessageHtmlLink":"android: exit node banner ui improvements"}},{"before":"db6b2c08c1e307b523f97ed8281432e3f98b86ed","after":"c30638e8e7ffa8afb6a2202fcda949f8e20a5435","ref":"refs/heads/kari/exitstatus","pushedAt":"2024-05-21T17:26:50.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"kari-ts","name":null,"path":"/kari-ts","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/135075563?s=80&v=4"},"commit":{"message":"android: exit node banner ui improvements\n\n-show if device is running as an exit node\n-show exit node connection status\n\nFollow up will include:\n-make exit node picker recompose when exit node connection status changes\n-prevent user from running as exit node if it is using an exit node and vice versa instead of silently failing\n-add explanation box for MDM offline state\n\nSigned-off-by: kari-ts ","shortMessageHtmlLink":"android: exit node banner ui improvements"}},{"before":null,"after":"db6b2c08c1e307b523f97ed8281432e3f98b86ed","ref":"refs/heads/kari/exitstatus","pushedAt":"2024-05-21T17:21:36.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"kari-ts","name":null,"path":"/kari-ts","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/135075563?s=80&v=4"},"commit":{"message":"exit node banner improvements","shortMessageHtmlLink":"exit node banner improvements"}},{"before":null,"after":"fd7e9a093e37146202a968917cd4b63b9916b085","ref":"refs/heads/angott/mullvad-view","pushedAt":"2024-05-21T16:14:42.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"agottardo","name":"Andrea Gottardo","path":"/agottardo","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9057073?s=80&v=4"},"commit":{"message":"ui: add Mullvad info view\n\nAdds a view to highlight Mullvad support when it is not enabled.","shortMessageHtmlLink":"ui: add Mullvad info view"}},{"before":"59a31386c20701e0dd79ffaafbe32207cbcd8870","after":null,"ref":"refs/heads/kari/tapnote","pushedAt":"2024-05-17T22:16:26.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"kari-ts","name":null,"path":"/kari-ts","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/135075563?s=80&v=4"}},{"before":"77c2d924eeed396fa898a4902f92628748037b37","after":"4fa86dbf036897b0e315e6a94cb4de6f187f3a33","ref":"refs/heads/main","pushedAt":"2024-05-17T22:16:25.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"kari-ts","name":null,"path":"/kari-ts","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/135075563?s=80&v=4"},"commit":{"message":"App: tap on notification brings up main view (#407)\n\nUpdates tailscale/tailscale#10104\r\n\r\nSigned-off-by: kari-ts ","shortMessageHtmlLink":"App: tap on notification brings up main view (#407)"}},{"before":null,"after":"59a31386c20701e0dd79ffaafbe32207cbcd8870","ref":"refs/heads/kari/tapnote","pushedAt":"2024-05-17T21:29:11.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"kari-ts","name":null,"path":"/kari-ts","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/135075563?s=80&v=4"},"commit":{"message":"App: tap on notification brings up main view\n\nUpdates tailscale/tailscale#10104\n\nSigned-off-by: kari-ts ","shortMessageHtmlLink":"App: tap on notification brings up main view"}},{"before":"2db47bf16da9eb5ea862d65130e9493f13201d7e","after":null,"ref":"refs/heads/jonathan/fus_fix","pushedAt":"2024-05-17T19:05:12.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"barnstar","name":"Jonathan Nobels","path":"/barnstar","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/779591?s=80&v=4"}},{"before":"b37492a54773f598d3c93aa70c88e77efb29409c","after":"77c2d924eeed396fa898a4902f92628748037b37","ref":"refs/heads/main","pushedAt":"2024-05-17T19:05:11.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"barnstar","name":"Jonathan Nobels","path":"/barnstar","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/779591?s=80&v=4"},"commit":{"message":"android/ui: unhide accounts if VPN is prepared (#406)\n\nUpdates tailscale/tailscale#12148\r\n\r\nThere was a small bug where we weren't rechecking the\r\nvpn permissions to the FUS would never show. We'll\r\nnow do that in the view model base case on initialization.\r\n\r\nSigned-off-by: Jonathan Nobels ","shortMessageHtmlLink":"android/ui: unhide accounts if VPN is prepared (#406)"}},{"before":"6a64d67ad5aacb0fdd8e51d61f3e69295fd65a9b","after":null,"ref":"refs/heads/jonathan/cleanup-2","pushedAt":"2024-05-17T18:49:39.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"barnstar","name":"Jonathan Nobels","path":"/barnstar","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/779591?s=80&v=4"}},{"before":"999c6f235755025c4c07e5c320034460bbbd63f2","after":"b37492a54773f598d3c93aa70c88e77efb29409c","ref":"refs/heads/main","pushedAt":"2024-05-17T18:49:38.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"barnstar","name":"Jonathan Nobels","path":"/barnstar","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/779591?s=80&v=4"},"commit":{"message":"android/ui: use compose getValue syntactic sugar consistently (#367)\n\nUpdates #cleanup\r\n\r\n\"by stateFlow\" is syntactic sugar for\" = stateFlow.value\" and is more\r\nidiomatic. There should be no functional difference here. Just\\\r\nchanged where it can be for consistency.\r\n\r\nSigned-off-by: Jonathan Nobels ","shortMessageHtmlLink":"android/ui: use compose getValue syntactic sugar consistently (#367)"}},{"before":null,"after":"2db47bf16da9eb5ea862d65130e9493f13201d7e","ref":"refs/heads/jonathan/fus_fix","pushedAt":"2024-05-17T18:48:03.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"barnstar","name":"Jonathan Nobels","path":"/barnstar","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/779591?s=80&v=4"},"commit":{"message":"android/ui: unhide accounts if VPN is prepared\n\nUpdates tailscale/tailscale#12148\n\nThere was a small bug where we weren't rechecking the\nvpn permissions to the FUS would never show. We'll\nnow do that in the view model base case on initialization.\n\nSigned-off-by: Jonathan Nobels ","shortMessageHtmlLink":"android/ui: unhide accounts if VPN is prepared"}},{"before":"214cd41e59c6b42dc04c4b3a78a943b2dc026083","after":"6a64d67ad5aacb0fdd8e51d61f3e69295fd65a9b","ref":"refs/heads/jonathan/cleanup-2","pushedAt":"2024-05-17T18:16:59.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"barnstar","name":"Jonathan Nobels","path":"/barnstar","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/779591?s=80&v=4"},"commit":{"message":"android/ui: use compose getValue syntactic sugar consistently\n\nUpdates #cleanup\n\n\"by stateFlow\" is syntactic sugar for\" = stateFlow.value\" and is more\nidiomatic. There should be no functional difference here. Just\\\nchanged where it can be for consistency.\n\nSigned-off-by: Jonathan Nobels ","shortMessageHtmlLink":"android/ui: use compose getValue syntactic sugar consistently"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAEUYJI1gA","startCursor":null,"endCursor":null}},"title":"Activity ยท tailscale/tailscale-android"}