{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":57150400,"defaultBranch":"v2","name":"go-imap","ownerLogin":"emersion","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2016-04-26T17:59:18.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/506932?v=4","public":true,"private":false,"isOrgOwned":false},"refInfo":{"name":"","listCacheKey":"v0:1715858999.0","currentOid":""},"activityList":{"items":[{"before":"f3795e5b5783ec3efdb04b443f58a9598b1256ff","after":null,"ref":"refs/heads/caps-timeout","pushedAt":"2024-05-16T22:40:09.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"emersion","name":"Simon Ser","path":"/emersion","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/506932?s=80&v=4"}},{"before":"5b7643f2ca1ebf875a2b89db56fb7144d4ea7b78","after":"55076bfbccb905843c335ac55ccd958f36e3bb5e","ref":"refs/heads/v2","pushedAt":"2024-05-16T22:40:09.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"emersion","name":"Simon Ser","path":"/emersion","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/506932?s=80&v=4"},"commit":{"message":"imapclient: add timeout to Client.Caps","shortMessageHtmlLink":"imapclient: add timeout to Client.Caps"}},{"before":"af936cc2e518f40c6997c70bd4a305b6295b40b9","after":null,"ref":"refs/heads/acl","pushedAt":"2024-05-16T11:29:59.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"emersion","name":"Simon Ser","path":"/emersion","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/506932?s=80&v=4"}},{"before":"ee36cf4658d87d2230b6bde0b0c2177b6b4eff96","after":"5b7643f2ca1ebf875a2b89db56fb7144d4ea7b78","ref":"refs/heads/v2","pushedAt":"2024-05-16T11:29:58.000Z","pushType":"pr_merge","commitsCount":6,"pusher":{"login":"emersion","name":"Simon Ser","path":"/emersion","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/506932?s=80&v=4"},"commit":{"message":"imapclient: add ACL tests","shortMessageHtmlLink":"imapclient: add ACL tests"}},{"before":null,"after":"af936cc2e518f40c6997c70bd4a305b6295b40b9","ref":"refs/heads/acl","pushedAt":"2024-05-14T09:50:49.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"emersion","name":"Simon Ser","path":"/emersion","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/506932?s=80&v=4"},"commit":{"message":"imapclient: add ACL tests","shortMessageHtmlLink":"imapclient: add ACL tests"}},{"before":"0b21b49c90839e9d1110192c9ab4a74fab4162da","after":"6a6113fae7b7da739fe61dc04ab4df73171afe86","ref":"refs/heads/compress","pushedAt":"2024-05-08T15:06:12.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"emersion","name":"Simon Ser","path":"/emersion","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/506932?s=80&v=4"},"commit":{"message":"imapserver: add COMPRESS","shortMessageHtmlLink":"imapserver: add COMPRESS"}},{"before":null,"after":"f3795e5b5783ec3efdb04b443f58a9598b1256ff","ref":"refs/heads/caps-timeout","pushedAt":"2024-04-25T15:09:14.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"emersion","name":"Simon Ser","path":"/emersion","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/506932?s=80&v=4"},"commit":{"message":"imapclient: add timeout to Client.Caps","shortMessageHtmlLink":"imapclient: add timeout to Client.Caps"}},{"before":"a3d367456797a4cf1a9c853ba0e7d75dff67f069","after":"ee36cf4658d87d2230b6bde0b0c2177b6b4eff96","ref":"refs/heads/v2","pushedAt":"2024-04-25T10:31:58.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"emersion","name":"Simon Ser","path":"/emersion","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/506932?s=80&v=4"},"commit":{"message":"imapclient: fix timeout for initial greeting\n\nWe were setting the timeout to 0 when waiting for the initial\ngreeting from the server. Use 30s instead.","shortMessageHtmlLink":"imapclient: fix timeout for initial greeting"}},{"before":"03a804f065892bc456285430cfd8ef59fce01517","after":"a3d367456797a4cf1a9c853ba0e7d75dff67f069","ref":"refs/heads/v2","pushedAt":"2024-04-25T07:59:10.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"emersion","name":"Simon Ser","path":"/emersion","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/506932?s=80&v=4"},"commit":{"message":"imapclient: set separator to \"/\" in Dovecot tests","shortMessageHtmlLink":"imapclient: set separator to \"/\" in Dovecot tests"}},{"before":"bb7d5b05ca4e0f38a6c76bf54b6619b90fd396a5","after":"03a804f065892bc456285430cfd8ef59fce01517","ref":"refs/heads/v2","pushedAt":"2024-04-25T07:51:03.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"emersion","name":"Simon Ser","path":"/emersion","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/506932?s=80&v=4"},"commit":{"message":"imapclient: add LIST test","shortMessageHtmlLink":"imapclient: add LIST test"}},{"before":"ae054169b2ccc772a106af784920ed33f4ee1cc6","after":"bb7d5b05ca4e0f38a6c76bf54b6619b90fd396a5","ref":"refs/heads/v2","pushedAt":"2024-04-25T07:43:42.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"emersion","name":"Simon Ser","path":"/emersion","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/506932?s=80&v=4"},"commit":{"message":"imapclient: add STATUS test","shortMessageHtmlLink":"imapclient: add STATUS test"}},{"before":"8a23ded19ca674f32b971030f57ab732b859cab0","after":"ae054169b2ccc772a106af784920ed33f4ee1cc6","ref":"refs/heads/v2","pushedAt":"2024-04-24T12:49:13.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"emersion","name":"Simon Ser","path":"/emersion","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/506932?s=80&v=4"},"commit":{"message":"imapclient: use defer to close startTLSCommand.upgradeDone\n\nThat way, any panic will still unblock goroutines waiting on the\nchannel.","shortMessageHtmlLink":"imapclient: use defer to close startTLSCommand.upgradeDone"}},{"before":"29eba7b1cfc8b63ca01c9a5994e8e802dcda30da","after":"8a23ded19ca674f32b971030f57ab732b859cab0","ref":"refs/heads/v2","pushedAt":"2024-04-24T12:42:29.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"emersion","name":"Simon Ser","path":"/emersion","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/506932?s=80&v=4"},"commit":{"message":"imapclient: document upgradeStartTLS","shortMessageHtmlLink":"imapclient: document upgradeStartTLS"}},{"before":"5919323c534044495cc313e9a708e0769f2c82c9","after":"29eba7b1cfc8b63ca01c9a5994e8e802dcda30da","ref":"refs/heads/v2","pushedAt":"2024-04-24T12:35:00.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"emersion","name":"Simon Ser","path":"/emersion","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/506932?s=80&v=4"},"commit":{"message":"imapclient: wait for handshake to complete during STARTTLS\n\nOtherwise TLS errors bubble up in the next command, which is\nconfusing.\n\nThis does add latency due to the roundtrip, but STARTTLS is legacy\nanyways.","shortMessageHtmlLink":"imapclient: wait for handshake to complete during STARTTLS"}},{"before":"367665f5eb89e2c30279fbafc4fa78483709bb4b","after":"5919323c534044495cc313e9a708e0769f2c82c9","ref":"refs/heads/v2","pushedAt":"2024-04-24T11:29:35.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"emersion","name":"Simon Ser","path":"/emersion","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/506932?s=80&v=4"},"commit":{"message":"imapclient: add STARTTLS test","shortMessageHtmlLink":"imapclient: add STARTTLS test"}},{"before":"6e10e6fb2dfd5e2169bcab07be1f39e4a163ceed","after":"367665f5eb89e2c30279fbafc4fa78483709bb4b","ref":"refs/heads/v2","pushedAt":"2024-04-24T10:46:29.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"emersion","name":"Simon Ser","path":"/emersion","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/506932?s=80&v=4"},"commit":{"message":"imapclient: fix race condition in test initialization\n\nFixes the following:\n\n ==================\n WARNING: DATA RACE\n Read at 0x00c000293200 by goroutine 102:\n go:(*struct { io.Writer }).Write()\n :1 +0x48\n io.(*teeReader).Read()\n /usr/lib/go/src/io/io.go:630 +0xb0\n go:(*struct { io.Reader; io.Writer }).Read()\n :1 +0x6c\n bufio.(*Reader).fill()\n /usr/lib/go/src/bufio/bufio.go:110 +0x2af\n bufio.(*Reader).ReadByte()\n /usr/lib/go/src/bufio/bufio.go:269 +0x4b\n github.com/emersion/go-imap/v2/internal/imapwire.(*Decoder).EOF()\n /home/simon/src/go-imap/internal/imapwire/decoder.go:113 +0x45\n github.com/emersion/go-imap/v2/imapclient.(*Client).read()\n /home/simon/src/go-imap/imapclient/client.go:581 +0x184\n github.com/emersion/go-imap/v2/imapclient.New.gowrap1()\n /home/simon/src/go-imap/imapclient/client.go:185 +0x33\n\n Previous write at 0x00c000293200 by goroutine 98:\n github.com/emersion/go-imap/v2/imapclient_test.newClientServerPair()\n /home/simon/src/go-imap/imapclient/client_test.go:151 +0x864\n github.com/emersion/go-imap/v2/imapclient_test.TestStartTLS()\n /home/simon/src/go-imap/imapclient/starttls_test.go:10 +0x44\n testing.tRunner()\n /usr/lib/go/src/testing/testing.go:1689 +0x21e\n testing.(*T).Run.gowrap1()\n /usr/lib/go/src/testing/testing.go:1742 +0x44\n\n Goroutine 102 (running) created at:\n github.com/emersion/go-imap/v2/imapclient.New()\n /home/simon/src/go-imap/imapclient/client.go:185 +0x8ec\n github.com/emersion/go-imap/v2/imapclient_test.newClientServerPair()\n /home/simon/src/go-imap/imapclient/client_test.go:128 +0x25a\n github.com/emersion/go-imap/v2/imapclient_test.TestStartTLS()\n /home/simon/src/go-imap/imapclient/starttls_test.go:10 +0x44\n testing.tRunner()\n /usr/lib/go/src/testing/testing.go:1689 +0x21e\n testing.(*T).Run.gowrap1()\n /usr/lib/go/src/testing/testing.go:1742 +0x44\n\n Goroutine 98 (running) created at:\n testing.(*T).Run()\n /usr/lib/go/src/testing/testing.go:1742 +0x825\n testing.runTests.func1()\n /usr/lib/go/src/testing/testing.go:2161 +0x85\n testing.tRunner()\n /usr/lib/go/src/testing/testing.go:1689 +0x21e\n testing.runTests()\n /usr/lib/go/src/testing/testing.go:2159 +0x8be\n testing.(*M).Run()\n /usr/lib/go/src/testing/testing.go:2027 +0xf17\n main.main()\n _testmain.go:73 +0x2bd\n ==================","shortMessageHtmlLink":"imapclient: fix race condition in test initialization"}},{"before":"e695345cec7778d81a24391a9232a204f983f44c","after":"6e10e6fb2dfd5e2169bcab07be1f39e4a163ceed","ref":"refs/heads/v2","pushedAt":"2024-04-23T16:09:58.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"emersion","name":"Simon Ser","path":"/emersion","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/506932?s=80&v=4"},"commit":{"message":"imapclient: add basic SELECT test","shortMessageHtmlLink":"imapclient: add basic SELECT test"}},{"before":"a587a14d3f014cfade804b4514a4040cc7ba7658","after":"e695345cec7778d81a24391a9232a204f983f44c","ref":"refs/heads/v2","pushedAt":"2024-04-23T15:53:01.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"emersion","name":"Simon Ser","path":"/emersion","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/506932?s=80&v=4"},"commit":{"message":"imapclient: fix data race with Command.tag\n\nWe need to set Command.tag before inserting the command in\nClient.pendingCmds.\n\nFixes the following race condition:\n\n ==================\n WARNING: DATA RACE\n Read at 0x00c0000a6600 by goroutine 7:\n github.com/emersion/go-imap/v2/imapclient.(*Client).deletePendingCmdByTag()\n /home/simon/src/go-imap/imapclient/client.go:432 +0x1cc\n github.com/emersion/go-imap/v2/imapclient.(*Client).readResponseTagged()\n /home/simon/src/go-imap/imapclient/client.go:666 +0x84\n github.com/emersion/go-imap/v2/imapclient.(*Client).readResponse()\n /home/simon/src/go-imap/imapclient/client.go:619 +0x35e\n github.com/emersion/go-imap/v2/imapclient.(*Client).read()\n /home/simon/src/go-imap/imapclient/client.go:580 +0x2a7\n github.com/emersion/go-imap/v2/imapclient.New.gowrap1()\n /home/simon/src/go-imap/imapclient/client.go:185 +0x33\n\n Previous write at 0x00c0000a6600 by main goroutine:\n github.com/emersion/go-imap/v2/imapclient.(*Client).beginCommand()\n /home/simon/src/go-imap/imapclient/client.go:414 +0x665\n github.com/emersion/go-imap/v2/imapclient.(*Client).Logout()\n /home/simon/src/go-imap/imapclient/client.go:990 +0x8e\n main.main()\n /home/simon/src/go-imap/cmd/imapclient/main.go:64 +0x184\n\n Goroutine 7 (running) created at:\n github.com/emersion/go-imap/v2/imapclient.New()\n /home/simon/src/go-imap/imapclient/client.go:185 +0x8ec\n main.main()\n /home/simon/src/go-imap/cmd/imapclient/main.go:41 +0x17e\n ==================","shortMessageHtmlLink":"imapclient: fix data race with Command.tag"}},{"before":"8405270a73edbcc90f177bda044f33fe95e4fcfe","after":"a587a14d3f014cfade804b4514a4040cc7ba7658","ref":"refs/heads/v2","pushedAt":"2024-04-17T10:06:53.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"emersion","name":"Simon Ser","path":"/emersion","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/506932?s=80&v=4"},"commit":{"message":"Upgrade github.com/emersion/go-message","shortMessageHtmlLink":"Upgrade github.com/emersion/go-message"}},{"before":"8a0126fbab4178e05d2ea1174406c6776d561404","after":"8405270a73edbcc90f177bda044f33fe95e4fcfe","ref":"refs/heads/v2","pushedAt":"2024-04-17T10:03:43.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"emersion","name":"Simon Ser","path":"/emersion","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/506932?s=80&v=4"},"commit":{"message":"utf7: drop repl","shortMessageHtmlLink":"utf7: drop repl"}},{"before":"54d8d3d8e060163398f0c70cb7a717ae91239ccf","after":"8a0126fbab4178e05d2ea1174406c6776d561404","ref":"refs/heads/v2","pushedAt":"2024-04-16T13:34:12.000Z","pushType":"pr_merge","commitsCount":6,"pusher":{"login":"emersion","name":"Simon Ser","path":"/emersion","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/506932?s=80&v=4"},"commit":{"message":"imapclient: add Create test with UTF-8 characters\n\nReferences: https://github.com/emersion/go-imap/issues/607","shortMessageHtmlLink":"imapclient: add Create test with UTF-8 characters"}},{"before":"13a0294b64093a8868d6d754fc22cded2bf9b62d","after":null,"ref":"refs/heads/list-utf8","pushedAt":"2024-04-16T13:34:12.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"emersion","name":"Simon Ser","path":"/emersion","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/506932?s=80&v=4"}},{"before":"4b4d1a997bf7f710b34c35b36fa81001eeb046f9","after":"13a0294b64093a8868d6d754fc22cded2bf9b62d","ref":"refs/heads/list-utf8","pushedAt":"2024-04-16T13:32:57.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"emersion","name":"Simon Ser","path":"/emersion","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/506932?s=80&v=4"},"commit":{"message":"imapclient: add Create test with UTF-8 characters\n\nReferences: https://github.com/emersion/go-imap/issues/607","shortMessageHtmlLink":"imapclient: add Create test with UTF-8 characters"}},{"before":"9021c590d335a02d26d8d451cb70dc3bfe022a6c","after":"4b4d1a997bf7f710b34c35b36fa81001eeb046f9","ref":"refs/heads/list-utf8","pushedAt":"2024-04-15T12:37:19.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"emersion","name":"Simon Ser","path":"/emersion","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/506932?s=80&v=4"},"commit":{"message":"imapclient: add Create test with UTF-8 characters\n\nReferences: https://github.com/emersion/go-imap/issues/607","shortMessageHtmlLink":"imapclient: add Create test with UTF-8 characters"}},{"before":"98146cba86e987efaaea163cd3d9512d71949826","after":"9021c590d335a02d26d8d451cb70dc3bfe022a6c","ref":"refs/heads/list-utf8","pushedAt":"2024-04-15T12:17:15.000Z","pushType":"push","commitsCount":3,"pusher":{"login":"emersion","name":"Simon Ser","path":"/emersion","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/506932?s=80&v=4"},"commit":{"message":"wip\n\nTODO: always accept quoted UTF-8 in decoder","shortMessageHtmlLink":"wip"}},{"before":"c8b5f8a8d12ef4bc83234ab7bcca8873a9455288","after":"98146cba86e987efaaea163cd3d9512d71949826","ref":"refs/heads/list-utf8","pushedAt":"2024-04-15T11:33:41.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"emersion","name":"Simon Ser","path":"/emersion","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/506932?s=80&v=4"},"commit":{"message":"imapclient: add Create test with UTF-8 characters\n\nReferences: https://github.com/emersion/go-imap/issues/607","shortMessageHtmlLink":"imapclient: add Create test with UTF-8 characters"}},{"before":null,"after":"c8b5f8a8d12ef4bc83234ab7bcca8873a9455288","ref":"refs/heads/list-utf8","pushedAt":"2024-04-15T11:33:27.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"emersion","name":"Simon Ser","path":"/emersion","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/506932?s=80&v=4"},"commit":{"message":"imapclient: add Create test with UTF-8 characters","shortMessageHtmlLink":"imapclient: add Create test with UTF-8 characters"}},{"before":"ca0ddb75a697f13e66376b7f7be82cd13efdd507","after":"54d8d3d8e060163398f0c70cb7a717ae91239ccf","ref":"refs/heads/v2","pushedAt":"2024-04-15T11:32:26.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"emersion","name":"Simon Ser","path":"/emersion","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/506932?s=80&v=4"},"commit":{"message":"imapclient: add Create test","shortMessageHtmlLink":"imapclient: add Create test"}},{"before":null,"after":"0b21b49c90839e9d1110192c9ab4a74fab4162da","ref":"refs/heads/compress","pushedAt":"2024-04-08T13:38:20.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"emersion","name":"Simon Ser","path":"/emersion","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/506932?s=80&v=4"},"commit":{"message":"imapclient: add COMPRESS","shortMessageHtmlLink":"imapclient: add COMPRESS"}},{"before":"5153c189b5f9bdc364d9ef1e86eb2ddf57585679","after":"ca0ddb75a697f13e66376b7f7be82cd13efdd507","ref":"refs/heads/v2","pushedAt":"2024-03-29T16:24:29.000Z","pushType":"push","commitsCount":3,"pusher":{"login":"emersion","name":"Simon Ser","path":"/emersion","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/506932?s=80&v=4"},"commit":{"message":"imapclient: allow IdleCommand.Wait to be called before Close\n\nAllows users to figure out when the connection has been closed\nwhile idling.","shortMessageHtmlLink":"imapclient: allow IdleCommand.Wait to be called before Close"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAETCATaAA","startCursor":null,"endCursor":null}},"title":"Activity ยท emersion/go-imap"}