{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":612811519,"defaultBranch":"main","name":"socketioxide","ownerLogin":"Totodore","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2023-03-12T03:23:23.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/26095587?v=4","public":true,"private":false,"isOrgOwned":false},"refInfo":{"name":"","listCacheKey":"v0:1717753352.0","currentOid":""},"activityList":{"items":[{"before":"2d321ac1c0f3e8ecd7a774e1c7146065e7c266ba","after":"0202f7ba1494d6ae49d4fc2ce991fc99cb45f16d","ref":"refs/heads/feat-namespace-routing","pushedAt":"2024-06-10T18:50:47.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Totodore","name":"Théodore Prévot","path":"/Totodore","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/26095587?s=80&v=4"},"commit":{"message":"feat(socketio/handler): pass param by ref to avoid cloning","shortMessageHtmlLink":"feat(socketio/handler): pass param by ref to avoid cloning"}},{"before":"5e73d0cee7cca66c094b850c2c7be1f30b934323","after":"2d321ac1c0f3e8ecd7a774e1c7146065e7c266ba","ref":"refs/heads/feat-namespace-routing","pushedAt":"2024-06-09T22:58:41.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Totodore","name":"Théodore Prévot","path":"/Totodore","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/26095587?s=80&v=4"},"commit":{"message":"feat(socketio/extract): params extractors (wip)","shortMessageHtmlLink":"feat(socketio/extract): params extractors (wip)"}},{"before":"1e4774c671f198c0acc1c69686c61f31fdb9dcaf","after":"5e73d0cee7cca66c094b850c2c7be1f30b934323","ref":"refs/heads/feat-namespace-routing","pushedAt":"2024-06-07T10:43:31.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Totodore","name":"Théodore Prévot","path":"/Totodore","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/26095587?s=80&v=4"},"commit":{"message":"feat(socketio): add path params to connect handlers (wip)","shortMessageHtmlLink":"feat(socketio): add path params to connect handlers (wip)"}},{"before":"283c034088f97e9363481bab8e9a98850e097f92","after":"1e4774c671f198c0acc1c69686c61f31fdb9dcaf","ref":"refs/heads/feat-namespace-routing","pushedAt":"2024-06-07T10:01:36.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Totodore","name":"Théodore Prévot","path":"/Totodore","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/26095587?s=80&v=4"},"commit":{"message":"test(socketio): add unit tests for new `NsBuff`","shortMessageHtmlLink":"test(socketio): add unit tests for new NsBuff"}},{"before":"0a0ecd3a7d8d5c5a2555d61c9a3f9edfc0a13753","after":"283c034088f97e9363481bab8e9a98850e097f92","ref":"refs/heads/feat-namespace-routing","pushedAt":"2024-06-07T09:43:39.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"Totodore","name":"Théodore Prévot","path":"/Totodore","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/26095587?s=80&v=4"},"commit":{"message":"chore(bench): add a routing bench","shortMessageHtmlLink":"chore(bench): add a routing bench"}},{"before":"cd48530e23f69fe30666180f901f60e91b292d23","after":null,"ref":"refs/heads/chore-remove-dashmap-dep","pushedAt":"2024-06-07T09:42:32.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"Totodore","name":"Théodore Prévot","path":"/Totodore","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/26095587?s=80&v=4"}},{"before":"4f19beef389a3359147bcafaf0a7ae32dc9d9159","after":null,"ref":"refs/heads/doc-fix-useless-links","pushedAt":"2024-06-07T09:42:25.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"Totodore","name":"Théodore Prévot","path":"/Totodore","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/26095587?s=80&v=4"}},{"before":"0d02e06bbe3843f8e17254e66babd8058f79f1df","after":null,"ref":"refs/heads/chore-make-benchmark-opional","pushedAt":"2024-06-07T09:42:21.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"Totodore","name":"Théodore Prévot","path":"/Totodore","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/26095587?s=80&v=4"}},{"before":"fd3aa3b6e5f363e37b59648341969c8b02acc365","after":null,"ref":"refs/heads/feat-remove-config-from-socket","pushedAt":"2024-06-07T09:42:19.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"Totodore","name":"Théodore Prévot","path":"/Totodore","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/26095587?s=80&v=4"}},{"before":"1708136c3442468902c99fb4145a9169302d21d3","after":null,"ref":"refs/heads/feat-per-client-state","pushedAt":"2024-06-07T09:42:13.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"Totodore","name":"Théodore Prévot","path":"/Totodore","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/26095587?s=80&v=4"}},{"before":"05755d9c115b3c8117c8107016c4367784c1802d","after":"0a0ecd3a7d8d5c5a2555d61c9a3f9edfc0a13753","ref":"refs/heads/feat-namespace-routing","pushedAt":"2024-06-07T09:37:34.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Totodore","name":"Théodore Prévot","path":"/Totodore","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/26095587?s=80&v=4"},"commit":{"message":"chore(bench): add a routing bench","shortMessageHtmlLink":"chore(bench): add a routing bench"}},{"before":"2121c305229d43c9f5ab7871bec6b5cfbdc51efa","after":"05755d9c115b3c8117c8107016c4367784c1802d","ref":"refs/heads/feat-namespace-routing","pushedAt":"2024-06-07T08:35:15.000Z","pushType":"push","commitsCount":4,"pusher":{"login":"Totodore","name":"Théodore Prévot","path":"/Totodore","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/26095587?s=80&v=4"},"commit":{"message":"Merge remote-tracking branch 'origin/main' into feat-namespace-routing","shortMessageHtmlLink":"Merge remote-tracking branch 'origin/main' into feat-namespace-routing"}},{"before":"3bb916eb2f3cadf694cfe5b0cb5a82779af0a965","after":"af250137057b0fa33e8458affb4e28b1dee82fab","ref":"refs/heads/main","pushedAt":"2024-06-07T08:32:22.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"Totodore","name":"Théodore Prévot","path":"/Totodore","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/26095587?s=80&v=4"},"commit":{"message":"feat: remove config from socket (#331)\n\n* feat(socketio/extensions): use `RwLock` rather than `DashMap`\r\n\r\n* chore(bench): add bencher ci\r\n\r\n* fix: socketioxide benches with `Bytes`\r\n\r\n* chore(bench): fix ci name\r\n\r\n* chore(bench): add RUSTFLAG for testing\r\n\r\n* fix: engineioxide benches\r\n\r\n* chore(bench): remove matrix test\r\n\r\n* chore(bench): add groups\r\n\r\n* chore(bench): improve extensions bench\r\n\r\n* feat(socketio/extract): refactor extract mod\r\n\r\n* feat(socketio/extract): add `(Maybe)(Http)Extension` extractors\r\n\r\n* docs(example): update examples with `Extension` extractor\r\n\r\n* test(socketio/extract): add tests for `Extension` and `MaybeExtension`\r\n\r\n* docs(example) fmt chat example\r\n\r\n* test(socketio): fix extractors test\r\n\r\n* doc(socketio): improve doc for socketioxide\r\n\r\n* test(socketio): increase timeout\r\n\r\n* doc(socketio): improve doc\r\n\r\n* feat(io): store io client in socketdata so it is possible to retrieve it anywhere\r\n\r\n* feat(state): per client state\r\n\r\n* doc(socketio): improve doc\r\n\r\n* test: add state for client init\r\n\r\n* test\r\n\r\n* doc(examples): fix examples\r\n\r\n* doc(examples): fix examples\r\n\r\n* doc(examples): fix loco example\r\n\r\n* doc(examples): fix state example\r\n\r\n* test: revert excessive timeout due to previous state collision\r\n\r\n* feat(socket): remove config form socket","shortMessageHtmlLink":"feat: remove config from socket (#331)"}},{"before":"4bbb458bac77edfc6dfffed93717b7e214c8503d","after":"fd3aa3b6e5f363e37b59648341969c8b02acc365","ref":"refs/heads/feat-remove-config-from-socket","pushedAt":"2024-06-07T08:29:37.000Z","pushType":"push","commitsCount":3,"pusher":{"login":"Totodore","name":"Théodore Prévot","path":"/Totodore","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/26095587?s=80&v=4"},"commit":{"message":"Merge branch 'main' into feat-remove-config-from-socket","shortMessageHtmlLink":"Merge branch 'main' into feat-remove-config-from-socket"}},{"before":"45fc13a574f189612a535709b42ae06e682120d7","after":"3bb916eb2f3cadf694cfe5b0cb5a82779af0a965","ref":"refs/heads/main","pushedAt":"2024-06-07T08:27:53.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"Totodore","name":"Théodore Prévot","path":"/Totodore","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/26095587?s=80&v=4"},"commit":{"message":"feat: per client state (#330)\n\n* feat(socketio/extensions): use `RwLock` rather than `DashMap`\r\n\r\n* chore(bench): add bencher ci\r\n\r\n* fix: socketioxide benches with `Bytes`\r\n\r\n* chore(bench): fix ci name\r\n\r\n* chore(bench): add RUSTFLAG for testing\r\n\r\n* fix: engineioxide benches\r\n\r\n* chore(bench): remove matrix test\r\n\r\n* chore(bench): add groups\r\n\r\n* chore(bench): improve extensions bench\r\n\r\n* feat(socketio/extract): refactor extract mod\r\n\r\n* feat(socketio/extract): add `(Maybe)(Http)Extension` extractors\r\n\r\n* docs(example): update examples with `Extension` extractor\r\n\r\n* test(socketio/extract): add tests for `Extension` and `MaybeExtension`\r\n\r\n* docs(example) fmt chat example\r\n\r\n* test(socketio): fix extractors test\r\n\r\n* doc(socketio): improve doc for socketioxide\r\n\r\n* test(socketio): increase timeout\r\n\r\n* doc(socketio): improve doc\r\n\r\n* feat(io): store io client in socketdata so it is possible to retrieve it anywhere\r\n\r\n* feat(state): per client state\r\n\r\n* doc(socketio): improve doc\r\n\r\n* test: add state for client init\r\n\r\n* test\r\n\r\n* doc(examples): fix examples\r\n\r\n* doc(examples): fix examples\r\n\r\n* doc(examples): fix loco example\r\n\r\n* doc(examples): fix state example\r\n\r\n* test: revert excessive timeout due to previous state collision\r\n\r\n* doc(socketio): improve documentation for state per client feature","shortMessageHtmlLink":"feat: per client state (#330)"}},{"before":"120da53dbf53c3b5151c0c7492041aae0c33ecb6","after":"1708136c3442468902c99fb4145a9169302d21d3","ref":"refs/heads/feat-per-client-state","pushedAt":"2024-06-07T08:24:37.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"Totodore","name":"Théodore Prévot","path":"/Totodore","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/26095587?s=80&v=4"},"commit":{"message":"doc(socketio): improve documentation for state per client feature","shortMessageHtmlLink":"doc(socketio): improve documentation for state per client feature"}},{"before":"8b591bea0c10c7b25ca9ef7642de53a46441a096","after":"120da53dbf53c3b5151c0c7492041aae0c33ecb6","ref":"refs/heads/feat-per-client-state","pushedAt":"2024-06-07T08:23:39.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"Totodore","name":"Théodore Prévot","path":"/Totodore","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/26095587?s=80&v=4"},"commit":{"message":"doc(socketio): improve documentation for state per client feature","shortMessageHtmlLink":"doc(socketio): improve documentation for state per client feature"}},{"before":"8e54403cd1e8d529e95af453ce14a194afc92f52","after":"8b591bea0c10c7b25ca9ef7642de53a46441a096","ref":"refs/heads/feat-per-client-state","pushedAt":"2024-06-07T08:19:46.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Totodore","name":"Théodore Prévot","path":"/Totodore","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/26095587?s=80&v=4"},"commit":{"message":"doc(socketio): improve documentation for state per client feature","shortMessageHtmlLink":"doc(socketio): improve documentation for state per client feature"}},{"before":"ecc8bed8761c73d2d11ee03cd64821e6ab26eb5a","after":"8e54403cd1e8d529e95af453ce14a194afc92f52","ref":"refs/heads/feat-per-client-state","pushedAt":"2024-06-07T08:12:58.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"Totodore","name":"Théodore Prévot","path":"/Totodore","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/26095587?s=80&v=4"},"commit":{"message":"Merge branch 'main' into feat-per-client-state","shortMessageHtmlLink":"Merge branch 'main' into feat-per-client-state"}},{"before":"d8d24231a1c32dffc25e23a0ec1bbda401379112","after":"45fc13a574f189612a535709b42ae06e682120d7","ref":"refs/heads/main","pushedAt":"2024-06-07T08:07:13.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"Totodore","name":"Théodore Prévot","path":"/Totodore","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/26095587?s=80&v=4"},"commit":{"message":"chore(ci): bench only on main and on manual trigger (#332)","shortMessageHtmlLink":"chore(ci): bench only on main and on manual trigger (#332)"}},{"before":null,"after":"0d02e06bbe3843f8e17254e66babd8058f79f1df","ref":"refs/heads/chore-make-benchmark-opional","pushedAt":"2024-06-07T08:03:24.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"Totodore","name":"Théodore Prévot","path":"/Totodore","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/26095587?s=80&v=4"},"commit":{"message":"chore(ci): bench only on main and on manual trigger","shortMessageHtmlLink":"chore(ci): bench only on main and on manual trigger"}},{"before":"725c5f31d82665fc4a544691b3d2ff929bb53cbf","after":"4bbb458bac77edfc6dfffed93717b7e214c8503d","ref":"refs/heads/feat-remove-config-from-socket","pushedAt":"2024-06-07T07:57:43.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"Totodore","name":"Théodore Prévot","path":"/Totodore","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/26095587?s=80&v=4"},"commit":{"message":"feat(socket): remove config form socket","shortMessageHtmlLink":"feat(socket): remove config form socket"}},{"before":"426f006c29430e65c2cc75485e29f067b75e8d71","after":"725c5f31d82665fc4a544691b3d2ff929bb53cbf","ref":"refs/heads/feat-remove-config-from-socket","pushedAt":"2024-06-06T22:47:54.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"Totodore","name":"Théodore Prévot","path":"/Totodore","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/26095587?s=80&v=4"},"commit":{"message":"feat(socket): remove config form socket","shortMessageHtmlLink":"feat(socket): remove config form socket"}},{"before":null,"after":"426f006c29430e65c2cc75485e29f067b75e8d71","ref":"refs/heads/feat-remove-config-from-socket","pushedAt":"2024-06-06T22:40:28.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"Totodore","name":"Théodore Prévot","path":"/Totodore","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/26095587?s=80&v=4"},"commit":{"message":"feat(socket): remove config form socket","shortMessageHtmlLink":"feat(socket): remove config form socket"}},{"before":null,"after":"2121c305229d43c9f5ab7871bec6b5cfbdc51efa","ref":"refs/heads/feat-namespace-routing","pushedAt":"2024-06-06T22:29:47.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"Totodore","name":"Théodore Prévot","path":"/Totodore","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/26095587?s=80&v=4"},"commit":{"message":"feat: basic namespace routing","shortMessageHtmlLink":"feat: basic namespace routing"}},{"before":"43afa4b184f718804d6a5b6494815930f2c3dd60","after":"ecc8bed8761c73d2d11ee03cd64821e6ab26eb5a","ref":"refs/heads/feat-per-client-state","pushedAt":"2024-06-06T21:00:33.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Totodore","name":"Théodore Prévot","path":"/Totodore","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/26095587?s=80&v=4"},"commit":{"message":"test: revert excessive timeout due to previous state collision","shortMessageHtmlLink":"test: revert excessive timeout due to previous state collision"}},{"before":"527789e12a2245fb3e2ae8163617821f234bdde0","after":"43afa4b184f718804d6a5b6494815930f2c3dd60","ref":"refs/heads/feat-per-client-state","pushedAt":"2024-06-06T20:59:38.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Totodore","name":"Théodore Prévot","path":"/Totodore","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/26095587?s=80&v=4"},"commit":{"message":"doc(examples): fix state example","shortMessageHtmlLink":"doc(examples): fix state example"}},{"before":"f0b75471b98093bb2aa23e05e5768cd4dab89645","after":"527789e12a2245fb3e2ae8163617821f234bdde0","ref":"refs/heads/feat-per-client-state","pushedAt":"2024-06-06T20:41:09.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Totodore","name":"Théodore Prévot","path":"/Totodore","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/26095587?s=80&v=4"},"commit":{"message":"doc(examples): fix loco example","shortMessageHtmlLink":"doc(examples): fix loco example"}},{"before":"2358ee91d800409df8e9c34989f1106f1e34050a","after":"f0b75471b98093bb2aa23e05e5768cd4dab89645","ref":"refs/heads/feat-per-client-state","pushedAt":"2024-06-06T07:39:00.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Totodore","name":"Théodore Prévot","path":"/Totodore","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/26095587?s=80&v=4"},"commit":{"message":"doc(examples): fix examples","shortMessageHtmlLink":"doc(examples): fix examples"}},{"before":"a6326d0da4500b8b2654e73ea5705be53928a2a0","after":"2358ee91d800409df8e9c34989f1106f1e34050a","ref":"refs/heads/feat-per-client-state","pushedAt":"2024-06-06T07:32:07.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Totodore","name":"Théodore Prévot","path":"/Totodore","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/26095587?s=80&v=4"},"commit":{"message":"doc(examples): fix examples","shortMessageHtmlLink":"doc(examples): fix examples"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAEYXNdLwA","startCursor":null,"endCursor":null}},"title":"Activity · Totodore/socketioxide"}