{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":79746008,"defaultBranch":"master","name":"ws","ownerLogin":"gobwas","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2017-01-22T21:11:53.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/675117?v=4","public":true,"private":false,"isOrgOwned":false},"refInfo":{"name":"","listCacheKey":"v0:1714728982.0","currentOid":""},"activityList":{"items":[{"before":"ad5685869feba36f891fa9fb802eed6edeee9108","after":null,"ref":"refs/heads/extract-autobahn-ci","pushedAt":"2024-05-03T09:12:48.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"cristaloleg","name":"Oleg Kovalov","path":"/cristaloleg","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/366002?s=80&v=4"}},{"before":"af7917fc1a681fd10b565a9c13b97d750b667bc0","after":"4f030072d3475c0a99f5908553997de71bb70d06","ref":"refs/heads/master","pushedAt":"2024-05-03T09:12:44.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"cristaloleg","name":"Oleg Kovalov","path":"/cristaloleg","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/366002?s=80&v=4"},"commit":{"message":"Extract Autobahn test suite to a separate CI step (#199)","shortMessageHtmlLink":"Extract Autobahn test suite to a separate CI step (#199)"}},{"before":null,"after":"ad5685869feba36f891fa9fb802eed6edeee9108","ref":"refs/heads/extract-autobahn-ci","pushedAt":"2024-05-03T09:00:05.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"cristaloleg","name":"Oleg Kovalov","path":"/cristaloleg","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/366002?s=80&v=4"},"commit":{"message":"Extract Autobahn test suite to a separate CI flow","shortMessageHtmlLink":"Extract Autobahn test suite to a separate CI flow"}},{"before":"02bca952972ad741960dac53f5b0d03cf256d122","after":"af7917fc1a681fd10b565a9c13b97d750b667bc0","ref":"refs/heads/master","pushedAt":"2024-05-03T08:33:17.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"cristaloleg","name":"Oleg Kovalov","path":"/cristaloleg","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/366002?s=80&v=4"},"commit":{"message":"Cipher 1.9x speedup (#198)\n\n* Cipher 1.9x speedup\r\n\r\nSimplify cipher loop and unroll once.\r\n\r\n```\r\nλ benchcmp before.txt after.txt | grep -v \"naive\"\r\nbenchmark old ns/op new ns/op delta\r\nBenchmarkCipher/bytes=7;offset=1-32 7.17 7.79 +8.65%\r\nBenchmarkCipher/bytes=125;offset=0-32 24.5 23.1 -6.07%\r\nBenchmarkCipher/bytes=1024;offset=0-32 126 63.4 -49.87%\r\nBenchmarkCipher/bytes=4096;offset=0-32 462 244 -47.26%\r\nBenchmarkCipher/bytes=4100;offset=4-32 460 249 -45.93%\r\nBenchmarkCipher/bytes=4099;offset=3-32 463 250 -45.93%\r\nBenchmarkCipher/bytes=32775;offset=49-32 3619 1936 -46.50%\r\n\r\nbenchmark old MB/s new MB/s speedup\r\nBenchmarkCipher/bytes=7;offset=1-32 976.74 898.93 0.92x\r\nBenchmarkCipher/bytes=125;offset=0-32 5092.84 5423.57 1.06x\r\nBenchmarkCipher/bytes=1024;offset=0-32 8103.00 16159.29 1.99x\r\nBenchmarkCipher/bytes=4096;offset=0-32 8870.86 16818.08 1.90x\r\nBenchmarkCipher/bytes=4100;offset=4-32 8917.63 16491.32 1.85x\r\nBenchmarkCipher/bytes=4099;offset=3-32 8854.38 16379.58 1.85x\r\nBenchmarkCipher/bytes=32775;offset=49-32 9056.37 16926.83 1.87x\r\n```\r\n\r\nI tried a few variations, but this seemed fine without too many changes.\r\n\r\n* Upgrade CI to more modern Go versions.\r\n\r\n* Fix doc\r\n\r\n* Revert \"Upgrade CI to more modern Go versions.\"\r\n\r\nThis reverts commit ed2945571fe7cbfead692fd2ba1cbb6a60aeefb5.","shortMessageHtmlLink":"Cipher 1.9x speedup (#198)"}},{"before":"1c06d8fe4aae1fec483e27d010579dcbc20c404b","after":null,"ref":"refs/heads/drop-go-1.15","pushedAt":"2024-05-03T07:50:00.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"cristaloleg","name":"Oleg Kovalov","path":"/cristaloleg","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/366002?s=80&v=4"}},{"before":"4600238e942e9bfef7f519fe34b5752f8d83bf4b","after":"02bca952972ad741960dac53f5b0d03cf256d122","ref":"refs/heads/master","pushedAt":"2024-05-03T07:49:55.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"cristaloleg","name":"Oleg Kovalov","path":"/cristaloleg","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/366002?s=80&v=4"},"commit":{"message":"Drop Go 1.15 support (#191)","shortMessageHtmlLink":"Drop Go 1.15 support (#191)"}},{"before":"a487143ec8524ed54213340f64fe551904180a0d","after":"1c06d8fe4aae1fec483e27d010579dcbc20c404b","ref":"refs/heads/drop-go-1.15","pushedAt":"2024-05-02T12:13:19.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"cristaloleg","name":"Oleg Kovalov","path":"/cristaloleg","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/366002?s=80&v=4"},"commit":{"message":"Drop Go 1.15 support","shortMessageHtmlLink":"Drop Go 1.15 support"}},{"before":"4cd3ab5b634dba327d6d76fbec1b21403f277f8a","after":null,"ref":"refs/heads/cristaloleg-patch-1","pushedAt":"2024-05-02T12:08:05.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"cristaloleg","name":"Oleg Kovalov","path":"/cristaloleg","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/366002?s=80&v=4"}},{"before":null,"after":"4cd3ab5b634dba327d6d76fbec1b21403f277f8a","ref":"refs/heads/cristaloleg-patch-1","pushedAt":"2024-04-29T10:29:27.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"cristaloleg","name":"Oleg Kovalov","path":"/cristaloleg","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/366002?s=80&v=4"},"commit":{"message":"Drop Go 1.15 support on CI","shortMessageHtmlLink":"Drop Go 1.15 support on CI"}},{"before":"f5b0a03c9319b9c488108b81b65a6cd5bc84616f","after":null,"ref":"refs/heads/host-header","pushedAt":"2024-01-08T08:29:10.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"cristaloleg","name":"Oleg Kovalov","path":"/cristaloleg","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/366002?s=80&v=4"}},{"before":"c7418fd56237737cc65d631cc24d4a3b802ad5b7","after":"4600238e942e9bfef7f519fe34b5752f8d83bf4b","ref":"refs/heads/master","pushedAt":"2024-01-08T08:29:08.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"cristaloleg","name":"Oleg Kovalov","path":"/cristaloleg","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/366002?s=80&v=4"},"commit":{"message":"Add Dialer.Host field (#196)","shortMessageHtmlLink":"Add Dialer.Host field (#196)"}},{"before":"3fade7ea7d393dd49b73ef1d04f8ac57488a3f59","after":"f5b0a03c9319b9c488108b81b65a6cd5bc84616f","ref":"refs/heads/host-header","pushedAt":"2024-01-08T08:16:23.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"cristaloleg","name":"Oleg Kovalov","path":"/cristaloleg","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/366002?s=80&v=4"},"commit":{"message":"Add Dialer.Host field","shortMessageHtmlLink":"Add Dialer.Host field"}},{"before":null,"after":"3fade7ea7d393dd49b73ef1d04f8ac57488a3f59","ref":"refs/heads/host-header","pushedAt":"2024-01-08T07:41:37.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"cristaloleg","name":"Oleg Kovalov","path":"/cristaloleg","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/366002?s=80&v=4"},"commit":{"message":"Add Dialer.Host field","shortMessageHtmlLink":"Add Dialer.Host field"}},{"before":"e776099fbcfe62a4169e369703671509a2cd2ba0","after":null,"ref":"refs/heads/dependabot/github_actions/actions/upload-artifact-4","pushedAt":"2023-12-17T10:47:33.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"dependabot[bot]","name":null,"path":"/apps/dependabot","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/29110?s=80&v=4"}},{"before":"40bc1fce3b33516fd4bcb48f51f5923c5d839d35","after":"c7418fd56237737cc65d631cc24d4a3b802ad5b7","ref":"refs/heads/master","pushedAt":"2023-12-17T10:47:25.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"cristaloleg","name":"Oleg Kovalov","path":"/cristaloleg","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/366002?s=80&v=4"},"commit":{"message":"ci: bump actions/upload-artifact from 3 to 4 (#193)\n\nBumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 3 to 4.\r\n- [Release notes](https://github.com/actions/upload-artifact/releases)\r\n- [Commits](https://github.com/actions/upload-artifact/compare/v3...v4)\r\n\r\n---\r\nupdated-dependencies:\r\n- dependency-name: actions/upload-artifact\r\n dependency-type: direct:production\r\n update-type: version-update:semver-major\r\n...\r\n\r\nSigned-off-by: dependabot[bot] \r\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>","shortMessageHtmlLink":"ci: bump actions/upload-artifact from 3 to 4 (#193)"}},{"before":null,"after":"e776099fbcfe62a4169e369703671509a2cd2ba0","ref":"refs/heads/dependabot/github_actions/actions/upload-artifact-4","pushedAt":"2023-12-17T09:29:55.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"dependabot[bot]","name":null,"path":"/apps/dependabot","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/29110?s=80&v=4"},"commit":{"message":"ci: bump actions/upload-artifact from 3 to 4\n\nBumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 3 to 4.\n- [Release notes](https://github.com/actions/upload-artifact/releases)\n- [Commits](https://github.com/actions/upload-artifact/compare/v3...v4)\n\n---\nupdated-dependencies:\n- dependency-name: actions/upload-artifact\n dependency-type: direct:production\n update-type: version-update:semver-major\n...\n\nSigned-off-by: dependabot[bot] ","shortMessageHtmlLink":"ci: bump actions/upload-artifact from 3 to 4"}},{"before":"a0a8d616809a848f0c1f574bf5b399a6fa526516","after":null,"ref":"refs/heads/dependabot/github_actions/actions/setup-go-5","pushedAt":"2023-12-10T09:27:48.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"cristaloleg","name":"Oleg Kovalov","path":"/cristaloleg","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/366002?s=80&v=4"}},{"before":"516805a9f3b35d04657bb22ce7e667e08421d134","after":"40bc1fce3b33516fd4bcb48f51f5923c5d839d35","ref":"refs/heads/master","pushedAt":"2023-12-10T09:27:43.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"cristaloleg","name":"Oleg Kovalov","path":"/cristaloleg","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/366002?s=80&v=4"},"commit":{"message":"ci: bump actions/setup-go from 4 to 5 (#192)\n\nBumps [actions/setup-go](https://github.com/actions/setup-go) from 4 to 5.\r\n- [Release notes](https://github.com/actions/setup-go/releases)\r\n- [Commits](https://github.com/actions/setup-go/compare/v4...v5)\r\n\r\n---\r\nupdated-dependencies:\r\n- dependency-name: actions/setup-go\r\n dependency-type: direct:production\r\n update-type: version-update:semver-major\r\n...\r\n\r\nSigned-off-by: dependabot[bot] \r\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>","shortMessageHtmlLink":"ci: bump actions/setup-go from 4 to 5 (#192)"}},{"before":null,"after":"a0a8d616809a848f0c1f574bf5b399a6fa526516","ref":"refs/heads/dependabot/github_actions/actions/setup-go-5","pushedAt":"2023-12-10T09:06:17.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"dependabot[bot]","name":null,"path":"/apps/dependabot","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/29110?s=80&v=4"},"commit":{"message":"ci: bump actions/setup-go from 4 to 5\n\nBumps [actions/setup-go](https://github.com/actions/setup-go) from 4 to 5.\n- [Release notes](https://github.com/actions/setup-go/releases)\n- [Commits](https://github.com/actions/setup-go/compare/v4...v5)\n\n---\nupdated-dependencies:\n- dependency-name: actions/setup-go\n dependency-type: direct:production\n update-type: version-update:semver-major\n...\n\nSigned-off-by: dependabot[bot] ","shortMessageHtmlLink":"ci: bump actions/setup-go from 4 to 5"}},{"before":null,"after":"a487143ec8524ed54213340f64fe551904180a0d","ref":"refs/heads/drop-go-1.15","pushedAt":"2023-12-04T11:17:39.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"cristaloleg","name":"Oleg Kovalov","path":"/cristaloleg","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/366002?s=80&v=4"},"commit":{"message":"Drop Go 1.15 support","shortMessageHtmlLink":"Drop Go 1.15 support"}},{"before":"8273d6541656dcce3c15513b9cfe1d807482f112","after":"ac9c3830b95f7654c45aa0b9841feeca4f987025","ref":"refs/heads/no-deps","pushedAt":"2023-11-01T17:14:52.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"cristaloleg","name":"Oleg Kovalov","path":"/cristaloleg","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/366002?s=80&v=4"},"commit":{"message":"fix go.mod","shortMessageHtmlLink":"fix go.mod"}},{"before":"56a829ae582b1f6a343d42822ff65fceb91fd5c2","after":"8273d6541656dcce3c15513b9cfe1d807482f112","ref":"refs/heads/no-deps","pushedAt":"2023-11-01T16:54:43.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"cristaloleg","name":"Oleg Kovalov","path":"/cristaloleg","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/366002?s=80&v=4"},"commit":{"message":"fix","shortMessageHtmlLink":"fix"}},{"before":"25fc0e4cc8d93b415a188e416c41878ab1129e43","after":"56a829ae582b1f6a343d42822ff65fceb91fd5c2","ref":"refs/heads/no-deps","pushedAt":"2023-11-01T16:46:37.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"cristaloleg","name":"Oleg Kovalov","path":"/cristaloleg","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/366002?s=80&v=4"},"commit":{"message":"upd","shortMessageHtmlLink":"upd"}},{"before":"a6c9785dc9eabeaf41fb6e27c0a19f06ca162f24","after":"516805a9f3b35d04657bb22ce7e667e08421d134","ref":"refs/heads/master","pushedAt":"2023-10-30T15:24:38.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"cristaloleg","name":"Oleg Kovalov","path":"/cristaloleg","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/366002?s=80&v=4"},"commit":{"message":"Remove common wsutil.Reader allocations (#189)\n\n![image](https://github.com/gobwas/ws/assets/5663952/b7f5a544-f6f0-44cf-b38c-e89fd3de0bd4)\r\n\r\n* `ws.ReadHeader` allocates a 12 byte temporary buffer to read the header into. Since `io.ReadFull` is used, it escapes to the heap.\r\n\r\n* `wsutil.NewCipherReader` is used for many calls.\r\n\r\nSince the `NextFrame` shouldn't have concurrent calls, both of these should be possible to have internally.\r\n\r\nI am forced to copy \"readHeader\" from `ws`, since there is not way to eliminate the alloc otherwise as far as I can tell.","shortMessageHtmlLink":"Remove common wsutil.Reader allocations (#189)"}},{"before":"032f6d9835acbc919e4a4eff11e6930a46260ebd","after":"a6c9785dc9eabeaf41fb6e27c0a19f06ca162f24","ref":"refs/heads/master","pushedAt":"2023-10-02T15:10:53.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"cristaloleg","name":"Oleg Kovalov","path":"/cristaloleg","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/366002?s=80&v=4"},"commit":{"message":"ws,wsutil: use t.Fatal instead of panic (#175)","shortMessageHtmlLink":"ws,wsutil: use t.Fatal instead of panic (#175)"}},{"before":"2edc87af77ae313f93fdf34f11a7c7d9ff4ddd2c","after":"25fc0e4cc8d93b415a188e416c41878ab1129e43","ref":"refs/heads/no-deps","pushedAt":"2023-10-02T12:15:04.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"cristaloleg","name":"Oleg Kovalov","path":"/cristaloleg","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/366002?s=80&v=4"},"commit":{"message":"cleanup","shortMessageHtmlLink":"cleanup"}},{"before":"69e4dee58a8c22b220dada2fa66e8a1491b96cf7","after":null,"ref":"refs/heads/dependabot/github_actions/actions/checkout-4","pushedAt":"2023-09-11T10:49:29.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"dependabot[bot]","name":null,"path":"/apps/dependabot","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/29110?s=80&v=4"}},{"before":"fe40e5d87b2c7a74c6a202027ed76789fb3647fd","after":"032f6d9835acbc919e4a4eff11e6930a46260ebd","ref":"refs/heads/master","pushedAt":"2023-09-11T10:49:22.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"cristaloleg","name":"Oleg Kovalov","path":"/cristaloleg","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/366002?s=80&v=4"},"commit":{"message":".github: bump actions/checkout from 3 to 4, update dependabot (#186)\n\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>\r\nCo-authored-by: Oleg Kovalov ","shortMessageHtmlLink":".github: bump actions/checkout from 3 to 4, update dependabot (#186)"}},{"before":"062407a8f1bcffee522090e6ffab9af9116414a7","after":"69e4dee58a8c22b220dada2fa66e8a1491b96cf7","ref":"refs/heads/dependabot/github_actions/actions/checkout-4","pushedAt":"2023-09-11T10:15:27.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"cristaloleg","name":"Oleg Kovalov","path":"/cristaloleg","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/366002?s=80&v=4"},"commit":{"message":"Update dependabot.yml","shortMessageHtmlLink":"Update dependabot.yml"}},{"before":null,"after":"062407a8f1bcffee522090e6ffab9af9116414a7","ref":"refs/heads/dependabot/github_actions/actions/checkout-4","pushedAt":"2023-09-11T10:13:24.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"dependabot[bot]","name":null,"path":"/apps/dependabot","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/29110?s=80&v=4"},"commit":{"message":"build(deps): bump actions/checkout from 3 to 4\n\nBumps [actions/checkout](https://github.com/actions/checkout) from 3 to 4.\n- [Release notes](https://github.com/actions/checkout/releases)\n- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)\n- [Commits](https://github.com/actions/checkout/compare/v3...v4)\n\n---\nupdated-dependencies:\n- dependency-name: actions/checkout\n dependency-type: direct:production\n update-type: version-update:semver-major\n...\n\nSigned-off-by: dependabot[bot] ","shortMessageHtmlLink":"build(deps): bump actions/checkout from 3 to 4"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAEQJVnKgA","startCursor":null,"endCursor":null}},"title":"Activity · gobwas/ws"}