{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":624059335,"defaultBranch":"main","name":"tmi.gd","ownerLogin":"erodozer","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2023-04-05T16:54:23.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/316728?v=4","public":true,"private":false,"isOrgOwned":false},"refInfo":{"name":"","listCacheKey":"v0:1706404710.0","currentOid":""},"activityList":{"items":[{"before":"76f128b0e2ff7db08bc1586b8dcde2fd400a5378","after":"7f670a1a7912f74054865f37e571d4fa856f1c3b","ref":"refs/heads/main","pushedAt":"2024-04-29T23:14:49.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"erodozer","name":"Nicholas Hydock / ero","path":"/erodozer","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/316728?s=80&v=4"},"commit":{"message":"improve oauth refresh cycle","shortMessageHtmlLink":"improve oauth refresh cycle"}},{"before":"21965fbb676dfc69c3975b2fc219f5cc17eefc7d","after":"76f128b0e2ff7db08bc1586b8dcde2fd400a5378","ref":"refs/heads/main","pushedAt":"2024-04-29T23:08:43.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"erodozer","name":"Nicholas Hydock / ero","path":"/erodozer","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/316728?s=80&v=4"},"commit":{"message":"improve oauth refresh cycle","shortMessageHtmlLink":"improve oauth refresh cycle"}},{"before":"3fc5fcb631977fbb08848ab50eac1ec3ce7e226e","after":"21965fbb676dfc69c3975b2fc219f5cc17eefc7d","ref":"refs/heads/main","pushedAt":"2024-04-28T22:41:50.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"erodozer","name":"Nicholas Hydock / ero","path":"/erodozer","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/316728?s=80&v=4"},"commit":{"message":"Fixes for first-time OAuth and implementation of the project settings client id fetching (#5)","shortMessageHtmlLink":"Fixes for first-time OAuth and implementation of the project settings…"}},{"before":"d1291bed3a7f0ecd495fbea6a16ce36e8c21a413","after":"3fc5fcb631977fbb08848ab50eac1ec3ce7e226e","ref":"refs/heads/main","pushedAt":"2024-03-30T07:51:14.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"erodozer","name":"Nicholas Hydock / ero","path":"/erodozer","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/316728?s=80&v=4"},"commit":{"message":"fix restoring profile image from disk cache","shortMessageHtmlLink":"fix restoring profile image from disk cache"}},{"before":"0d3be7ffdf7b3ff4aeb58de6315504c8325fae5f","after":"d1291bed3a7f0ecd495fbea6a16ce36e8c21a413","ref":"refs/heads/main","pushedAt":"2024-03-30T07:44:21.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"erodozer","name":"Nicholas Hydock / ero","path":"/erodozer","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/316728?s=80&v=4"},"commit":{"message":"fix putting disk cache into memory after restore","shortMessageHtmlLink":"fix putting disk cache into memory after restore"}},{"before":"006c4a655d78b746365f3c27af0021174a73fd3e","after":"0d3be7ffdf7b3ff4aeb58de6315504c8325fae5f","ref":"refs/heads/main","pushedAt":"2024-03-30T07:40:14.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"erodozer","name":"Nicholas Hydock / ero","path":"/erodozer","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/316728?s=80&v=4"},"commit":{"message":"improve profile caching\n\n- control cache duration of different parts individually\n- save and restore profiles from disk storage\n- lift profile caching out of the twitch service and into a core aspect of the tmi singleton\n- fetch profile chat colors when not using IRC","shortMessageHtmlLink":"improve profile caching"}},{"before":"2553700df74539b412375a57e3bb7b11c74e6cea","after":"006c4a655d78b746365f3c27af0021174a73fd3e","ref":"refs/heads/main","pushedAt":"2024-03-28T15:33:28.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"erodozer","name":"Nicholas Hydock / ero","path":"/erodozer","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/316728?s=80&v=4"},"commit":{"message":"move info to metrics service to properly fit our architectural model","shortMessageHtmlLink":"move info to metrics service to properly fit our architectural model"}},{"before":"4fc25ce6695cf11e7c1ce896d4c1d5183cbe3836","after":"2553700df74539b412375a57e3bb7b11c74e6cea","ref":"refs/heads/main","pushedAt":"2024-03-28T03:55:48.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"erodozer","name":"Nicholas Hydock / ero","path":"/erodozer","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/316728?s=80&v=4"},"commit":{"message":"add minimal common channel state numbers to track","shortMessageHtmlLink":"add minimal common channel state numbers to track"}},{"before":"73bd1e41717439bab333fc188d3bc4ef5d587eea","after":"4fc25ce6695cf11e7c1ce896d4c1d5183cbe3836","ref":"refs/heads/main","pushedAt":"2024-03-06T06:11:07.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"erodozer","name":"Nicholas Hydock / ero","path":"/erodozer","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/316728?s=80&v=4"},"commit":{"message":"big chat and emote refactor\n\n- centralize rendering logic into textprocessor, you can disable the processor to avoid handling emotes and the slowness of fetching them\n- unify approach based around message fragments\n- allow for custom bbcode generation by passing along fragments with the chat message\n- emotes from bttv and 7tv are no longer prefetched, allowing for faster startup for channels with many emotes\n- hold messages in a queue from the event streams to try and preserve order when emitting","shortMessageHtmlLink":"big chat and emote refactor"}},{"before":"a0e9ca754bcb07082b804ae62aef30d7e108861f","after":"73bd1e41717439bab333fc188d3bc4ef5d587eea","ref":"refs/heads/main","pushedAt":"2024-03-06T01:45:22.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"erodozer","name":"Nicholas Hydock / ero","path":"/erodozer","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/316728?s=80&v=4"},"commit":{"message":"example chatbox fixes. Add smooth scrolling","shortMessageHtmlLink":"example chatbox fixes. Add smooth scrolling"}},{"before":"95e7c20daf40b77543d96b3c7d0fe6d3f8fcc3be","after":"a0e9ca754bcb07082b804ae62aef30d7e108861f","ref":"refs/heads/main","pushedAt":"2024-02-25T22:36:15.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"erodozer","name":"Nicholas Hydock / ero","path":"/erodozer","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/316728?s=80&v=4"},"commit":{"message":"include cheer and reward id on eventsub chat","shortMessageHtmlLink":"include cheer and reward id on eventsub chat"}},{"before":"c9b97ef81480908c169bdb287e9a0518fed64f6c","after":"95e7c20daf40b77543d96b3c7d0fe6d3f8fcc3be","ref":"refs/heads/main","pushedAt":"2024-02-24T05:54:08.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"erodozer","name":"Nicholas Hydock / ero","path":"/erodozer","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/316728?s=80&v=4"},"commit":{"message":"Updating pronouns.gd to V1 API (#3)\n\n* Updated pronouns.gd to use the V1 API, and implemented requested changes for cleanup of pronoun output\r\n\r\n* Directory confirmation/creation tweaks\r\n\r\nOnly the /emotes/ folder was being confirmed to exist, and it did so in privmsg rather than one of the emote classes, etc. The most logical place for it seems to be utils.gd, which everything else is using for loading and saving images, and has the side effect of also solving the issue that the profile images weren't being saved because the directory wasn't created.","shortMessageHtmlLink":"Updating pronouns.gd to V1 API (#3)"}},{"before":"b2efede74e2c78e97c7809a162e5f25d137d4040","after":"c9b97ef81480908c169bdb287e9a0518fed64f6c","ref":"refs/heads/main","pushedAt":"2024-02-23T15:23:38.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"erodozer","name":"Nicholas Hydock / ero","path":"/erodozer","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/316728?s=80&v=4"},"commit":{"message":"reduce noise","shortMessageHtmlLink":"reduce noise"}},{"before":"3fef16fec8459f7a963fbd674151bdf84f5731c9","after":"b2efede74e2c78e97c7809a162e5f25d137d4040","ref":"refs/heads/main","pushedAt":"2024-02-23T05:48:03.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"erodozer","name":"Nicholas Hydock / ero","path":"/erodozer","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/316728?s=80&v=4"},"commit":{"message":"better handle oauth failures","shortMessageHtmlLink":"better handle oauth failures"}},{"before":"1c44741a890d4636b77414228007c59c4cc46e2f","after":"3fef16fec8459f7a963fbd674151bdf84f5731c9","ref":"refs/heads/main","pushedAt":"2024-02-23T04:41:15.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"erodozer","name":"Nicholas Hydock / ero","path":"/erodozer","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/316728?s=80&v=4"},"commit":{"message":"irc improvements\n\n- fix auto fallback to irc\n- fix including timestamp in irc events\n- fix 3rd party emotes replacing only on whole word match","shortMessageHtmlLink":"irc improvements"}},{"before":"6ffe83acd4ad9b75500bcf3dc60ab0327b043c02","after":"1c44741a890d4636b77414228007c59c4cc46e2f","ref":"refs/heads/main","pushedAt":"2024-02-23T04:38:33.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"erodozer","name":"Nicholas Hydock / ero","path":"/erodozer","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/316728?s=80&v=4"},"commit":{"message":"irc improvements\n\n- fix auto fallback to irc\n- fix including timestamp in irc events\n- fix 3rd party emotes replacing only on whole word match","shortMessageHtmlLink":"irc improvements"}},{"before":"ea473196cb0aa39dca1675c3dd9f7a76c9f44488","after":"6ffe83acd4ad9b75500bcf3dc60ab0327b043c02","ref":"refs/heads/main","pushedAt":"2024-02-23T02:38:48.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"erodozer","name":"Nicholas Hydock / ero","path":"/erodozer","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/316728?s=80&v=4"},"commit":{"message":"emote fixes","shortMessageHtmlLink":"emote fixes"}},{"before":"ec429a82b6bf52a9e2ed80a160db809fe0830d10","after":"ea473196cb0aa39dca1675c3dd9f7a76c9f44488","ref":"refs/heads/main","pushedAt":"2024-01-29T00:11:10.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"erodozer","name":"Nicholas Hydock / ero","path":"/erodozer","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/316728?s=80&v=4"},"commit":{"message":"hold emotes in memory so they do not get released before immediate use","shortMessageHtmlLink":"hold emotes in memory so they do not get released before immediate use"}},{"before":"8b5ea2605655ff3d63faf135cc06ddbcadb188df","after":"ec429a82b6bf52a9e2ed80a160db809fe0830d10","ref":"refs/heads/main","pushedAt":"2024-01-28T22:35:13.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"erodozer","name":"Nicholas Hydock / ero","path":"/erodozer","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/316728?s=80&v=4"},"commit":{"message":"minor state management fixes","shortMessageHtmlLink":"minor state management fixes"}},{"before":"477b6e70db5ad43b20a7b8849e797bc0c0490e8a","after":"8b5ea2605655ff3d63faf135cc06ddbcadb188df","ref":"refs/heads/main","pushedAt":"2024-01-28T01:37:11.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"erodozer","name":"Nicholas Hydock / ero","path":"/erodozer","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/316728?s=80&v=4"},"commit":{"message":"add message delete support for eventsub","shortMessageHtmlLink":"add message delete support for eventsub"}},{"before":"709ea2a2361a421049b0701b3978b0c9de2fcbbe","after":"477b6e70db5ad43b20a7b8849e797bc0c0490e8a","ref":"refs/heads/main","pushedAt":"2024-01-28T01:36:19.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"erodozer","name":"Nicholas Hydock / ero","path":"/erodozer","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/316728?s=80&v=4"},"commit":{"message":"add message delete support for eventsub","shortMessageHtmlLink":"add message delete support for eventsub"}},{"before":"ee53af6e879ba705a7897b7bdb6d80d6178247ca","after":"709ea2a2361a421049b0701b3978b0c9de2fcbbe","ref":"refs/heads/main","pushedAt":"2024-01-28T01:20:59.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"erodozer","name":"Nicholas Hydock / ero","path":"/erodozer","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/316728?s=80&v=4"},"commit":{"message":"finish up refactoring and example project","shortMessageHtmlLink":"finish up refactoring and example project"}},{"before":"4cc17a0a507bf9bc1b7cdeaa64d8304a1f234f87","after":null,"ref":"refs/heads/example-project","pushedAt":"2024-01-28T01:18:30.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"erodozer","name":"Nicholas Hydock / ero","path":"/erodozer","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/316728?s=80&v=4"}},{"before":"dc355c4cd29cfec67a74fa98cf10ea8420137953","after":"ee53af6e879ba705a7897b7bdb6d80d6178247ca","ref":"refs/heads/main","pushedAt":"2024-01-28T01:18:17.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"erodozer","name":"Nicholas Hydock / ero","path":"/erodozer","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/316728?s=80&v=4"},"commit":{"message":"finish up refactoring and example project","shortMessageHtmlLink":"finish up refactoring and example project"}},{"before":null,"after":"4cc17a0a507bf9bc1b7cdeaa64d8304a1f234f87","ref":"refs/heads/example-project","pushedAt":"2024-01-27T05:26:36.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"erodozer","name":"Nicholas Hydock / ero","path":"/erodozer","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/316728?s=80&v=4"},"commit":{"message":"work on docs and example","shortMessageHtmlLink":"work on docs and example"}},{"before":"d093990bf96604ba409571db271930fd31569033","after":"dc355c4cd29cfec67a74fa98cf10ea8420137953","ref":"refs/heads/main","pushedAt":"2023-09-27T03:51:27.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"erodozer","name":"Nicholas Hydock / ero","path":"/erodozer","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/316728?s=80&v=4"},"commit":{"message":"support bttv global emotes","shortMessageHtmlLink":"support bttv global emotes"}},{"before":"55a864d6aeb414ee78a3b7d6593ee87f1eb08a1c","after":"d093990bf96604ba409571db271930fd31569033","ref":"refs/heads/main","pushedAt":"2023-09-27T03:30:31.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"erodozer","name":"Nicholas Hydock / ero","path":"/erodozer","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/316728?s=80&v=4"},"commit":{"message":"update magick_dumps, catch some emote loading race conditions","shortMessageHtmlLink":"update magick_dumps, catch some emote loading race conditions"}},{"before":"f766816c189e970dc5a177344900b6220c724999","after":"55a864d6aeb414ee78a3b7d6593ee87f1eb08a1c","ref":"refs/heads/main","pushedAt":"2023-07-09T21:02:05.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"erodozer","name":"Nicholas Hydock / ero","path":"/erodozer","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/316728?s=80&v=4"},"commit":{"message":"fix graceful shutdown","shortMessageHtmlLink":"fix graceful shutdown"}},{"before":"484241c81b69522cf6119fce8418efbca478d03c","after":"f766816c189e970dc5a177344900b6220c724999","ref":"refs/heads/main","pushedAt":"2023-07-06T15:21:19.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"erodozer","name":"Nicholas Hydock / ero","path":"/erodozer","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/316728?s=80&v=4"},"commit":{"message":"reduce events emitted for connection state","shortMessageHtmlLink":"reduce events emitted for connection state"}},{"before":"656f66590c4c92f4de9e8154ae08546b13eef95c","after":"484241c81b69522cf6119fce8418efbca478d03c","ref":"refs/heads/main","pushedAt":"2023-07-06T14:42:01.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"erodozer","name":"Nicholas Hydock / ero","path":"/erodozer","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/316728?s=80&v=4"},"commit":{"message":"fix feature toggles","shortMessageHtmlLink":"fix feature toggles"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAEPXa5SgA","startCursor":null,"endCursor":null}},"title":"Activity · erodozer/tmi.gd"}