{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":299424141,"defaultBranch":"main","name":"BetterDisco","ownerLogin":"elderlabs","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2020-09-28T20:27:47.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/30255476?v=4","public":true,"private":false,"isOrgOwned":false},"refInfo":{"name":"","listCacheKey":"v0:1679122250.0","currentOid":""},"activityList":{"items":[{"before":"b786b5c58aafc8c9290096615ab2de414b7998d7","after":"e6034adadce315e6fdb7e426f23ec65cfe5e3fe1","ref":"refs/heads/staging/dooley","pushedAt":"2024-05-28T11:41:38.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"elderlabs","name":"Dooley_labs","path":"/elderlabs","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/30255476?s=80&v=4"},"commit":{"message":"Update requirements.txt:\n- requests (2.32.1 >> 2.32.2)","shortMessageHtmlLink":"Update requirements.txt:"}},{"before":"0d0c219cfdcb84bf7ffd16e6493a91734bf5134e","after":"b786b5c58aafc8c9290096615ab2de414b7998d7","ref":"refs/heads/staging/dooley","pushedAt":"2024-05-21T17:57:26.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"elderlabs","name":"Dooley_labs","path":"/elderlabs","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/30255476?s=80&v=4"},"commit":{"message":"Update requirements.txt:\n- requests (2.31.0 >> 2.32.1)","shortMessageHtmlLink":"Update requirements.txt:"}},{"before":"cc0292d1dfce786171111559fc8c2ef3bc87859a","after":"0d0c219cfdcb84bf7ffd16e6493a91734bf5134e","ref":"refs/heads/staging/dooley","pushedAt":"2024-04-27T23:57:43.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"elderlabs","name":"Dooley_labs","path":"/elderlabs","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/30255476?s=80&v=4"},"commit":{"message":"Document missing Permissions and User variables;\n- disco.api.client: added `enforce_nonce` variable on `channels_messages_create`;\n- disco.api.client: better handling of items on `channels_messages_modify`;\n- disco.types.permissions: `USE_CLYDE_AI`, `SET_VOICE_CHANNEL_STATUS`, `SEND_POLLS`;\n- disco.types.message: do not create `MessageComponent.emoji` if none;\n- disco.types.user: Mapped `15` missing user flags;\n- disco.types.user: Mapped `banner_color`, `clan`, `bio`, `avatar_decoration_data` on `User` object;\n- disco.voice: misc. optimizations;","shortMessageHtmlLink":"Document missing Permissions and User variables;"}},{"before":"ec645884646656a49c5b500f212786340096f98a","after":"cc0292d1dfce786171111559fc8c2ef3bc87859a","ref":"refs/heads/staging/dooley","pushedAt":"2024-04-27T23:56:37.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"elderlabs","name":"Dooley_labs","path":"/elderlabs","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/30255476?s=80&v=4"},"commit":{"message":"Document missing Permissions and User variables;\n- disco.api.client: added `enforce_nonce` variable;\n- disco.api.client: better handling of items on `channels_messages_modify`;\n- disco.types.permissions: `USE_CLYDE_AI`, `SET_VOICE_CHANNEL_STATUS`, `SEND_POLLS`;\n- disco.types.message: do not create `MessageComponent.emoji` if none;\n- disco.types.user: Mapped `15` missing user flags;\n- disco.types.user: Mapped `banner_color`, `clan`, `bio`, `avatar_decoration_data` on `User` object;\n- disco.voice: misc. optimizations;","shortMessageHtmlLink":"Document missing Permissions and User variables;"}},{"before":"ec8991101afd7b5118783e28311d733c20b6b1d3","after":"89f71dcc522df1b2b1ebc05c82c84c962d7b4d46","ref":"refs/heads/staging/justin","pushedAt":"2024-04-27T22:43:54.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"ThatGuyJustin","name":"Justin","path":"/ThatGuyJustin","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/14909116?s=80&v=4"},"commit":{"message":"Autocomplete doesn't have an original message to get.","shortMessageHtmlLink":"Autocomplete doesn't have an original message to get."}},{"before":"185466d9bd9938573b2dc1dd9f017dbfbd7eedc1","after":"ec8991101afd7b5118783e28311d733c20b6b1d3","ref":"refs/heads/staging/justin","pushedAt":"2024-04-27T22:28:39.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"ThatGuyJustin","name":"Justin","path":"/ThatGuyJustin","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/14909116?s=80&v=4"},"commit":{"message":"Message Edit didn't send correct payload to remove embeds/components\n\nWhen modifying a message, you have to send a payload of [] to the api to remove those parts of a message. Otherwise, Discord just keeps them around.","shortMessageHtmlLink":"Message Edit didn't send correct payload to remove embeds/components"}},{"before":"023480671320583d46089777723cb75b466565fb","after":"ec645884646656a49c5b500f212786340096f98a","ref":"refs/heads/staging/dooley","pushedAt":"2024-04-27T03:09:05.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"elderlabs","name":"Dooley_labs","path":"/elderlabs","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/30255476?s=80&v=4"},"commit":{"message":"Document missing Permissions and User variables;\n- disco.types.permissions: `USE_CLYDE_AI`, `SET_VOICE_CHANNEL_STATUS`, `SEND_POLLS`;\n- disco.types.message: do not create `MessageComponent.emoji` if none;\n- disco.types.user: Mapped `15` missing user flags;\n- disco.types.user: Mapped `banner_color`, `clan`, `bio`, `avatar_decoration_data` on `User` object;\n- disco.voice: misc. optimizations;","shortMessageHtmlLink":"Document missing Permissions and User variables;"}},{"before":"20cb9499fb1fbcd725994957c0b622a0a1b59b56","after":"023480671320583d46089777723cb75b466565fb","ref":"refs/heads/staging/dooley","pushedAt":"2024-04-25T09:25:27.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"elderlabs","name":"Dooley_labs","path":"/elderlabs","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/30255476?s=80&v=4"},"commit":{"message":"Document missing Permissions and User variables;\n- disco.types.permissions: `USE_CLYDE_AI`, `SET_VOICE_CHANNEL_STATUS`, `SEND_POLLS`;\n- disco.types.user: Mapped `15` missing user flags;\n- disco.types.user: Mapped `banner_color`, `clan`, `bio`, `avatar_decoration_data` on `User` object;\n- disco.voice: misc. optimizations;","shortMessageHtmlLink":"Document missing Permissions and User variables;"}},{"before":"5cb4c5fecef49311c604de62ae5f0480f012a038","after":"20cb9499fb1fbcd725994957c0b622a0a1b59b56","ref":"refs/heads/staging/dooley","pushedAt":"2024-04-25T09:21:59.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"elderlabs","name":"Dooley_labs","path":"/elderlabs","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/30255476?s=80&v=4"},"commit":{"message":"Document missing Permissions and User variables;\n- disco.types.permissions: `USE_CLYDE_AI`, `SET_VOICE_CHANNEL_STATUS`, `SEND_POLLS`;\n- disco.types.user: Mapped `15` missing user flags;\n- disco.types.user: Mapped `banner_color`, `clan`, `bio`, `avatar_decoration_data` on `User` object;\n- disco.voice: misc. optimizations;","shortMessageHtmlLink":"Document missing Permissions and User variables;"}},{"before":"89090641da58ecc3da14abf2dd9c7833728ee2fb","after":"5cb4c5fecef49311c604de62ae5f0480f012a038","ref":"refs/heads/staging/dooley","pushedAt":"2024-04-24T09:30:35.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"elderlabs","name":"Dooley_labs","path":"/elderlabs","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/30255476?s=80&v=4"},"commit":{"message":"Rudimentary/Basic `self_video` incoming RTP support\n-disco.types.channel: add toggle to `Channel.connect()` for video packets;\n- disco.voice.client: enable video reception and everything needed to make it happen;\n- disco.voice.udp: everything needed to handle RTP video packets;\n- requirements.txt: websocket-client (1.7.0 >> 1.8.0);\n- setup.py: add `libnacl` as a voice requirement;\n\nMy life has become RFCs. Though useless as a raw RTP stream, it's a step closer to something useful.","shortMessageHtmlLink":"Rudimentary/Basic self_video incoming RTP support"}},{"before":"7455d9ea5735b6c3f4667ace0266c5f987ac7eb2","after":"185466d9bd9938573b2dc1dd9f017dbfbd7eedc1","ref":"refs/heads/staging/justin","pushedAt":"2024-04-21T18:40:50.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"ThatGuyJustin","name":"Justin","path":"/ThatGuyJustin","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/14909116?s=80&v=4"},"commit":{"message":"Channel type enum missing from interaction","shortMessageHtmlLink":"Channel type enum missing from interaction"}},{"before":"ea61455b0ac30984aeb9c2fa455e1defbacfbdbd","after":"89090641da58ecc3da14abf2dd9c7833728ee2fb","ref":"refs/heads/staging/dooley","pushedAt":"2024-04-20T04:51:38.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"elderlabs","name":"Dooley_labs","path":"/elderlabs","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/30255476?s=80&v=4"},"commit":{"message":"Rudimentary/Basic `self_video` incoming RTP support\n-disco.types.channel: add toggle to `Channel.connect()` for video packets;\n- disco.voice.client: enable video reception and everything needed to make it happen;\n- disco.voice.udp: everything needed to handle RTP video packets;\n\nMy life has become RFCs. Though useless as a raw RTP stream, it's a step closer to something useful.","shortMessageHtmlLink":"Rudimentary/Basic self_video incoming RTP support"}},{"before":"07568825368f5af54fc28895d0a49f5b70f04015","after":"ea61455b0ac30984aeb9c2fa455e1defbacfbdbd","ref":"refs/heads/staging/dooley","pushedAt":"2024-04-20T04:37:06.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"elderlabs","name":"Dooley_labs","path":"/elderlabs","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/30255476?s=80&v=4"},"commit":{"message":"Rudimentary/Basic `self_video` incoming RTP support\n- disco.voice.client: enable video reception and everything needed to make it happen;\n- disco.voice.udp: everything needed to handle RTP video packets;\n\nMy life has become RFCs. Though useless as a raw RTP stream, it's a step closer to something useful.","shortMessageHtmlLink":"Rudimentary/Basic self_video incoming RTP support"}},{"before":"09b0b8c6a041a3ac0150f15a997325097ed2e2ed","after":"07568825368f5af54fc28895d0a49f5b70f04015","ref":"refs/heads/staging/dooley","pushedAt":"2024-04-20T04:22:58.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"elderlabs","name":"Dooley_labs","path":"/elderlabs","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/30255476?s=80&v=4"},"commit":{"message":"Rudimentary/Basic `self_video` incoming RTP support\n- disco.voice.client: enable video reception and everything needed to make it happen;\n- disco.voice.udp: everything needed to handle RTP video packets;\n\nMy life has become RFCs. Though useless as a raw RTP stream, it's a step closer to something useful.","shortMessageHtmlLink":"Rudimentary/Basic self_video incoming RTP support"}},{"before":"056081a27035700aab3f9a2098ed59725bacc6e1","after":"09b0b8c6a041a3ac0150f15a997325097ed2e2ed","ref":"refs/heads/staging/dooley","pushedAt":"2024-04-20T04:15:02.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"elderlabs","name":"Dooley_labs","path":"/elderlabs","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/30255476?s=80&v=4"},"commit":{"message":"Rudimentary/Basic `self_video` incoming RTP support\n- disco.voice.client: enable video reception and everything needed to make it happen;\n- disco.voice.udp: everything needed to handle RTP video packets;\n\nMy life has become RFCs. Though useless as a raw RTP stream, it's a step closer to something useful.","shortMessageHtmlLink":"Rudimentary/Basic self_video incoming RTP support"}},{"before":"1c78ce8175670e7ec67e4ddd2ff358820a13cda6","after":"056081a27035700aab3f9a2098ed59725bacc6e1","ref":"refs/heads/staging/dooley","pushedAt":"2024-04-20T03:59:05.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"elderlabs","name":"Dooley_labs","path":"/elderlabs","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/30255476?s=80&v=4"},"commit":{"message":"Rudimentary/Basic `self_video` incoming RTP support\n- disco.voice.client: enable video reception and everything needed to make it happen;\n- disco.voice.udp: everything needed to handle RTP video packets;\n\nMy life has become RFCs. Though useless as a raw RTP stream, it's a step closer to something useful.","shortMessageHtmlLink":"Rudimentary/Basic self_video incoming RTP support"}},{"before":"c18845deb15c79ecf5ea6feb23e0d675d6973a5a","after":"1c78ce8175670e7ec67e4ddd2ff358820a13cda6","ref":"refs/heads/staging/dooley","pushedAt":"2024-04-20T03:47:20.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"elderlabs","name":"Dooley_labs","path":"/elderlabs","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/30255476?s=80&v=4"},"commit":{"message":"Rudimentary/Basic `self_video` incoming RTP support\n- disco.voice.client: enable video reception and everything needed to make it happen;\n- disco.voice.udp: everything needed to handle RTP video packets;\n\nMy life has become RFCs. Though useless as a raw RTP stream, it's a step closer to something useful.","shortMessageHtmlLink":"Rudimentary/Basic self_video incoming RTP support"}},{"before":"761d523530a54a9d10cf22d9c5e7a1c2f32de145","after":"c18845deb15c79ecf5ea6feb23e0d675d6973a5a","ref":"refs/heads/staging/dooley","pushedAt":"2024-04-18T06:37:47.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"elderlabs","name":"Dooley_labs","path":"/elderlabs","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/30255476?s=80&v=4"},"commit":{"message":"Voice client optimizations\n- disco.voice.udp: follow nonce format used by Discord for `xsalsa20_poly1305_suffix`\n- disco.voice.udp: account for 12 Byte nonce of AES256 on decrypt\n- disco.voice.udp: account for different header size of `_rtpsize` modes on decrypt","shortMessageHtmlLink":"Voice client optimizations"}},{"before":"180916b09405c8dc350aebce88c19111bfb645dd","after":"7455d9ea5735b6c3f4667ace0266c5f987ac7eb2","ref":"refs/heads/staging/justin","pushedAt":"2024-04-16T01:50:11.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"ThatGuyJustin","name":"Justin","path":"/ThatGuyJustin","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/14909116?s=80&v=4"},"commit":{"message":"Nested config added to config util\n\nAllows for the config util to be used with nested keys.\n\nInstead of `config.value[\"key\"]`, it's now `config.value.key`\n\nCo-authored-by: Nadie ","shortMessageHtmlLink":"Nested config added to config util"}},{"before":"d988d6a8873fd95305d374f2b1dadbe4767063c2","after":"761d523530a54a9d10cf22d9c5e7a1c2f32de145","ref":"refs/heads/staging/dooley","pushedAt":"2024-04-15T17:06:25.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"elderlabs","name":"Dooley_labs","path":"/elderlabs","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/30255476?s=80&v=4"},"commit":{"message":"Voice client patches","shortMessageHtmlLink":"Voice client patches"}},{"before":"b3bb77c8dc6d63001c13e128fef4202453fed695","after":"d988d6a8873fd95305d374f2b1dadbe4767063c2","ref":"refs/heads/staging/dooley","pushedAt":"2024-04-15T04:50:12.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"elderlabs","name":"Dooley_labs","path":"/elderlabs","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/30255476?s=80&v=4"},"commit":{"message":"FULL AEAD VOICE ENCRYPTION SUPPORT 🚀\n- disco.util.crypto: because pynacl's devs are a bunch of evildoers;\n- disco.voice.client: cleanup and enable `aead_aes256_gcm_rtpsize`;\n- disco.voice.udp: 😸 where the *magic* happens; implemented AEScrypt, my own wrapper for aead VC modes;\n\nWith thanks to the maintainer of algos (https://git.kaydax.xyz/w/algos), who discovered how to decrypt Discord's AEAD bits.","shortMessageHtmlLink":"FULL AEAD VOICE ENCRYPTION SUPPORT 🚀"}},{"before":"13d4eddd5ded1117afeb50081289b44c3da36a68","after":"b3bb77c8dc6d63001c13e128fef4202453fed695","ref":"refs/heads/staging/dooley","pushedAt":"2024-04-13T07:34:17.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"elderlabs","name":"Dooley_labs","path":"/elderlabs","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/30255476?s=80&v=4"},"commit":{"message":"Return `BitsetValue` objects repr as string-type number by default; show str list when cast to str","shortMessageHtmlLink":"Return BitsetValue objects repr as string-type number by default; s…"}},{"before":"aab5b72cfe080e5d49ed5863b65b737e8b418a47","after":"13d4eddd5ded1117afeb50081289b44c3da36a68","ref":"refs/heads/staging/dooley","pushedAt":"2024-04-13T06:47:12.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"elderlabs","name":"Dooley_labs","path":"/elderlabs","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/30255476?s=80&v=4"},"commit":{"message":"Return `BitsetValue` objects repr as string-type number by default; show str list when cast to str","shortMessageHtmlLink":"Return BitsetValue objects repr as string-type number by default; s…"}},{"before":"ed2d45a99be71112774d70262e715c03462f80cf","after":"aab5b72cfe080e5d49ed5863b65b737e8b418a47","ref":"refs/heads/staging/dooley","pushedAt":"2024-04-13T06:42:28.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"elderlabs","name":"Dooley_labs","path":"/elderlabs","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/30255476?s=80&v=4"},"commit":{"message":"Return `BitsetValue` objects repr as int by default; show str list when cast to str","shortMessageHtmlLink":"Return BitsetValue objects repr as int by default; show str list wh…"}},{"before":"27f60b8267d0359140037bc5b5298b3f3737f1f9","after":"ed2d45a99be71112774d70262e715c03462f80cf","ref":"refs/heads/staging/dooley","pushedAt":"2024-04-12T12:57:13.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"elderlabs","name":"Dooley_labs","path":"/elderlabs","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/30255476?s=80&v=4"},"commit":{"message":"Restore full enum coverage:\n- objects cast to `enum()` will return an `EnumAttr()` object, which contains both the name and value of the object\n-- ideally, this _shouldn't_ break things, and will allow users to access both values held by the object, rather than the original name-alone or newer value-alone behavior","shortMessageHtmlLink":"Restore full enum coverage:"}},{"before":"3bab51a4c6d162097154d6f0138232b23a4dcd6d","after":"27f60b8267d0359140037bc5b5298b3f3737f1f9","ref":"refs/heads/staging/dooley","pushedAt":"2024-04-12T07:35:29.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"elderlabs","name":"Dooley_labs","path":"/elderlabs","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/30255476?s=80&v=4"},"commit":{"message":"Restore full enum coverage:\n- objects cast to `enum()` will return an `EnumAttr()` object, which contains both the name and value of the object\n-- ideally, this _shouldn't_ break things, and will allow users to access both values held by the object, rather than the original name-alone or newer value-alone behavior","shortMessageHtmlLink":"Restore full enum coverage:"}},{"before":"b63cf732d45e77f3d5c94c1ce452bb78b60da95d","after":"3bab51a4c6d162097154d6f0138232b23a4dcd6d","ref":"refs/heads/staging/dooley","pushedAt":"2024-04-12T07:28:10.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"elderlabs","name":"Dooley_labs","path":"/elderlabs","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/30255476?s=80&v=4"},"commit":{"message":"POTENTIALLY BREAKING CHANGE:\n- objects cast to `enum()` will return an `EnumAttr()` object, which contains both the name and value of the object\n-- ideally, this _shouldn't_ break things, and will allow users to access both values held by the object, rather than the original name-alone or newer value-alone behavior","shortMessageHtmlLink":"POTENTIALLY BREAKING CHANGE:"}},{"before":"99d687ad8a7ec1b5889f01a769657d2de877afe6","after":"b63cf732d45e77f3d5c94c1ce452bb78b60da95d","ref":"refs/heads/staging/dooley","pushedAt":"2024-04-12T05:34:41.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"elderlabs","name":"Dooley_labs","path":"/elderlabs","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/30255476?s=80&v=4"},"commit":{"message":"POTENTIALLY BREAKING CHANGE:\n- objects cast to `enum()` will return an `EnumAttr()` object, which contains both the name and value of the object\n-- ideally, this _shouldn't_ break things, and will allow users to access both values held by the object, rather than the original name-alone or newer value-alone behavior","shortMessageHtmlLink":"POTENTIALLY BREAKING CHANGE:"}},{"before":"a35fc6f94aa5b79c762e3faaecc9816e3987b776","after":"99d687ad8a7ec1b5889f01a769657d2de877afe6","ref":"refs/heads/staging/dooley","pushedAt":"2024-04-12T03:54:10.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"elderlabs","name":"Dooley_labs","path":"/elderlabs","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/30255476?s=80&v=4"},"commit":{"message":"POTENTIALLY BREAKING CHANGE:\n- objects cast to `enum()` will return an `EnumAttr()` object, which contains both the name and value of the object\n-- ideally, this _shouldn't_ break things, and will allow users to access both values held by the object, rather than the original name-alone or newer value-alone behavior","shortMessageHtmlLink":"POTENTIALLY BREAKING CHANGE:"}},{"before":"640b609901083012848ba390cd9a873a5cc706ec","after":"a35fc6f94aa5b79c762e3faaecc9816e3987b776","ref":"refs/heads/staging/dooley","pushedAt":"2024-04-12T01:38:19.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"elderlabs","name":"Dooley_labs","path":"/elderlabs","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/30255476?s=80&v=4"},"commit":{"message":"Use `platform` for system version instead of `sys`; remove WS timeout on non-Linux systems:\n- disco.util.websocket\n- disco.voice.opus","shortMessageHtmlLink":"Use platform for system version instead of sys; remove WS timeout…"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAEVce6pgA","startCursor":null,"endCursor":null}},"title":"Activity · elderlabs/BetterDisco"}