{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":496253605,"defaultBranch":"master-upstream","name":"torrent","ownerLogin":"nimbleape","currentUserCanPush":false,"isFork":true,"isEmpty":false,"createdAt":"2022-05-25T13:56:37.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/7715457?v=4","public":true,"private":false,"isOrgOwned":true},"refInfo":{"name":"","listCacheKey":"v0:1712342609.0","currentOid":""},"activityList":{"items":[{"before":null,"after":"f6ce3873eebe5e8c838e08d13e7f3e3e3794ecbd","ref":"refs/heads/recover-remoteaddr","pushedAt":"2024-04-05T18:43:29.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"valainisgt","name":"Greg Valainis","path":"/valainisgt","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1847127?s=80&v=4"},"commit":{"message":"fix: recover from nil pointer reference","shortMessageHtmlLink":"fix: recover from nil pointer reference"}},{"before":"1ef5c1251fdd510a4a8c30519caae032341efdfb","after":null,"ref":"refs/heads/fix-double-hash","pushedAt":"2024-04-04T17:58:35.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"valainisgt","name":"Greg Valainis","path":"/valainisgt","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1847127?s=80&v=4"}},{"before":null,"after":"876ed28d9677d97ef0cf46e48038079b84df77da","ref":"refs/heads/tidy-up-client-ICEServers","pushedAt":"2024-04-03T09:24:56.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"marcovidonis","name":"Marco Vidonis","path":"/marcovidonis","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/31407403?s=80&v=4"},"commit":{"message":"remove code repetition","shortMessageHtmlLink":"remove code repetition"}},{"before":"cedd60bbde76560c4b86e11d52607909532e45b9","after":"0c7e9d3588bc1d5de0e10266e723519a7546b847","ref":"refs/heads/master","pushedAt":"2024-04-02T08:12:15.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"marcovidonis","name":"Marco Vidonis","path":"/marcovidonis","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/31407403?s=80&v=4"},"commit":{"message":"fix: remove double hash (#7)","shortMessageHtmlLink":"fix: remove double hash (#7)"}},{"before":null,"after":"1ef5c1251fdd510a4a8c30519caae032341efdfb","ref":"refs/heads/fix-double-hash","pushedAt":"2024-03-28T14:20:09.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"valainisgt","name":"Greg Valainis","path":"/valainisgt","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1847127?s=80&v=4"},"commit":{"message":"fix: remove double hash","shortMessageHtmlLink":"fix: remove double hash"}},{"before":"bdfa20fce8ab609fa6d4f0968387b3ad9c0b0402","after":"cedd60bbde76560c4b86e11d52607909532e45b9","ref":"refs/heads/master","pushedAt":"2024-03-27T14:17:26.000Z","pushType":"push","commitsCount":8,"pusher":{"login":"marcovidonis","name":"Marco Vidonis","path":"/marcovidonis","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/31407403?s=80&v=4"},"commit":{"message":"Merge remote-tracking branch 'upstream/master'","shortMessageHtmlLink":"Merge remote-tracking branch 'upstream/master'"}},{"before":"627f884fa07b2100bb143b826268c642c6ca7103","after":"bdfa20fce8ab609fa6d4f0968387b3ad9c0b0402","ref":"refs/heads/master","pushedAt":"2024-03-27T14:15:39.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"marcovidonis","name":"Marco Vidonis","path":"/marcovidonis","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/31407403?s=80&v=4"},"commit":{"message":"tidy up dependencies","shortMessageHtmlLink":"tidy up dependencies"}},{"before":"d17250bc125e9f02fd16411461e37192430fc85c","after":"1830d852ac651c36d62de1dd9f3c68eefd5f7049","ref":"refs/heads/master-upstream","pushedAt":"2024-03-26T17:17:47.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"marcovidonis","name":"Marco Vidonis","path":"/marcovidonis","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/31407403?s=80&v=4"},"commit":{"message":"Support ICE servers auth (#920)\n\n* change ICEServers type in config to Pion-defined type\r\nThis allows specifying credentials for access to servers,\r\nin particular TURN servers.\r\n\r\n* add legacy support for ICEServers as []string","shortMessageHtmlLink":"Support ICE servers auth (anacrolix#920)"}},{"before":"27ef912233690e9e774a60544eba6d4ff538f433","after":"5e5911c5f06c08b01dc867c36c9ac5f069854c9f","ref":"refs/heads/config-support-ice-servers-auth","pushedAt":"2024-03-26T09:28:16.000Z","pushType":"push","commitsCount":3,"pusher":{"login":"marcovidonis","name":"Marco Vidonis","path":"/marcovidonis","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/31407403?s=80&v=4"},"commit":{"message":"remove unnecessary import","shortMessageHtmlLink":"remove unnecessary import"}},{"before":"9c288e8e3fffb4f7b6116e33ec00222ee19b11b4","after":"627f884fa07b2100bb143b826268c642c6ca7103","ref":"refs/heads/master","pushedAt":"2024-03-25T16:32:34.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"marcovidonis","name":"Marco Vidonis","path":"/marcovidonis","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/31407403?s=80&v=4"},"commit":{"message":"Make AnnounceStatus InfoHash into a HexString (#6)","shortMessageHtmlLink":"Make AnnounceStatus InfoHash into a HexString (#6)"}},{"before":null,"after":"27ef912233690e9e774a60544eba6d4ff538f433","ref":"refs/heads/config-support-ice-servers-auth","pushedAt":"2024-03-25T10:42:41.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"marcovidonis","name":"Marco Vidonis","path":"/marcovidonis","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/31407403?s=80&v=4"},"commit":{"message":"add legacy support for ICEServers as []string","shortMessageHtmlLink":"add legacy support for ICEServers as []string"}},{"before":"8c70f29103ad8d5362e1aa2ec5dac7bdfafaec1f","after":null,"ref":"refs/heads/config-support-ice-servers-auth","pushedAt":"2024-03-25T10:42:28.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"marcovidonis","name":"Marco Vidonis","path":"/marcovidonis","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/31407403?s=80&v=4"}},{"before":null,"after":"d17250bc125e9f02fd16411461e37192430fc85c","ref":"refs/heads/master-upstream","pushedAt":"2024-03-25T10:39:06.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"marcovidonis","name":"Marco Vidonis","path":"/marcovidonis","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/31407403?s=80&v=4"},"commit":{"message":"Fix data race setting v2 piece hash","shortMessageHtmlLink":"Fix data race setting v2 piece hash"}},{"before":"18c117cbd56cbdbfb057ad269b03650456042f75","after":"8c70f29103ad8d5362e1aa2ec5dac7bdfafaec1f","ref":"refs/heads/config-support-ice-servers-auth","pushedAt":"2024-03-25T10:18:28.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"marcovidonis","name":"Marco Vidonis","path":"/marcovidonis","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/31407403?s=80&v=4"},"commit":{"message":"add legacy support for ICEServers as []string","shortMessageHtmlLink":"add legacy support for ICEServers as []string"}},{"before":null,"after":"18c117cbd56cbdbfb057ad269b03650456042f75","ref":"refs/heads/config-support-ice-servers-auth","pushedAt":"2024-03-22T17:59:08.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"marcovidonis","name":"Marco Vidonis","path":"/marcovidonis","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/31407403?s=80&v=4"},"commit":{"message":"add legacy support for ICEServers as []string","shortMessageHtmlLink":"add legacy support for ICEServers as []string"}},{"before":"0996651cf70f8e1460dbf707789a11f29831171e","after":"9c288e8e3fffb4f7b6116e33ec00222ee19b11b4","ref":"refs/heads/master","pushedAt":"2024-03-22T17:53:15.000Z","pushType":"push","commitsCount":76,"pusher":{"login":"marcovidonis","name":"Marco Vidonis","path":"/marcovidonis","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/31407403?s=80&v=4"},"commit":{"message":"Merge remote-tracking branch 'upstream/master'","shortMessageHtmlLink":"Merge remote-tracking branch 'upstream/master'"}},{"before":null,"after":"5f0853fe577683f49f1d1f3621f0eaca13cb8184","ref":"refs/heads/fix-tracker-announce-infohash-string","pushedAt":"2024-03-22T12:24:32.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"marcovidonis","name":"Marco Vidonis","path":"/marcovidonis","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/31407403?s=80&v=4"},"commit":{"message":"make AnnounceStatus InfoHash into a HexString","shortMessageHtmlLink":"make AnnounceStatus InfoHash into a HexString"}},{"before":"de51abf550e5285c04c76ab891ad0be3d98d7b3d","after":"6464437497c5c32766f1a7129c24bd2ed26bd233","ref":"refs/heads/ice-servers-auth","pushedAt":"2024-02-14T10:32:54.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"marcovidonis","name":"Marco Vidonis","path":"/marcovidonis","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/31407403?s=80&v=4"},"commit":{"message":"add legacy support for ICEServers as []string","shortMessageHtmlLink":"add legacy support for ICEServers as []string"}},{"before":null,"after":"de51abf550e5285c04c76ab891ad0be3d98d7b3d","ref":"refs/heads/ice-servers-auth","pushedAt":"2024-02-13T16:36:20.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"marcovidonis","name":"Marco Vidonis","path":"/marcovidonis","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/31407403?s=80&v=4"},"commit":{"message":"change ICEServers type in config to Pion-defined type\nThis allows specifying credentials for access to servers,\nin particular TURN servers.","shortMessageHtmlLink":"change ICEServers type in config to Pion-defined type"}},{"before":"01c9b629ed127b254ff08807121092ca6a8893b1","after":"0996651cf70f8e1460dbf707789a11f29831171e","ref":"refs/heads/master","pushedAt":"2024-02-13T15:35:39.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"marcovidonis","name":"Marco Vidonis","path":"/marcovidonis","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/31407403?s=80&v=4"},"commit":{"message":"restore PeerConn status update: connected","shortMessageHtmlLink":"restore PeerConn status update: connected"}},{"before":"81d72b94a095721e01d7dd5ffa18cdfaaf240494","after":"01c9b629ed127b254ff08807121092ca6a8893b1","ref":"refs/heads/master","pushedAt":"2024-02-13T14:42:18.000Z","pushType":"push","commitsCount":23,"pusher":{"login":"marcovidonis","name":"Marco Vidonis","path":"/marcovidonis","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/31407403?s=80&v=4"},"commit":{"message":"Merge remote-tracking branch 'upstream/master'","shortMessageHtmlLink":"Merge remote-tracking branch 'upstream/master'"}},{"before":"9baf001e60630e39dfaf82a87ebabe2daa402ca2","after":"81d72b94a095721e01d7dd5ffa18cdfaaf240494","ref":"refs/heads/master","pushedAt":"2024-02-09T17:05:10.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"marcovidonis","name":"Marco Vidonis","path":"/marcovidonis","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/31407403?s=80&v=4"},"commit":{"message":"expose ICEServers client config","shortMessageHtmlLink":"expose ICEServers client config"}},{"before":"e10ffd133acfb476b1ebd69f9380a4e300ad75b9","after":"9baf001e60630e39dfaf82a87ebabe2daa402ca2","ref":"refs/heads/master","pushedAt":"2024-02-09T17:01:03.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"marcovidonis","name":"Marco Vidonis","path":"/marcovidonis","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/31407403?s=80&v=4"},"commit":{"message":"Handle connection to torrent peer status update messages (#4)\n\n* basic observer framework\r\n\r\n* fleshing out the tracker status\r\n\r\n* set up provision for onPeerConnUpdate function\r\n\r\n* add provision for peer conn state update channel\r\n\r\n* connects to a valid tracker\r\n\r\n* added observer channel for announce status\r\n\r\n* set up provision for onPeerConnUpdate function\r\n\r\n* add provision for peer conn state update channel\r\n\r\n* set up Peer Connection status Observers\r\n\r\n* add missing Observer initialisation\r\n\r\n* add PeerConn test: connection established\r\n\r\n* add comment on torrent used for PeerConn testing\r\n\r\n* merged PeerObserver commits, moved readChannelTimeout\r\n\r\n* added failure case for AnnounceStatus observer\r\n\r\n* added Observers factory method\r\n\r\n* Added Event to AnnounceStatus, with embedded TrackerStatus\r\n\r\n* AnnounceStatus details and error reporting\r\n\r\n* state updates must be non-blocking\r\n\r\n* json annotations and use matching infoHash string\r\n\r\n* add unit tests on PeerConn Observer status reading\r\n\r\n* refactor test by doing direct transfer locally\r\n\r\n* add test and debug log on dropped connection\r\n\r\n* add provision for test on PeerID\r\n\r\n* remove unused OnPeerConnUpdate function\r\n\r\n* change Err field in PeerStatus to string\r\n\r\nThe main use for this status is to send update messages through the WS,\r\nin the form of JSON. Marshalling a JSON field into an error object\r\ndoesn't work in Go, so it's better to send the error message as string.\r\nSee https://github.com/golang/go/issues/5161\r\n\r\n* add PeerID check to test\r\n\r\n* remove unused method\r\n\r\n---------\r\n\r\nCo-authored-by: Parker Whittle ","shortMessageHtmlLink":"Handle connection to torrent peer status update messages (#4)"}},{"before":"22d114e863126f81ddcf4d8d1bca510482cc968e","after":"a01e54942c7fa73bde52b5b95d6b687a85183630","ref":"refs/heads/on-peer-conn-update","pushedAt":"2024-02-09T16:58:52.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"marcovidonis","name":"Marco Vidonis","path":"/marcovidonis","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/31407403?s=80&v=4"},"commit":{"message":"remove unused method","shortMessageHtmlLink":"remove unused method"}},{"before":"5c138a683a1a4590df895ddd0477258c5e86d228","after":"22d114e863126f81ddcf4d8d1bca510482cc968e","ref":"refs/heads/on-peer-conn-update","pushedAt":"2024-01-15T17:59:42.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"marcovidonis","name":"Marco Vidonis","path":"/marcovidonis","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/31407403?s=80&v=4"},"commit":{"message":"add PeerID check to test","shortMessageHtmlLink":"add PeerID check to test"}},{"before":"e9a8f81898d673bfd5102e159ba66e78a39e866b","after":"5c138a683a1a4590df895ddd0477258c5e86d228","ref":"refs/heads/on-peer-conn-update","pushedAt":"2024-01-15T14:55:50.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"marcovidonis","name":"Marco Vidonis","path":"/marcovidonis","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/31407403?s=80&v=4"},"commit":{"message":"change Err field in PeerStatus to string\n\nThe main use for this status is to send update messages through the WS,\nin the form of JSON. Marshalling a JSON field into an error object\ndoesn't work in Go, so it's better to send the error message as string.\nSee https://github.com/golang/go/issues/5161","shortMessageHtmlLink":"change Err field in PeerStatus to string"}},{"before":"445f700d4ac85f7e8e589cb72cd84754c99ed541","after":"e9a8f81898d673bfd5102e159ba66e78a39e866b","ref":"refs/heads/on-peer-conn-update","pushedAt":"2023-12-20T09:33:55.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"marcovidonis","name":"Marco Vidonis","path":"/marcovidonis","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/31407403?s=80&v=4"},"commit":{"message":"remove unused OnPeerConnUpdate function","shortMessageHtmlLink":"remove unused OnPeerConnUpdate function"}},{"before":"ea64244fe544816c8853d162556e4305531fae3f","after":"445f700d4ac85f7e8e589cb72cd84754c99ed541","ref":"refs/heads/on-peer-conn-update","pushedAt":"2023-11-30T16:26:54.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"marcovidonis","name":"Marco Vidonis","path":"/marcovidonis","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/31407403?s=80&v=4"},"commit":{"message":"add provision for test on PeerID","shortMessageHtmlLink":"add provision for test on PeerID"}},{"before":"d4799f90591411debc0401fedea452b990beafa1","after":"ea64244fe544816c8853d162556e4305531fae3f","ref":"refs/heads/on-peer-conn-update","pushedAt":"2023-11-30T12:11:04.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"marcovidonis","name":"Marco Vidonis","path":"/marcovidonis","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/31407403?s=80&v=4"},"commit":{"message":"add test and debug log on dropped connection","shortMessageHtmlLink":"add test and debug log on dropped connection"}},{"before":"81b55a0aca4cc4d9a92f0a30c8d3025b1b354393","after":"d4799f90591411debc0401fedea452b990beafa1","ref":"refs/heads/on-peer-conn-update","pushedAt":"2023-11-30T11:56:14.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"marcovidonis","name":"Marco Vidonis","path":"/marcovidonis","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/31407403?s=80&v=4"},"commit":{"message":"refactor test by doing direct transfer locally","shortMessageHtmlLink":"refactor test by doing direct transfer locally"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAEKStpWwA","startCursor":null,"endCursor":null}},"title":"Activity ยท nimbleape/torrent"}