{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":584556174,"defaultBranch":"main","name":"conc","ownerLogin":"sourcegraph","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2023-01-02T22:52:07.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/3979584?v=4","public":true,"private":false,"isOrgOwned":true},"refInfo":{"name":"","listCacheKey":"v0:1705873455.0","currentOid":""},"activityList":{"items":[{"before":"a3ac5f2fe2fde4baa52e7156d87b27d9e1455dda","after":"5f936abd7ae87036af1f75c95fb9d0daaf00116b","ref":"refs/heads/main","pushedAt":"2024-01-21T21:45:48.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"camdencheek","name":"Camden Cheek","path":"/camdencheek","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/12631702?s=80&v=4"},"commit":{"message":"bump minimum go version for main","shortMessageHtmlLink":"bump minimum go version for main"}},{"before":"a3ac5f2fe2fde4baa52e7156d87b27d9e1455dda","after":"5f936abd7ae87036af1f75c95fb9d0daaf00116b","ref":"refs/heads/cc/fix-ci","pushedAt":"2024-01-21T21:45:21.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"camdencheek","name":"Camden Cheek","path":"/camdencheek","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/12631702?s=80&v=4"},"commit":{"message":"bump minimum go version for main","shortMessageHtmlLink":"bump minimum go version for main"}},{"before":null,"after":"a3ac5f2fe2fde4baa52e7156d87b27d9e1455dda","ref":"refs/heads/cc/fix-ci","pushedAt":"2024-01-21T21:44:15.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"camdencheek","name":"Camden Cheek","path":"/camdencheek","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/12631702?s=80&v=4"},"commit":{"message":"bump minimum go version","shortMessageHtmlLink":"bump minimum go version"}},{"before":"112480952b6cb69917aa102aa14f35f360b1f75c","after":"a3ac5f2fe2fde4baa52e7156d87b27d9e1455dda","ref":"refs/heads/main","pushedAt":"2024-01-21T21:44:03.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"camdencheek","name":"Camden Cheek","path":"/camdencheek","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/12631702?s=80&v=4"},"commit":{"message":"bump minimum go version","shortMessageHtmlLink":"bump minimum go version"}},{"before":"e454401b0a476b708561a7c10d4b3f268b33e604","after":"112480952b6cb69917aa102aa14f35f360b1f75c","ref":"refs/heads/main","pushedAt":"2024-01-21T21:42:30.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"camdencheek","name":"Camden Cheek","path":"/camdencheek","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/12631702?s=80&v=4"},"commit":{"message":"add Makefile and run benchmarks as part of PRs (#130)\n\nThis:\r\n- Adds a Makefile with `make test` and `make lint` and `make bench`\r\n- Adds a new workflow for `main` that runs benchmarks and saves them\r\n- Adds a new workflow for PRs that runs benchmarks and compares against\r\n`main`. When a benchmark regression occurs, it should fail the workflow","shortMessageHtmlLink":"add Makefile and run benchmarks as part of PRs (#130)"}},{"before":"f859a1775f10f864a8d576d407e30be08d0b8c37","after":null,"ref":"refs/heads/cc/multierror","pushedAt":"2024-01-19T18:08:21.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"camdencheek","name":"Camden Cheek","path":"/camdencheek","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/12631702?s=80&v=4"}},{"before":"4c5c70ab8b0e91cb1ecfa7eb4622723b138af3cc","after":"e454401b0a476b708561a7c10d4b3f268b33e604","ref":"refs/heads/main","pushedAt":"2024-01-19T18:08:16.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"camdencheek","name":"Camden Cheek","path":"/camdencheek","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/12631702?s=80&v=4"},"commit":{"message":"Exclusively use go1.20 multierrors (#127)\n\nThis removes the dependency on `go.uber.org/multierror` in favor of\r\nthe multierror functionality included in go 1.20.","shortMessageHtmlLink":"Exclusively use go1.20 multierrors (#127)"}},{"before":"5eb68f8b7baf5f799ada5ff1ef9be8d928d6fada","after":"f859a1775f10f864a8d576d407e30be08d0b8c37","ref":"refs/heads/cc/multierror","pushedAt":"2024-01-19T18:00:22.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"camdencheek","name":"Camden Cheek","path":"/camdencheek","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/12631702?s=80&v=4"},"commit":{"message":"use right error variable","shortMessageHtmlLink":"use right error variable"}},{"before":"b7c57e555be651234683366570ad708d0c34090b","after":"5eb68f8b7baf5f799ada5ff1ef9be8d928d6fada","ref":"refs/heads/cc/multierror","pushedAt":"2024-01-19T17:53:22.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"camdencheek","name":"Camden Cheek","path":"/camdencheek","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/12631702?s=80&v=4"},"commit":{"message":"add test assertion that unwrapping works correctly","shortMessageHtmlLink":"add test assertion that unwrapping works correctly"}},{"before":"2cc851851cb9fe3bf6f3e4d045ecf91677154308","after":null,"ref":"refs/heads/cc/reusable-err-pool","pushedAt":"2024-01-19T17:52:26.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"camdencheek","name":"Camden Cheek","path":"/camdencheek","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/12631702?s=80&v=4"}},{"before":"8427ccd11dde5f56ccacfbbd184f42ce865d2f0d","after":"4c5c70ab8b0e91cb1ecfa7eb4622723b138af3cc","ref":"refs/heads/main","pushedAt":"2024-01-19T17:52:23.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"camdencheek","name":"Camden Cheek","path":"/camdencheek","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/12631702?s=80&v=4"},"commit":{"message":"Reusable pools (#129)\n\nThis updates the pool types that collect results and errors to reset on\r\n`Wait` so they are reusable once waited on. Previously, if a pool was\r\nreused, the returned values of `Wait()` would contain the aggregated set\r\nof all previous uses. This wasn't explicitly a guarantee of the library\r\nbefore, but it does make it operate more like `sync.WaitGroup` and it's\r\neasy to do, so I think it's a positive change.","shortMessageHtmlLink":"Reusable pools (#129)"}},{"before":"1cc14bfb9fef2425eb3a1b275bf3763c600a013d","after":"2cc851851cb9fe3bf6f3e4d045ecf91677154308","ref":"refs/heads/cc/reusable-err-pool","pushedAt":"2024-01-19T17:51:17.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"camdencheek","name":"Camden Cheek","path":"/camdencheek","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/12631702?s=80&v=4"},"commit":{"message":"make pools reusable","shortMessageHtmlLink":"make pools reusable"}},{"before":"e1e9af205ab13cfe0c656ad3ce6240d63c90fd5e","after":null,"ref":"refs/heads/cc/deterministic-result-order","pushedAt":"2024-01-19T17:50:15.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"camdencheek","name":"Camden Cheek","path":"/camdencheek","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/12631702?s=80&v=4"}},{"before":"4afefce20f9b00e927315b4c3cdc792fb824780c","after":"8427ccd11dde5f56ccacfbbd184f42ce865d2f0d","ref":"refs/heads/main","pushedAt":"2024-01-19T17:50:07.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"camdencheek","name":"Camden Cheek","path":"/camdencheek","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/12631702?s=80&v=4"},"commit":{"message":"Make result order deterministic (#126)\n\nThis makes the order of results in a `Result.*Pool` deterministic so\r\nthat the order of the result slice corresponds with the order of tasks\r\nsubmitted. As an example of why this would be useful, it makes it easy\r\nto rewrite `iter.Map` in terms of `ResultPool`. Additionally, it's a\r\ngenerally nice and intuitive property to be able to match the index of\r\nthe result slice with the index of the input slice.","shortMessageHtmlLink":"Make result order deterministic (#126)"}},{"before":"c6e6d743694e9ea5d7d56d906396f01e5989a9dd","after":null,"ref":"refs/heads/cc/join-err-slice","pushedAt":"2024-01-08T18:25:45.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"camdencheek","name":"Camden Cheek","path":"/camdencheek","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/12631702?s=80&v=4"}},{"before":"fb2473d64d1625f38003d9d8c20895f11147d62a","after":"b7c57e555be651234683366570ad708d0c34090b","ref":"refs/heads/cc/multierror","pushedAt":"2024-01-08T18:25:42.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"camdencheek","name":"Camden Cheek","path":"/camdencheek","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/12631702?s=80&v=4"},"commit":{"message":"add test assertion that unwrapping works correctly","shortMessageHtmlLink":"add test assertion that unwrapping works correctly"}},{"before":"30a99cd85b339bce498627582d604740385a3ba8","after":"4afefce20f9b00e927315b4c3cdc792fb824780c","ref":"refs/heads/main","pushedAt":"2024-01-08T18:24:09.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"camdencheek","name":"Camden Cheek","path":"/camdencheek","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/12631702?s=80&v=4"},"commit":{"message":"Multierror: join errors at the end (#132)\n\nThis fixes `MapErr` so that it does not create recursive `joinError`s.\r\nBy repeatedly calling `errors.Join(`, we create a nested set of\r\n`joinError`s rather than a single, flat `joinError`. Then, when\r\n`Error()` is called, it allocates a new string for each nested error\r\nbecause `joinError` calls `Error()` recursively on each of its children.\r\n\r\nInstead, this PR updates `MapErr` to just collect a slice of errors and\r\nreturn the flat joined error.","shortMessageHtmlLink":"Multierror: join errors at the end (#132)"}},{"before":"03319982368f0226ce4687eee3a61d02d7ca0770","after":"fb2473d64d1625f38003d9d8c20895f11147d62a","ref":"refs/heads/cc/multierror","pushedAt":"2024-01-08T18:23:02.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"camdencheek","name":"Camden Cheek","path":"/camdencheek","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/12631702?s=80&v=4"},"commit":{"message":"add test assertion that unwrapping works correctly","shortMessageHtmlLink":"add test assertion that unwrapping works correctly"}},{"before":null,"after":"c6e6d743694e9ea5d7d56d906396f01e5989a9dd","ref":"refs/heads/cc/join-err-slice","pushedAt":"2024-01-08T18:13:01.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"camdencheek","name":"Camden Cheek","path":"/camdencheek","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/12631702?s=80&v=4"},"commit":{"message":"join error slice","shortMessageHtmlLink":"join error slice"}},{"before":"bf9f0f58f2a5cd1164a48c8afdf0a29bf6f9d734","after":"1cc14bfb9fef2425eb3a1b275bf3763c600a013d","ref":"refs/heads/cc/reusable-err-pool","pushedAt":"2024-01-01T16:14:10.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"camdencheek","name":"Camden Cheek","path":"/camdencheek","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/12631702?s=80&v=4"},"commit":{"message":"make pools reusable","shortMessageHtmlLink":"make pools reusable"}},{"before":"c4b7625ce76fac287e3aff8381a77122bd5fab0c","after":"bf9f0f58f2a5cd1164a48c8afdf0a29bf6f9d734","ref":"refs/heads/cc/reusable-err-pool","pushedAt":"2024-01-01T16:08:26.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"camdencheek","name":"Camden Cheek","path":"/camdencheek","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/12631702?s=80&v=4"},"commit":{"message":"make pools reusable","shortMessageHtmlLink":"make pools reusable"}},{"before":null,"after":"c4b7625ce76fac287e3aff8381a77122bd5fab0c","ref":"refs/heads/cc/reusable-err-pool","pushedAt":"2024-01-01T15:59:42.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"camdencheek","name":"Camden Cheek","path":"/camdencheek","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/12631702?s=80&v=4"},"commit":{"message":"make error pool reusable","shortMessageHtmlLink":"make error pool reusable"}},{"before":"6d204bcbfdf02efd0363169b7314a68fe7a74a34","after":"03319982368f0226ce4687eee3a61d02d7ca0770","ref":"refs/heads/cc/multierror","pushedAt":"2023-12-28T23:01:06.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"camdencheek","name":"Camden Cheek","path":"/camdencheek","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/12631702?s=80&v=4"},"commit":{"message":"remove the note about errors in the readme","shortMessageHtmlLink":"remove the note about errors in the readme"}},{"before":"d75833aae76c2d17de16d3d7fef41c782fe10a9b","after":"6d204bcbfdf02efd0363169b7314a68fe7a74a34","ref":"refs/heads/cc/multierror","pushedAt":"2023-12-28T22:58:44.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"camdencheek","name":"Camden Cheek","path":"/camdencheek","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/12631702?s=80&v=4"},"commit":{"message":"bump minimum version","shortMessageHtmlLink":"bump minimum version"}},{"before":null,"after":"d75833aae76c2d17de16d3d7fef41c782fe10a9b","ref":"refs/heads/cc/multierror","pushedAt":"2023-12-28T22:54:04.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"camdencheek","name":"Camden Cheek","path":"/camdencheek","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/12631702?s=80&v=4"},"commit":{"message":"exclusively use go1.20 multierrors","shortMessageHtmlLink":"exclusively use go1.20 multierrors"}},{"before":"c1f732f9367a1b5393c5b60c2d58e73727d53756","after":"e1e9af205ab13cfe0c656ad3ce6240d63c90fd5e","ref":"refs/heads/cc/deterministic-result-order","pushedAt":"2023-12-27T01:21:21.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"camdencheek","name":"Camden Cheek","path":"/camdencheek","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/12631702?s=80&v=4"},"commit":{"message":"revert name change","shortMessageHtmlLink":"revert name change"}},{"before":"4b52aab31d748ce254717d091e9c5f650477b9ef","after":"c1f732f9367a1b5393c5b60c2d58e73727d53756","ref":"refs/heads/cc/deterministic-result-order","pushedAt":"2023-12-26T22:39:53.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"camdencheek","name":"Camden Cheek","path":"/camdencheek","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/12631702?s=80&v=4"},"commit":{"message":"appease lint","shortMessageHtmlLink":"appease lint"}},{"before":"da32844df7d5869a73bccd7595a8e944539914fc","after":"4b52aab31d748ce254717d091e9c5f650477b9ef","ref":"refs/heads/cc/deterministic-result-order","pushedAt":"2023-12-26T22:31:21.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"camdencheek","name":"Camden Cheek","path":"/camdencheek","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/12631702?s=80&v=4"},"commit":{"message":"add docs and assertions","shortMessageHtmlLink":"add docs and assertions"}},{"before":null,"after":"da32844df7d5869a73bccd7595a8e944539914fc","ref":"refs/heads/cc/deterministic-result-order","pushedAt":"2023-12-26T22:24:32.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"camdencheek","name":"Camden Cheek","path":"/camdencheek","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/12631702?s=80&v=4"},"commit":{"message":"use sort package rather than slices to support go versions < 1.21","shortMessageHtmlLink":"use sort package rather than slices to support go versions < 1.21"}},{"before":"a68c69faf592d2da20745b1088d091ac5b635649","after":"30a99cd85b339bce498627582d604740385a3ba8","ref":"refs/heads/main","pushedAt":"2023-11-12T17:16:50.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"camdencheek","name":"Camden Cheek","path":"/camdencheek","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/12631702?s=80&v=4"},"commit":{"message":"simplify collection of errors","shortMessageHtmlLink":"simplify collection of errors"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAD5U5PnQA","startCursor":null,"endCursor":null}},"title":"Activity ยท sourcegraph/conc"}