<feed xmlns='http://www.w3.org/2005/Atom'>
<title>spacebarchat/server-ts.git/src/api, branch github/dev/lazyrequest</title>
<subtitle>Spacebar Server, written with love in TypeScript and C#
</subtitle>
<id>http://cgit.rory.gay/spacebarchat/server-ts.git/atom?h=github%2Fdev%2Flazyrequest</id>
<link rel='self' href='http://cgit.rory.gay/spacebarchat/server-ts.git/atom?h=github%2Fdev%2Flazyrequest'/>
<link rel='alternate' type='text/html' href='http://cgit.rory.gay/spacebarchat/server-ts.git/'/>
<updated>2026-06-17T20:51:39Z</updated>
<entry>
<title>Delete messages when deleting webhook</title>
<updated>2026-06-17T20:51:39Z</updated>
<author>
<name>Rory&amp;</name>
<email>root@rory.gay</email>
</author>
<published>2026-06-17T20:51:39Z</published>
<link rel='alternate' type='text/html' href='http://cgit.rory.gay/spacebarchat/server-ts.git/commit/?id=edbb6048c12d20cfd0e4740c4afe7589946cd7ae'/>
<id>urn:sha1:edbb6048c12d20cfd0e4740c4afe7589946cd7ae</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Routes: reduce scope of api imports to api/util</title>
<updated>2026-06-17T00:34:50Z</updated>
<author>
<name>Rory&amp;</name>
<email>root@rory.gay</email>
</author>
<published>2026-06-17T00:34:50Z</published>
<link rel='alternate' type='text/html' href='http://cgit.rory.gay/spacebarchat/server-ts.git/commit/?id=9915727ccdf2544de7388d4262325f0261aafc86'/>
<id>urn:sha1:9915727ccdf2544de7388d4262325f0261aafc86</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Clean up some imports to make API work again</title>
<updated>2026-06-17T00:17:59Z</updated>
<author>
<name>Rory&amp;</name>
<email>root@rory.gay</email>
</author>
<published>2026-06-17T00:17:59Z</published>
<link rel='alternate' type='text/html' href='http://cgit.rory.gay/spacebarchat/server-ts.git/commit/?id=4aceae2bed793c68256083468899482539d771bc'/>
<id>urn:sha1:4aceae2bed793c68256083468899482539d771bc</id>
<content type='text'>
</content>
</entry>
<entry>
<title>extensions/String: use custom exception type</title>
<updated>2026-06-16T23:48:23Z</updated>
<author>
<name>Rory&amp;</name>
<email>root@rory.gay</email>
</author>
<published>2026-06-16T23:48:23Z</published>
<link rel='alternate' type='text/html' href='http://cgit.rory.gay/spacebarchat/server-ts.git/commit/?id=4c25f8443103e95f9dbce86ac19c465d49859ca1'/>
<id>urn:sha1:4c25f8443103e95f9dbce86ac19c465d49859ca1</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Authentication: allow - in webhook token</title>
<updated>2026-06-16T15:59:23Z</updated>
<author>
<name>Rory&amp;</name>
<email>root@rory.gay</email>
</author>
<published>2026-06-16T15:59:23Z</published>
<link rel='alternate' type='text/html' href='http://cgit.rory.gay/spacebarchat/server-ts.git/commit/?id=9bb2c437cfc61d117373973045a03de66f8e5e49'/>
<id>urn:sha1:9bb2c437cfc61d117373973045a03de66f8e5e49</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Fix import</title>
<updated>2026-06-16T01:33:11Z</updated>
<author>
<name>Rory&amp;</name>
<email>root@rory.gay</email>
</author>
<published>2026-06-16T01:33:11Z</published>
<link rel='alternate' type='text/html' href='http://cgit.rory.gay/spacebarchat/server-ts.git/commit/?id=e97c1820b707965e33573a3623dc6568fdf757e5'/>
<id>urn:sha1:e97c1820b707965e33573a3623dc6568fdf757e5</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Signify some imports more explicitly</title>
<updated>2026-06-16T00:47:03Z</updated>
<author>
<name>Rory&amp;</name>
<email>root@rory.gay</email>
</author>
<published>2026-06-16T00:47:03Z</published>
<link rel='alternate' type='text/html' href='http://cgit.rory.gay/spacebarchat/server-ts.git/commit/?id=6e0f571b353769e70580b0d78344495f65c8dc25'/>
<id>urn:sha1:6e0f571b353769e70580b0d78344495f65c8dc25</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Move random string to Random class in extensions</title>
<updated>2026-06-16T00:39:15Z</updated>
<author>
<name>Rory&amp;</name>
<email>root@rory.gay</email>
</author>
<published>2026-06-16T00:39:15Z</published>
<link rel='alternate' type='text/html' href='http://cgit.rory.gay/spacebarchat/server-ts.git/commit/?id=92f4099b82f9b56972aff99b74dba4c3892272cb'/>
<id>urn:sha1:92f4099b82f9b56972aff99b74dba4c3892272cb</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Dont fetch roles if role id set is empty</title>
<updated>2026-06-15T23:09:56Z</updated>
<author>
<name>Rory&amp;</name>
<email>root@rory.gay</email>
</author>
<published>2026-06-15T23:09:56Z</published>
<link rel='alternate' type='text/html' href='http://cgit.rory.gay/spacebarchat/server-ts.git/commit/?id=4b27ee46d6a536a48a128a4146b9d8c3b1597309'/>
<id>urn:sha1:4b27ee46d6a536a48a128a4146b9d8c3b1597309</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Dont fetch roles for non-guild mesages</title>
<updated>2026-06-15T23:03:20Z</updated>
<author>
<name>Rory&amp;</name>
<email>root@rory.gay</email>
</author>
<published>2026-06-15T23:03:20Z</published>
<link rel='alternate' type='text/html' href='http://cgit.rory.gay/spacebarchat/server-ts.git/commit/?id=89d81432d34ece41c7d2bb6372ab1b7a2012d202'/>
<id>urn:sha1:89d81432d34ece41c7d2bb6372ab1b7a2012d202</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Account for channel id when deleting messages</title>
<updated>2026-06-15T22:29:47Z</updated>
<author>
<name>Rory&amp;</name>
<email>root@rory.gay</email>
</author>
<published>2026-06-15T22:29:47Z</published>
<link rel='alternate' type='text/html' href='http://cgit.rory.gay/spacebarchat/server-ts.git/commit/?id=e1de08a4d47cc95820c3355c4abfe11fdf8bdda8'/>
<id>urn:sha1:e1de08a4d47cc95820c3355c4abfe11fdf8bdda8</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Replace APIRole with schema</title>
<updated>2026-06-13T18:37:26Z</updated>
<author>
<name>Rory&amp;</name>
<email>root@rory.gay</email>
</author>
<published>2026-06-13T18:24:12Z</published>
<link rel='alternate' type='text/html' href='http://cgit.rory.gay/spacebarchat/server-ts.git/commit/?id=42406c18383902bbef5f3d78e5c04511eff9f519'/>
<id>urn:sha1:42406c18383902bbef5f3d78e5c04511eff9f519</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Split config/response voice regions, remove APIVoiceRegion alias</title>
<updated>2026-06-12T23:57:19Z</updated>
<author>
<name>Rory&amp;</name>
<email>root@rory.gay</email>
</author>
<published>2026-06-12T23:57:19Z</published>
<link rel='alternate' type='text/html' href='http://cgit.rory.gay/spacebarchat/server-ts.git/commit/?id=6995aa7f74e78be9cff90fde3d1c913bce834aac'/>
<id>urn:sha1:6995aa7f74e78be9cff90fde3d1c913bce834aac</id>
<content type='text'>
</content>
</entry>
<entry>
<title>HACKHACK: Migrate to typeorm v1.0.0, still work to do in actually updating all the queries properly</title>
<updated>2026-06-12T23:10:59Z</updated>
<author>
<name>Rory&amp;</name>
<email>root@rory.gay</email>
</author>
<published>2026-06-12T23:10:59Z</published>
<link rel='alternate' type='text/html' href='http://cgit.rory.gay/spacebarchat/server-ts.git/commit/?id=92f25c3a22249c65205dd61dfc8399989a010a0e'/>
<id>urn:sha1:92f25c3a22249c65205dd61dfc8399989a010a0e</id>
<content type='text'>
</content>
</entry>
<entry>
<title>api/widget: dont import the entirety of the CDN server</title>
<updated>2026-06-12T15:58:18Z</updated>
<author>
<name>Rory&amp;</name>
<email>root@rory.gay</email>
</author>
<published>2026-06-12T14:57:41Z</published>
<link rel='alternate' type='text/html' href='http://cgit.rory.gay/spacebarchat/server-ts.git/commit/?id=a437f0a64e49e7e315ed0c6008a8f2eb4f5ae24f'/>
<id>urn:sha1:a437f0a64e49e7e315ed0c6008a8f2eb4f5ae24f</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Move more extensions to extensions</title>
<updated>2026-06-12T15:58:18Z</updated>
<author>
<name>Rory&amp;</name>
<email>root@rory.gay</email>
</author>
<published>2026-06-12T14:27:38Z</published>
<link rel='alternate' type='text/html' href='http://cgit.rory.gay/spacebarchat/server-ts.git/commit/?id=03ecae4348182885b8aa06d2b42c2e7da88923b2'/>
<id>urn:sha1:03ecae4348182885b8aa06d2b42c2e7da88923b2</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Move entities to database</title>
<updated>2026-06-12T15:58:18Z</updated>
<author>
<name>Rory&amp;</name>
<email>root@rory.gay</email>
</author>
<published>2026-06-11T20:16:07Z</published>
<link rel='alternate' type='text/html' href='http://cgit.rory.gay/spacebarchat/server-ts.git/commit/?id=c77d00e243f7cf104b8b0f8b26f339849dbd040f'/>
<id>urn:sha1:c77d00e243f7cf104b8b0f8b26f339849dbd040f</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Move database to toplevel</title>
<updated>2026-06-12T15:58:18Z</updated>
<author>
<name>Rory&amp;</name>
<email>root@rory.gay</email>
</author>
<published>2026-06-11T17:12:23Z</published>
<link rel='alternate' type='text/html' href='http://cgit.rory.gay/spacebarchat/server-ts.git/commit/?id=6821fe05135072af8add7a4fedb6c9ec0fd90ed7'/>
<id>urn:sha1:6821fe05135072af8add7a4fedb6c9ec0fd90ed7</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Use subpath imports for lambert-server, fix openapi.js</title>
<updated>2026-06-12T15:58:18Z</updated>
<author>
<name>Rory&amp;</name>
<email>root@rory.gay</email>
</author>
<published>2026-06-11T16:16:31Z</published>
<link rel='alternate' type='text/html' href='http://cgit.rory.gay/spacebarchat/server-ts.git/commit/?id=2c1be0fa53ca2b8efb5b04de3e2bd41b61917c69'/>
<id>urn:sha1:2c1be0fa53ca2b8efb5b04de3e2bd41b61917c69</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Allow subpath imports, move extensions to separate module</title>
<updated>2026-06-12T15:58:18Z</updated>
<author>
<name>Rory&amp;</name>
<email>root@rory.gay</email>
</author>
<published>2026-06-11T16:07:50Z</published>
<link rel='alternate' type='text/html' href='http://cgit.rory.gay/spacebarchat/server-ts.git/commit/?id=d84b8707ee3855440838304245db7140ee17b6c3'/>
<id>urn:sha1:d84b8707ee3855440838304245db7140ee17b6c3</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Dont send guild_add for autojoin guilds on register, disable bcrypt workers as doing it in thread is slightly faster</title>
<updated>2026-06-11T00:21:03Z</updated>
<author>
<name>Rory&amp;</name>
<email>root@rory.gay</email>
</author>
<published>2026-06-11T00:21:03Z</published>
<link rel='alternate' type='text/html' href='http://cgit.rory.gay/spacebarchat/server-ts.git/commit/?id=c28d14b861c4e28cfbf39fcdc69d5d4d61f5b762'/>
<id>urn:sha1:c28d14b861c4e28cfbf39fcdc69d5d4d61f5b762</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Bcrypt worker threads</title>
<updated>2026-06-10T22:05:37Z</updated>
<author>
<name>Rory&amp;</name>
<email>root@rory.gay</email>
</author>
<published>2026-06-10T22:05:37Z</published>
<link rel='alternate' type='text/html' href='http://cgit.rory.gay/spacebarchat/server-ts.git/commit/?id=e46c864f9d83152a1b745834bf3f3f575fdf6229'/>
<id>urn:sha1:e46c864f9d83152a1b745834bf3f3f575fdf6229</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Trace registration</title>
<updated>2026-06-10T22:04:10Z</updated>
<author>
<name>Rory&amp;</name>
<email>root@rory.gay</email>
</author>
<published>2026-06-10T22:04:10Z</published>
<link rel='alternate' type='text/html' href='http://cgit.rory.gay/spacebarchat/server-ts.git/commit/?id=02d93d2a920d3998a9a35aef1746abb15039f7bc'/>
<id>urn:sha1:02d93d2a920d3998a9a35aef1746abb15039f7bc</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Use better permissions when handling webhook mentions</title>
<updated>2026-06-05T20:59:33Z</updated>
<author>
<name>Rory&amp;</name>
<email>root@rory.gay</email>
</author>
<published>2026-06-05T20:59:33Z</published>
<link rel='alternate' type='text/html' href='http://cgit.rory.gay/spacebarchat/server-ts.git/commit/?id=0573c394cfb42af33c7ed56ae1729a506cde2e62'/>
<id>urn:sha1:0573c394cfb42af33c7ed56ae1729a506cde2e62</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Log silent attachment failures for webhooks</title>
<updated>2026-06-05T20:42:59Z</updated>
<author>
<name>Rory&amp;</name>
<email>root@rory.gay</email>
</author>
<published>2026-06-05T20:42:59Z</published>
<link rel='alternate' type='text/html' href='http://cgit.rory.gay/spacebarchat/server-ts.git/commit/?id=79e5899dc1d53a430276481b3743b61187040aea'/>
<id>urn:sha1:79e5899dc1d53a430276481b3743b61187040aea</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Return url on webhook create</title>
<updated>2026-06-05T20:08:03Z</updated>
<author>
<name>Rory&amp;</name>
<email>root@rory.gay</email>
</author>
<published>2026-06-05T20:08:03Z</published>
<link rel='alternate' type='text/html' href='http://cgit.rory.gay/spacebarchat/server-ts.git/commit/?id=46b73308b1f00e184a904bc7100ffcf9ccd374bb'/>
<id>urn:sha1:46b73308b1f00e184a904bc7100ffcf9ccd374bb</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Clean up import in Monitoring, close webrtc connection on IPC failure, add LOG_API_ERRORS env var</title>
<updated>2026-06-05T13:46:25Z</updated>
<author>
<name>Rory&amp;</name>
<email>root@rory.gay</email>
</author>
<published>2026-06-05T13:46:25Z</published>
<link rel='alternate' type='text/html' href='http://cgit.rory.gay/spacebarchat/server-ts.git/commit/?id=805f76d04ba33660e0aab4860b61011958f75d50'/>
<id>urn:sha1:805f76d04ba33660e0aab4860b61011958f75d50</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Merge branch 'dev/monitoring'</title>
<updated>2026-05-28T15:32:37Z</updated>
<author>
<name>Rory&amp;</name>
<email>root@rory.gay</email>
</author>
<published>2026-05-28T15:32:37Z</published>
<link rel='alternate' type='text/html' href='http://cgit.rory.gay/spacebarchat/server-ts.git/commit/?id=94b3056cef543ab7c88b59094b42ab2810218f65'/>
<id>urn:sha1:94b3056cef543ab7c88b59094b42ab2810218f65</id>
<content type='text'>
</content>
</entry>
<entry>
<title>*/Server.ts: Handle metrics requests</title>
<updated>2026-05-28T15:27:08Z</updated>
<author>
<name>Rory&amp;</name>
<email>root@rory.gay</email>
</author>
<published>2026-05-20T12:06:19Z</published>
<link rel='alternate' type='text/html' href='http://cgit.rory.gay/spacebarchat/server-ts.git/commit/?id=e2da753c2dcfcb1b6243aafa0086a5c086ba654c'/>
<id>urn:sha1:e2da753c2dcfcb1b6243aafa0086a5c086ba654c</id>
<content type='text'>
</content>
</entry>
<entry>
<title>*/Server.ts: Add monitoring init hook</title>
<updated>2026-05-28T15:27:08Z</updated>
<author>
<name>Rory&amp;</name>
<email>root@rory.gay</email>
</author>
<published>2026-05-20T11:51:11Z</published>
<link rel='alternate' type='text/html' href='http://cgit.rory.gay/spacebarchat/server-ts.git/commit/?id=4a9c6cacc5cadccbf88d910d62e222bf3f4ff5ff'/>
<id>urn:sha1:4a9c6cacc5cadccbf88d910d62e222bf3f4ff5ff</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Process lifecycle scripts</title>
<updated>2026-05-28T15:27:07Z</updated>
<author>
<name>Rory&amp;</name>
<email>root@rory.gay</email>
</author>
<published>2026-05-28T08:38:39Z</published>
<link rel='alternate' type='text/html' href='http://cgit.rory.gay/spacebarchat/server-ts.git/commit/?id=0d6824d2853dd50bdb882429c3528f6e0fd8d4de'/>
<id>urn:sha1:0d6824d2853dd50bdb882429c3528f6e0fd8d4de</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Process lifecycle scripts</title>
<updated>2026-05-28T08:38:39Z</updated>
<author>
<name>Rory&amp;</name>
<email>root@rory.gay</email>
</author>
<published>2026-05-28T08:38:39Z</published>
<link rel='alternate' type='text/html' href='http://cgit.rory.gay/spacebarchat/server-ts.git/commit/?id=b1b73d45e7ab798975400fa8be68a2ba2238e782'/>
<id>urn:sha1:b1b73d45e7ab798975400fa8be68a2ba2238e782</id>
<content type='text'>
#Conflicts:
#	src/api/Server.ts
#	src/bundle/Server.ts
#	src/cdn/Server.ts
#	src/gateway/Server.ts
#	src/gateway/events/Connection.ts
#	src/util/util/ipc/listener/RabbitMqSingleListener.ts
#	src/util/util/ipc/listener/UnixSocketListener.ts
#	src/util/util/ipc/writer/UnixSocketWriter.ts
#	src/webrtc/Server.ts
</content>
</entry>
<entry>
<title>Break up bulk inserts for read states to avoid postgres parameter exhaustion</title>
<updated>2026-05-26T05:48:10Z</updated>
<author>
<name>Rory&amp;</name>
<email>root@rory.gay</email>
</author>
<published>2026-05-23T23:15:00Z</published>
<link rel='alternate' type='text/html' href='http://cgit.rory.gay/spacebarchat/server-ts.git/commit/?id=b8decc64da2c6c358748d035450633fa3da1c7d0'/>
<id>urn:sha1:b8decc64da2c6c358748d035450633fa3da1c7d0</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Trace fillInMissingIDs</title>
<updated>2026-05-26T05:48:10Z</updated>
<author>
<name>Rory&amp;</name>
<email>root@rory.gay</email>
</author>
<published>2026-05-22T20:38:12Z</published>
<link rel='alternate' type='text/html' href='http://cgit.rory.gay/spacebarchat/server-ts.git/commit/?id=1fa3d392fa01dc1cc7d208521bd83e97e833136d'/>
<id>urn:sha1:1fa3d392fa01dc1cc7d208521bd83e97e833136d</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Bulk insert missing ReadStates</title>
<updated>2026-05-26T05:48:10Z</updated>
<author>
<name>Rory&amp;</name>
<email>root@rory.gay</email>
</author>
<published>2026-05-22T19:41:51Z</published>
<link rel='alternate' type='text/html' href='http://cgit.rory.gay/spacebarchat/server-ts.git/commit/?id=6dda5bd401838d39f9956e9fe61a2a97d4e93af5'/>
<id>urn:sha1:6dda5bd401838d39f9956e9fe61a2a97d4e93af5</id>
<content type='text'>
</content>
</entry>
<entry>
<title>No longer handle mention_count == null since its no longer nullable</title>
<updated>2026-05-26T05:48:10Z</updated>
<author>
<name>Rory&amp;</name>
<email>root@rory.gay</email>
</author>
<published>2026-05-22T17:59:10Z</published>
<link rel='alternate' type='text/html' href='http://cgit.rory.gay/spacebarchat/server-ts.git/commit/?id=bd55ec01e553899040b4fa84ef80b6d9520313ae'/>
<id>urn:sha1:bd55ec01e553899040b4fa84ef80b6d9520313ae</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Use forEach rather than .map.forEach</title>
<updated>2026-05-26T05:48:10Z</updated>
<author>
<name>Rory&amp;</name>
<email>root@rory.gay</email>
</author>
<published>2026-05-22T17:26:12Z</published>
<link rel='alternate' type='text/html' href='http://cgit.rory.gay/spacebarchat/server-ts.git/commit/?id=6098a03be40ef6388970d62a7481e29e38f7cc23'/>
<id>urn:sha1:6098a03be40ef6388970d62a7481e29e38f7cc23</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Add full trace</title>
<updated>2026-05-26T05:48:10Z</updated>
<author>
<name>Rory&amp;</name>
<email>root@rory.gay</email>
</author>
<published>2026-05-22T16:56:04Z</published>
<link rel='alternate' type='text/html' href='http://cgit.rory.gay/spacebarchat/server-ts.git/commit/?id=37e393dd6007a59d5a5464ec5cc83c084e5577a2'/>
<id>urn:sha1:37e393dd6007a59d5a5464ec5cc83c084e5577a2</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Use sets for mention roles/users</title>
<updated>2026-05-26T05:48:10Z</updated>
<author>
<name>Rory&amp;</name>
<email>root@rory.gay</email>
</author>
<published>2026-05-21T17:31:01Z</published>
<link rel='alternate' type='text/html' href='http://cgit.rory.gay/spacebarchat/server-ts.git/commit/?id=3e86c14539354b624e72f577668917b6dddbd874'/>
<id>urn:sha1:3e86c14539354b624e72f577668917b6dddbd874</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Simplify some queries for handling mentions</title>
<updated>2026-05-26T05:48:10Z</updated>
<author>
<name>Rory&amp;</name>
<email>root@rory.gay</email>
</author>
<published>2026-05-21T16:18:54Z</published>
<link rel='alternate' type='text/html' href='http://cgit.rory.gay/spacebarchat/server-ts.git/commit/?id=35d1d73f0d2e01981ad5daab213c882850c4e410'/>
<id>urn:sha1:35d1d73f0d2e01981ad5daab213c882850c4e410</id>
<content type='text'>
</content>
</entry>
<entry>
<title>User mentions: use `user_id IN (...)` rather than `user_id = ... OR user_id = ...`</title>
<updated>2026-05-26T05:48:10Z</updated>
<author>
<name>Rory&amp;</name>
<email>root@rory.gay</email>
</author>
<published>2026-05-21T14:25:52Z</published>
<link rel='alternate' type='text/html' href='http://cgit.rory.gay/spacebarchat/server-ts.git/commit/?id=558dc944898c50721eadd0bf63086687ee5641e5'/>
<id>urn:sha1:558dc944898c50721eadd0bf63086687ee5641e5</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Move message mention handling to separate function</title>
<updated>2026-05-26T05:48:10Z</updated>
<author>
<name>Rory&amp;</name>
<email>root@rory.gay</email>
</author>
<published>2026-05-21T14:24:55Z</published>
<link rel='alternate' type='text/html' href='http://cgit.rory.gay/spacebarchat/server-ts.git/commit/?id=0304f689804c9e1edb67898d212a6c0a441ea94e'/>
<id>urn:sha1:0304f689804c9e1edb67898d212a6c0a441ea94e</id>
<content type='text'>
</content>
</entry>
<entry>
<title>*/start.ts: unify import order for module-alias and dotenv</title>
<updated>2026-05-24T04:09:16Z</updated>
<author>
<name>Rory&amp;</name>
<email>root@rory.gay</email>
</author>
<published>2026-05-20T11:48:21Z</published>
<link rel='alternate' type='text/html' href='http://cgit.rory.gay/spacebarchat/server-ts.git/commit/?id=829c8c436e0c656e0f58272de885ac443e1f4c81'/>
<id>urn:sha1:829c8c436e0c656e0f58272de885ac443e1f4c81</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Clean up erlpack types</title>
<updated>2026-05-24T04:08:00Z</updated>
<author>
<name>Rory&amp;</name>
<email>root@rory.gay</email>
</author>
<published>2026-05-24T03:57:44Z</published>
<link rel='alternate' type='text/html' href='http://cgit.rory.gay/spacebarchat/server-ts.git/commit/?id=dd3b398fb214da0bb1348c3dd48dc68ecac2bd38'/>
<id>urn:sha1:dd3b398fb214da0bb1348c3dd48dc68ecac2bd38</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Compliance: add user_id and user_settings to login response</title>
<updated>2026-05-05T12:13:29Z</updated>
<author>
<name>Rory&amp;</name>
<email>root@rory.gay</email>
</author>
<published>2026-05-05T12:13:29Z</published>
<link rel='alternate' type='text/html' href='http://cgit.rory.gay/spacebarchat/server-ts.git/commit/?id=7e152be9ddea3da2d2eb547a7a485a8ef931385e'/>
<id>urn:sha1:7e152be9ddea3da2d2eb547a7a485a8ef931385e</id>
<content type='text'>
</content>
</entry>
<entry>
<title>handle constraints on webhook delete</title>
<updated>2026-05-03T08:50:22Z</updated>
<author>
<name>Rory&amp;</name>
<email>root@rory.gay</email>
</author>
<published>2026-04-29T10:54:59Z</published>
<link rel='alternate' type='text/html' href='http://cgit.rory.gay/spacebarchat/server-ts.git/commit/?id=5c5e8d820e664182b7951a4924d7d60e86f81a4a'/>
<id>urn:sha1:5c5e8d820e664182b7951a4924d7d60e86f81a4a</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Register: cache blocked IPs</title>
<updated>2026-04-28T01:53:45Z</updated>
<author>
<name>Rory&amp;</name>
<email>root@rory.gay</email>
</author>
<published>2026-04-28T01:53:45Z</published>
<link rel='alternate' type='text/html' href='http://cgit.rory.gay/spacebarchat/server-ts.git/commit/?id=d9d339882be60c72ffd8b5dd0b5adb163f447229'/>
<id>urn:sha1:d9d339882be60c72ffd8b5dd0b5adb163f447229</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Document why ImageProxy.ts exists</title>
<updated>2026-04-26T00:16:16Z</updated>
<author>
<name>Rory&amp;</name>
<email>root@rory.gay</email>
</author>
<published>2026-04-26T00:16:16Z</published>
<link rel='alternate' type='text/html' href='http://cgit.rory.gay/spacebarchat/server-ts.git/commit/?id=895539e9e23bb6519145b5afaa8502164de52353'/>
<id>urn:sha1:895539e9e23bb6519145b5afaa8502164de52353</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Constrain role name lengths</title>
<updated>2026-04-24T03:01:26Z</updated>
<author>
<name>Rory&amp;</name>
<email>root@rory.gay</email>
</author>
<published>2026-04-24T03:01:26Z</published>
<link rel='alternate' type='text/html' href='http://cgit.rory.gay/spacebarchat/server-ts.git/commit/?id=44ad24ac0db6d4bec49c4a6013868bbcc4128c9d'/>
<id>urn:sha1:44ad24ac0db6d4bec49c4a6013868bbcc4128c9d</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Move email domain lists to assets</title>
<updated>2026-04-24T00:32:27Z</updated>
<author>
<name>Rory&amp;</name>
<email>root@rory.gay</email>
</author>
<published>2026-04-24T00:32:27Z</published>
<link rel='alternate' type='text/html' href='http://cgit.rory.gay/spacebarchat/server-ts.git/commit/?id=528aa632fa52e98ea2940e85f9c3a9040318eb48'/>
<id>urn:sha1:528aa632fa52e98ea2940e85f9c3a9040318eb48</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Clean up imports in schemas/api/bots</title>
<updated>2026-04-19T22:14:47Z</updated>
<author>
<name>Rory&amp;</name>
<email>root@rory.gay</email>
</author>
<published>2026-04-19T21:38:19Z</published>
<link rel='alternate' type='text/html' href='http://cgit.rory.gay/spacebarchat/server-ts.git/commit/?id=ae064aea1b9ba9b39bf4c2e320691efd90d7ba0d'/>
<id>urn:sha1:ae064aea1b9ba9b39bf4c2e320691efd90d7ba0d</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Clean some unused imports</title>
<updated>2026-04-19T21:22:40Z</updated>
<author>
<name>Rory&amp;</name>
<email>root@rory.gay</email>
</author>
<published>2026-04-19T21:22:40Z</published>
<link rel='alternate' type='text/html' href='http://cgit.rory.gay/spacebarchat/server-ts.git/commit/?id=7709d0650cc2abf69998a8256ce0fc291bc7d747'/>
<id>urn:sha1:7709d0650cc2abf69998a8256ce0fc291bc7d747</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Fix guild discovery</title>
<updated>2026-04-19T21:19:56Z</updated>
<author>
<name>Rory&amp;</name>
<email>root@rory.gay</email>
</author>
<published>2026-04-19T21:19:56Z</published>
<link rel='alternate' type='text/html' href='http://cgit.rory.gay/spacebarchat/server-ts.git/commit/?id=69970cfa0ebc8da9d3ca10b64656eb94ee6d6595'/>
<id>urn:sha1:69970cfa0ebc8da9d3ca10b64656eb94ee6d6595</id>
<content type='text'>
</content>
</entry>
<entry>
<title>eslint: reapply after rebasing on #1631</title>
<updated>2026-04-19T20:46:53Z</updated>
<author>
<name>Rory&amp;</name>
<email>root@rory.gay</email>
</author>
<published>2026-04-19T20:46:53Z</published>
<link rel='alternate' type='text/html' href='http://cgit.rory.gay/spacebarchat/server-ts.git/commit/?id=609e74b61422df0afa7c27e7c6661c5d2a84c06a'/>
<id>urn:sha1:609e74b61422df0afa7c27e7c6661c5d2a84c06a</id>
<content type='text'>
</content>
</entry>
<entry>
<title>eslint: yoda</title>
<updated>2026-04-19T20:45:37Z</updated>
<author>
<name>Rory&amp;</name>
<email>root@rory.gay</email>
</author>
<published>2026-04-19T20:44:18Z</published>
<link rel='alternate' type='text/html' href='http://cgit.rory.gay/spacebarchat/server-ts.git/commit/?id=c5504878b830ade3f70c94a06a328d605824e548'/>
<id>urn:sha1:c5504878b830ade3f70c94a06a328d605824e548</id>
<content type='text'>
</content>
</entry>
<entry>
<title>eslint: arrow-body-style=as-needed</title>
<updated>2026-04-19T20:45:37Z</updated>
<author>
<name>Rory&amp;</name>
<email>root@rory.gay</email>
</author>
<published>2026-04-19T20:14:01Z</published>
<link rel='alternate' type='text/html' href='http://cgit.rory.gay/spacebarchat/server-ts.git/commit/?id=af29e6b178493c4d323edb9a7838d7731e40df86'/>
<id>urn:sha1:af29e6b178493c4d323edb9a7838d7731e40df86</id>
<content type='text'>
</content>
</entry>
<entry>
<title>eslint: more rules, no-duplicate-imports</title>
<updated>2026-04-19T20:45:37Z</updated>
<author>
<name>Rory&amp;</name>
<email>root@rory.gay</email>
</author>
<published>2026-04-19T19:54:08Z</published>
<link rel='alternate' type='text/html' href='http://cgit.rory.gay/spacebarchat/server-ts.git/commit/?id=a4913dc25ffc14994e25affdd1c2f48502805509'/>
<id>urn:sha1:a4913dc25ffc14994e25affdd1c2f48502805509</id>
<content type='text'>
</content>
</entry>
<entry>
<title>eslint: array callback return, no restricted imports</title>
<updated>2026-04-19T20:45:37Z</updated>
<author>
<name>Rory&amp;</name>
<email>root@rory.gay</email>
</author>
<published>2026-04-19T19:35:30Z</published>
<link rel='alternate' type='text/html' href='http://cgit.rory.gay/spacebarchat/server-ts.git/commit/?id=5f8afbc7ae7603752c2c9732994f0a9b1eb4938a'/>
<id>urn:sha1:5f8afbc7ae7603752c2c9732994f0a9b1eb4938a</id>
<content type='text'>
</content>
</entry>
<entry>
<title>fix comment typo</title>
<updated>2026-04-19T09:34:36Z</updated>
<author>
<name>CyberL1</name>
<email>cyber.hf18@gmail.com</email>
</author>
<published>2026-04-19T09:34:36Z</published>
<link rel='alternate' type='text/html' href='http://cgit.rory.gay/spacebarchat/server-ts.git/commit/?id=0bf9a09a6a70a36bfde98338210e5715c6c38bea'/>
<id>urn:sha1:0bf9a09a6a70a36bfde98338210e5715c6c38bea</id>
<content type='text'>
</content>
</entry>
<entry>
<title>remove oversight</title>
<updated>2026-04-19T09:31:45Z</updated>
<author>
<name>CyberL1</name>
<email>cyber.hf18@gmail.com</email>
</author>
<published>2026-04-19T09:31:45Z</published>
<link rel='alternate' type='text/html' href='http://cgit.rory.gay/spacebarchat/server-ts.git/commit/?id=086f3378f90c8e7f445e66dc973cc7f1f5a2bfb2'/>
<id>urn:sha1:086f3378f90c8e7f445e66dc973cc7f1f5a2bfb2</id>
<content type='text'>
</content>
</entry>
<entry>
<title>fix: expose metadata if should be visible</title>
<updated>2026-04-19T09:19:50Z</updated>
<author>
<name>CyberL1</name>
<email>cyber.hf18@gmail.com</email>
</author>
<published>2026-04-19T09:19:50Z</published>
<link rel='alternate' type='text/html' href='http://cgit.rory.gay/spacebarchat/server-ts.git/commit/?id=7619e08c9d86c796eae0716d0afb1a03589a2543'/>
<id>urn:sha1:7619e08c9d86c796eae0716d0afb1a03589a2543</id>
<content type='text'>
</content>
</entry>
<entry>
<title>fix: expose only public properties</title>
<updated>2026-04-19T09:17:44Z</updated>
<author>
<name>CyberL1</name>
<email>cyber.hf18@gmail.com</email>
</author>
<published>2026-04-19T09:17:44Z</published>
<link rel='alternate' type='text/html' href='http://cgit.rory.gay/spacebarchat/server-ts.git/commit/?id=9a46c3a7128fbc448abe87752fcae36cf2f62753'/>
<id>urn:sha1:9a46c3a7128fbc448abe87752fcae36cf2f62753</id>
<content type='text'>
</content>
</entry>
<entry>
<title>fix: select `visibility` on `connected_accounts`</title>
<updated>2026-04-19T09:13:32Z</updated>
<author>
<name>CyberL1</name>
<email>cyber.hf18@gmail.com</email>
</author>
<published>2026-04-19T09:13:32Z</published>
<link rel='alternate' type='text/html' href='http://cgit.rory.gay/spacebarchat/server-ts.git/commit/?id=748dc308e95dbcef8ea49c8e39fa4549ddc1480f'/>
<id>urn:sha1:748dc308e95dbcef8ea49c8e39fa4549ddc1480f</id>
<content type='text'>
</content>
</entry>
<entry>
<title>NPM updates 2</title>
<updated>2026-04-18T17:42:03Z</updated>
<author>
<name>Rory&amp;</name>
<email>root@rory.gay</email>
</author>
<published>2026-04-18T17:42:03Z</published>
<link rel='alternate' type='text/html' href='http://cgit.rory.gay/spacebarchat/server-ts.git/commit/?id=e1b01bb8f185af56bbc03c8b51bf6863e39cc9d3'/>
<id>urn:sha1:e1b01bb8f185af56bbc03c8b51bf6863e39cc9d3</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Run prettier, remove accidental imports</title>
<updated>2026-04-18T16:26:34Z</updated>
<author>
<name>Rory&amp;</name>
<email>root@rory.gay</email>
</author>
<published>2026-04-18T12:19:54Z</published>
<link rel='alternate' type='text/html' href='http://cgit.rory.gay/spacebarchat/server-ts.git/commit/?id=fc5b569d748079773594a54842ad8c113045f0e7'/>
<id>urn:sha1:fc5b569d748079773594a54842ad8c113045f0e7</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Fix TOTP</title>
<updated>2026-04-18T16:26:34Z</updated>
<author>
<name>Rory&amp;</name>
<email>root@rory.gay</email>
</author>
<published>2026-04-17T22:38:09Z</published>
<link rel='alternate' type='text/html' href='http://cgit.rory.gay/spacebarchat/server-ts.git/commit/?id=4beb23fc224063ae812def37be45fa5e4fff33ac'/>
<id>urn:sha1:4beb23fc224063ae812def37be45fa5e4fff33ac</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Fix error logging, dont use simple-array</title>
<updated>2026-04-18T16:26:34Z</updated>
<author>
<name>Rory&amp;</name>
<email>root@rory.gay</email>
</author>
<published>2026-04-17T22:23:14Z</published>
<link rel='alternate' type='text/html' href='http://cgit.rory.gay/spacebarchat/server-ts.git/commit/?id=50aacea1147d712e72e9334f897f6b9f6dffe6d0'/>
<id>urn:sha1:50aacea1147d712e72e9334f897f6b9f6dffe6d0</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Split out attachment handling from message handler</title>
<updated>2026-04-18T16:26:34Z</updated>
<author>
<name>Rory&amp;</name>
<email>root@rory.gay</email>
</author>
<published>2026-04-17T17:55:36Z</published>
<link rel='alternate' type='text/html' href='http://cgit.rory.gay/spacebarchat/server-ts.git/commit/?id=a3d8a427aa7b5e586f9e25de8cd436f21ff63472'/>
<id>urn:sha1:a3d8a427aa7b5e586f9e25de8cd436f21ff63472</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Attempt to set channel/message id for attachments in more places</title>
<updated>2026-04-18T16:26:34Z</updated>
<author>
<name>Rory&amp;</name>
<email>root@rory.gay</email>
</author>
<published>2026-04-16T23:00:51Z</published>
<link rel='alternate' type='text/html' href='http://cgit.rory.gay/spacebarchat/server-ts.git/commit/?id=81d44788c67cc2f2a367177bf39f5f7501b94eaf'/>
<id>urn:sha1:81d44788c67cc2f2a367177bf39f5f7501b94eaf</id>
<content type='text'>
</content>
</entry>
<entry>
<title>handleMessage: set message id for cloud attachments</title>
<updated>2026-04-18T16:26:34Z</updated>
<author>
<name>Rory&amp;</name>
<email>root@rory.gay</email>
</author>
<published>2026-04-16T01:29:20Z</published>
<link rel='alternate' type='text/html' href='http://cgit.rory.gay/spacebarchat/server-ts.git/commit/?id=e40579fe339288b4f4bc2dd061130e07d39c208b'/>
<id>urn:sha1:e40579fe339288b4f4bc2dd061130e07d39c208b</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Fix attachments</title>
<updated>2026-04-18T16:26:34Z</updated>
<author>
<name>Rory&amp;</name>
<email>root@rory.gay</email>
</author>
<published>2026-04-15T19:44:13Z</published>
<link rel='alternate' type='text/html' href='http://cgit.rory.gay/spacebarchat/server-ts.git/commit/?id=103922e8411d4735ef9bb449e3abc16ec7d1dbce'/>
<id>urn:sha1:103922e8411d4735ef9bb449e3abc16ec7d1dbce</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Add media1.tenor.com explicitly as image handler</title>
<updated>2026-04-13T23:19:11Z</updated>
<author>
<name>Rory&amp;</name>
<email>root@rory.gay</email>
</author>
<published>2026-04-13T23:19:11Z</published>
<link rel='alternate' type='text/html' href='http://cgit.rory.gay/spacebarchat/server-ts.git/commit/?id=1549ea837a4be09e35bc125890ce10a49694ad42'/>
<id>urn:sha1:1549ea837a4be09e35bc125890ce10a49694ad42</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Make presence clear async, clean up temp session code</title>
<updated>2026-04-13T20:41:57Z</updated>
<author>
<name>Rory&amp;</name>
<email>root@rory.gay</email>
</author>
<published>2026-04-13T20:41:57Z</published>
<link rel='alternate' type='text/html' href='http://cgit.rory.gay/spacebarchat/server-ts.git/commit/?id=e0204f76cf5427eeb529d03fde988522923ecf2b'/>
<id>urn:sha1:e0204f76cf5427eeb529d03fde988522923ecf2b</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Fix Typing event so that it returns undefined rather than null</title>
<updated>2026-04-13T10:11:07Z</updated>
<author>
<name>whinis</name>
<email>whinis@whinis.com</email>
</author>
<published>2026-03-29T13:15:33Z</published>
<link rel='alternate' type='text/html' href='http://cgit.rory.gay/spacebarchat/server-ts.git/commit/?id=310d292e9ab2e71a121272205185ac5bc97ab703'/>
<id>urn:sha1:310d292e9ab2e71a121272205185ac5bc97ab703</id>
<content type='text'>
Added clean data to message entity so it respects json tags.
</content>
</entry>
<entry>
<title>fix: make github webhooks embeds have `rich` type</title>
<updated>2026-03-31T20:02:05Z</updated>
<author>
<name>CyberL1</name>
<email>mateusz.hf18@gmail.com</email>
</author>
<published>2026-03-31T20:02:05Z</published>
<link rel='alternate' type='text/html' href='http://cgit.rory.gay/spacebarchat/server-ts.git/commit/?id=580d5d7da442a5e18cec34539e2c65c551868bc5'/>
<id>urn:sha1:580d5d7da442a5e18cec34539e2c65c551868bc5</id>
<content type='text'>
</content>
</entry>
<entry>
<title>EmbedHandlers: more configuration for embeds, switch to storing all returned embeds</title>
<updated>2026-03-26T14:14:18Z</updated>
<author>
<name>Rory&amp;</name>
<email>root@rory.gay</email>
</author>
<published>2026-03-26T14:14:18Z</published>
<link rel='alternate' type='text/html' href='http://cgit.rory.gay/spacebarchat/server-ts.git/commit/?id=53ab01c4e2918fa6fd67ca8642efb21f5fc1a63a'/>
<id>urn:sha1:53ab01c4e2918fa6fd67ca8642efb21f5fc1a63a</id>
<content type='text'>
</content>
</entry>
<entry>
<title>EmbedHandlers: use youtube handler for youtube music, use OrmUtils.mergeDeep for request options</title>
<updated>2026-03-26T11:26:53Z</updated>
<author>
<name>Rory&amp;</name>
<email>root@rory.gay</email>
</author>
<published>2026-03-26T11:26:53Z</published>
<link rel='alternate' type='text/html' href='http://cgit.rory.gay/spacebarchat/server-ts.git/commit/?id=1ad351559fa342c0336b9eb8a7afb129f5bd4ee2'/>
<id>urn:sha1:1ad351559fa342c0336b9eb8a7afb129f5bd4ee2</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Embeds: factor out from postMessage</title>
<updated>2026-03-26T10:46:48Z</updated>
<author>
<name>Rory&amp;</name>
<email>root@rory.gay</email>
</author>
<published>2026-03-26T10:46:48Z</published>
<link rel='alternate' type='text/html' href='http://cgit.rory.gay/spacebarchat/server-ts.git/commit/?id=daaf6eae286605e5ddd926fe13956edce5d2c08b'/>
<id>urn:sha1:daaf6eae286605e5ddd926fe13956edce5d2c08b</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Fix voice state query trying to include member</title>
<updated>2026-03-21T15:22:06Z</updated>
<author>
<name>Rory&amp;</name>
<email>root@rory.gay</email>
</author>
<published>2026-03-21T15:22:06Z</published>
<link rel='alternate' type='text/html' href='http://cgit.rory.gay/spacebarchat/server-ts.git/commit/?id=47e782ad62c3562a094b548c4cf9033b8f75c5cd'/>
<id>urn:sha1:47e782ad62c3562a094b548c4cf9033b8f75c5cd</id>
<content type='text'>
</content>
</entry>
<entry>
<title>lambert-server: Remove unused errorHandler option</title>
<updated>2026-03-21T13:52:57Z</updated>
<author>
<name>Rory&amp;</name>
<email>root@rory.gay</email>
</author>
<published>2026-03-21T13:52:57Z</published>
<link rel='alternate' type='text/html' href='http://cgit.rory.gay/spacebarchat/server-ts.git/commit/?id=0e57826c1ba38ecdcac0b4cfdb179909fbc4e093'/>
<id>urn:sha1:0e57826c1ba38ecdcac0b4cfdb179909fbc4e093</id>
<content type='text'>
</content>
</entry>
<entry>
<title>lambert-server: Remove unused jsonBody option</title>
<updated>2026-03-21T13:51:46Z</updated>
<author>
<name>Rory&amp;</name>
<email>root@rory.gay</email>
</author>
<published>2026-03-21T13:51:46Z</published>
<link rel='alternate' type='text/html' href='http://cgit.rory.gay/spacebarchat/server-ts.git/commit/?id=5445706dcf7bce5b3ab8bc3c829752a68e1adbf4'/>
<id>urn:sha1:5445706dcf7bce5b3ab8bc3c829752a68e1adbf4</id>
<content type='text'>
</content>
</entry>
<entry>
<title>make spacebar compile again</title>
<updated>2026-03-21T07:27:57Z</updated>
<author>
<name>Oh64</name>
<email>contact@oh64.moe</email>
</author>
<published>2026-03-11T02:23:51Z</published>
<link rel='alternate' type='text/html' href='http://cgit.rory.gay/spacebarchat/server-ts.git/commit/?id=7a92946bed3d7d1ec6c488d86093b91527905b25'/>
<id>urn:sha1:7a92946bed3d7d1ec6c488d86093b91527905b25</id>
<content type='text'>
</content>
</entry>
<entry>
<title>More schema stuff</title>
<updated>2026-03-21T07:22:27Z</updated>
<author>
<name>Rory&amp;</name>
<email>root@rory.gay</email>
</author>
<published>2026-03-10T23:55:09Z</published>
<link rel='alternate' type='text/html' href='http://cgit.rory.gay/spacebarchat/server-ts.git/commit/?id=27d2ba5a10ca73f200249017d31b3b43d74932c8'/>
<id>urn:sha1:27d2ba5a10ca73f200249017d31b3b43d74932c8</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Message*Event: as-&gt;satisfies (WIP)</title>
<updated>2026-03-21T07:19:54Z</updated>
<author>
<name>Rory&amp;</name>
<email>root@rory.gay</email>
</author>
<published>2026-03-10T23:54:09Z</published>
<link rel='alternate' type='text/html' href='http://cgit.rory.gay/spacebarchat/server-ts.git/commit/?id=f333e8dadc52f93845c4eff9351e8f5573f58d41'/>
<id>urn:sha1:f333e8dadc52f93845c4eff9351e8f5573f58d41</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Migrate MessageReaction*Event to satisfies, part of #1577</title>
<updated>2026-03-20T17:48:46Z</updated>
<author>
<name>Rory&amp;</name>
<email>root@rory.gay</email>
</author>
<published>2026-03-09T16:38:41Z</published>
<link rel='alternate' type='text/html' href='http://cgit.rory.gay/spacebarchat/server-ts.git/commit/?id=131a0ec2868e070429e7747c0baa1f85b1fc4b86'/>
<id>urn:sha1:131a0ec2868e070429e7747c0baa1f85b1fc4b86</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Migrate TypingStartEvent to satisfies, part of #1577</title>
<updated>2026-03-20T17:34:36Z</updated>
<author>
<name>Rory&amp;</name>
<email>root@rory.gay</email>
</author>
<published>2026-03-09T16:36:37Z</published>
<link rel='alternate' type='text/html' href='http://cgit.rory.gay/spacebarchat/server-ts.git/commit/?id=4c169bae25bec1888e7925211b12693ac9556cc0'/>
<id>urn:sha1:4c169bae25bec1888e7925211b12693ac9556cc0</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Migrate Thread*Event to satisfies, part of #1577</title>
<updated>2026-03-20T17:18:41Z</updated>
<author>
<name>Rory&amp;</name>
<email>root@rory.gay</email>
</author>
<published>2026-03-09T16:35:52Z</published>
<link rel='alternate' type='text/html' href='http://cgit.rory.gay/spacebarchat/server-ts.git/commit/?id=339a0fcbf42ce56e768bcd55ef036e78be2d2676'/>
<id>urn:sha1:339a0fcbf42ce56e768bcd55ef036e78be2d2676</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Migrate MessageDelete*Event to satisfies, part of #1577</title>
<updated>2026-03-20T17:17:47Z</updated>
<author>
<name>Rory&amp;</name>
<email>root@rory.gay</email>
</author>
<published>2026-03-08T17:14:30Z</published>
<link rel='alternate' type='text/html' href='http://cgit.rory.gay/spacebarchat/server-ts.git/commit/?id=3d8a91b100d0a4fa5664eb913520f920d67d2b59'/>
<id>urn:sha1:3d8a91b100d0a4fa5664eb913520f920d67d2b59</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Migrate UserDeleteEvent to satisfies, part of #1577</title>
<updated>2026-03-20T17:17:47Z</updated>
<author>
<name>Rory&amp;</name>
<email>root@rory.gay</email>
</author>
<published>2026-03-08T17:11:58Z</published>
<link rel='alternate' type='text/html' href='http://cgit.rory.gay/spacebarchat/server-ts.git/commit/?id=847dc846e6fe0d78ccad59534dbf7ad7b94e7410'/>
<id>urn:sha1:847dc846e6fe0d78ccad59534dbf7ad7b94e7410</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Migrate MessageAckEvent to satisfies, part of #1577</title>
<updated>2026-03-20T17:17:47Z</updated>
<author>
<name>Rory&amp;</name>
<email>root@rory.gay</email>
</author>
<published>2026-03-08T17:11:05Z</published>
<link rel='alternate' type='text/html' href='http://cgit.rory.gay/spacebarchat/server-ts.git/commit/?id=aa9410101898278597d69b688ca9a40e74006ca1'/>
<id>urn:sha1:aa9410101898278597d69b688ca9a40e74006ca1</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Migrate PresenceUpdateEvent to satisfies, part of #1577</title>
<updated>2026-03-20T17:17:47Z</updated>
<author>
<name>Rory&amp;</name>
<email>root@rory.gay</email>
</author>
<published>2026-03-08T17:07:16Z</published>
<link rel='alternate' type='text/html' href='http://cgit.rory.gay/spacebarchat/server-ts.git/commit/?id=bd42196733fa879772f96eb292c93043ff61e350'/>
<id>urn:sha1:bd42196733fa879772f96eb292c93043ff61e350</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Migrate UserUpdateEvent to satisfies, part of #1577</title>
<updated>2026-03-20T17:17:47Z</updated>
<author>
<name>Rory&amp;</name>
<email>root@rory.gay</email>
</author>
<published>2026-03-08T16:48:27Z</published>
<link rel='alternate' type='text/html' href='http://cgit.rory.gay/spacebarchat/server-ts.git/commit/?id=851f0e7600108f44064573a3dc658715e3d73cae'/>
<id>urn:sha1:851f0e7600108f44064573a3dc658715e3d73cae</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Migrate VoiceS*Event to satisfies, part of #1577</title>
<updated>2026-03-20T17:17:41Z</updated>
<author>
<name>Rory&amp;</name>
<email>root@rory.gay</email>
</author>
<published>2026-03-08T16:46:40Z</published>
<link rel='alternate' type='text/html' href='http://cgit.rory.gay/spacebarchat/server-ts.git/commit/?id=9597ebe941a95c18b57fe72c8b667981d1b7d6ea'/>
<id>urn:sha1:9597ebe941a95c18b57fe72c8b667981d1b7d6ea</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Migrate Invite*Event to satisfies, part of #1577</title>
<updated>2026-03-20T17:16:57Z</updated>
<author>
<name>Rory&amp;</name>
<email>root@rory.gay</email>
</author>
<published>2026-03-08T16:24:39Z</published>
<link rel='alternate' type='text/html' href='http://cgit.rory.gay/spacebarchat/server-ts.git/commit/?id=1fb0af82ae79ee3923202ecb937d4887c910c0a2'/>
<id>urn:sha1:1fb0af82ae79ee3923202ecb937d4887c910c0a2</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Migrate Channel*Event to satisfies, part of #1577</title>
<updated>2026-03-20T17:16:56Z</updated>
<author>
<name>Rory&amp;</name>
<email>root@rory.gay</email>
</author>
<published>2026-03-08T16:23:25Z</published>
<link rel='alternate' type='text/html' href='http://cgit.rory.gay/spacebarchat/server-ts.git/commit/?id=b59f41c1b659d418fd021f43633cba348ede1c76'/>
<id>urn:sha1:b59f41c1b659d418fd021f43633cba348ede1c76</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Migrate WebhooksUpdateEvent to satisfies, part of #1577</title>
<updated>2026-03-20T17:16:14Z</updated>
<author>
<name>Rory&amp;</name>
<email>root@rory.gay</email>
</author>
<published>2026-03-08T16:21:06Z</published>
<link rel='alternate' type='text/html' href='http://cgit.rory.gay/spacebarchat/server-ts.git/commit/?id=52efc753db759345ad789e989e481f6a9f39ecdd'/>
<id>urn:sha1:52efc753db759345ad789e989e481f6a9f39ecdd</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Migrate Relationship*Event to satisfies, part of #1577</title>
<updated>2026-03-20T17:16:14Z</updated>
<author>
<name>Rory&amp;</name>
<email>root@rory.gay</email>
</author>
<published>2026-03-08T15:52:21Z</published>
<link rel='alternate' type='text/html' href='http://cgit.rory.gay/spacebarchat/server-ts.git/commit/?id=de64db65cf3b33dd7a8e4325ab652e011bc13126'/>
<id>urn:sha1:de64db65cf3b33dd7a8e4325ab652e011bc13126</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Migrate GuildStickersUpdateEvent to satisfies, part of #1577</title>
<updated>2026-03-20T17:16:14Z</updated>
<author>
<name>Rory&amp;</name>
<email>root@rory.gay</email>
</author>
<published>2026-03-08T15:47:20Z</published>
<link rel='alternate' type='text/html' href='http://cgit.rory.gay/spacebarchat/server-ts.git/commit/?id=ee53b72c35225e68133778dd462e012e075fde1f'/>
<id>urn:sha1:ee53b72c35225e68133778dd462e012e075fde1f</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Migrate GuildRole*Event to satisfies, part of #1577</title>
<updated>2026-03-20T17:16:14Z</updated>
<author>
<name>Rory&amp;</name>
<email>root@rory.gay</email>
</author>
<published>2026-03-08T15:46:19Z</published>
<link rel='alternate' type='text/html' href='http://cgit.rory.gay/spacebarchat/server-ts.git/commit/?id=8a5d8849df0899c11ff3d2bd909f52e4fd4c4fd1'/>
<id>urn:sha1:8a5d8849df0899c11ff3d2bd909f52e4fd4c4fd1</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Migrate GuildEmoji*Event to satisfies, part of #1577</title>
<updated>2026-03-20T17:16:14Z</updated>
<author>
<name>Rory&amp;</name>
<email>root@rory.gay</email>
</author>
<published>2026-03-08T15:42:14Z</published>
<link rel='alternate' type='text/html' href='http://cgit.rory.gay/spacebarchat/server-ts.git/commit/?id=3462b40bc1d78e4dc9437bd301fce6ee5ba1beb5'/>
<id>urn:sha1:3462b40bc1d78e4dc9437bd301fce6ee5ba1beb5</id>
<content type='text'>
</content>
</entry>
</feed>
