<feed xmlns='http://www.w3.org/2005/Atom'>
<title>spacebarchat/server-ts.git/src/api, branch github/dev/gwsep</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%2Fgwsep</id>
<link rel='self' href='http://cgit.rory.gay/spacebarchat/server-ts.git/atom?h=github%2Fdev%2Fgwsep'/>
<link rel='alternate' type='text/html' href='http://cgit.rory.gay/spacebarchat/server-ts.git/'/>
<updated>2026-08-08T04:53:15Z</updated>
<entry>
<title>Clean up some schemas</title>
<updated>2026-08-08T04:53:15Z</updated>
<author>
<name>Rory&amp;</name>
<email>root@rory.gay</email>
</author>
<published>2026-08-08T04:53:15Z</published>
<link rel='alternate' type='text/html' href='http://cgit.rory.gay/spacebarchat/server-ts.git/commit/?id=fc086ddcea686e4e4359cd96b1f2423a4601a94b'/>
<id>urn:sha1:fc086ddcea686e4e4359cd96b1f2423a4601a94b</id>
<content type='text'>
</content>
</entry>
<entry>
<title>ToGuildSource -&gt; ToDiscoverableGuild</title>
<updated>2026-08-08T03:11:25Z</updated>
<author>
<name>Rory&amp;</name>
<email>root@rory.gay</email>
</author>
<published>2026-08-08T03:11:25Z</published>
<link rel='alternate' type='text/html' href='http://cgit.rory.gay/spacebarchat/server-ts.git/commit/?id=580d438c3a7222c733662ce92eaea40fb0062cdd'/>
<id>urn:sha1:580d438c3a7222c733662ce92eaea40fb0062cdd</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Move categories route to discovery subfolder</title>
<updated>2026-08-08T03:09:54Z</updated>
<author>
<name>Rory&amp;</name>
<email>root@rory.gay</email>
</author>
<published>2026-08-08T03:09:54Z</published>
<link rel='alternate' type='text/html' href='http://cgit.rory.gay/spacebarchat/server-ts.git/commit/?id=b4d322c62eb82a6c90e54bc4923c9b9d5a6f4c70'/>
<id>urn:sha1:b4d322c62eb82a6c90e54bc4923c9b9d5a6f4c70</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Assert that requesting user is a member of (group/) DM before allowing them to add members</title>
<updated>2026-08-04T11:28:48Z</updated>
<author>
<name>Rory&amp;</name>
<email>root@rory.gay</email>
</author>
<published>2026-08-04T11:28:48Z</published>
<link rel='alternate' type='text/html' href='http://cgit.rory.gay/spacebarchat/server-ts.git/commit/?id=dcfd91035e3da42abf5f32d8d86a35219225b3d4'/>
<id>urn:sha1:dcfd91035e3da42abf5f32d8d86a35219225b3d4</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Assert membership, ignore everyone role and limit results of role member-ids endpoint</title>
<updated>2026-08-04T11:11:01Z</updated>
<author>
<name>Rory&amp;</name>
<email>root@rory.gay</email>
</author>
<published>2026-08-04T11:11:01Z</published>
<link rel='alternate' type='text/html' href='http://cgit.rory.gay/spacebarchat/server-ts.git/commit/?id=51da17cf19d476483ee44e5f832d1ebdcd844f88'/>
<id>urn:sha1:51da17cf19d476483ee44e5f832d1ebdcd844f88</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Message bulk delete: filter input IDs by channel rather than emitting the full input set</title>
<updated>2026-08-04T10:46:40Z</updated>
<author>
<name>Rory&amp;</name>
<email>root@rory.gay</email>
</author>
<published>2026-08-04T10:46:40Z</published>
<link rel='alternate' type='text/html' href='http://cgit.rory.gay/spacebarchat/server-ts.git/commit/?id=8d126f401914d68fa8a97f7e5986dcfcc42de9a8'/>
<id>urn:sha1:8d126f401914d68fa8a97f7e5986dcfcc42de9a8</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Some API docs...</title>
<updated>2026-08-02T01:02:25Z</updated>
<author>
<name>Rory&amp;</name>
<email>root@rory.gay</email>
</author>
<published>2026-08-02T01:01:41Z</published>
<link rel='alternate' type='text/html' href='http://cgit.rory.gay/spacebarchat/server-ts.git/commit/?id=03166addc9df78ed2bd33945fb18a53774bb68ec'/>
<id>urn:sha1:03166addc9df78ed2bd33945fb18a53774bb68ec</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Add attachment list API</title>
<updated>2026-08-01T23:00:21Z</updated>
<author>
<name>Rory&amp;</name>
<email>root@rory.gay</email>
</author>
<published>2026-08-01T23:00:21Z</published>
<link rel='alternate' type='text/html' href='http://cgit.rory.gay/spacebarchat/server-ts.git/commit/?id=ffd7f00336b65d52b0a4587421b4393ce67e717c'/>
<id>urn:sha1:ffd7f00336b65d52b0a4587421b4393ce67e717c</id>
<content type='text'>
</content>
</entry>
<entry>
<title>schemas for gif/version</title>
<updated>2026-07-31T16:20:14Z</updated>
<author>
<name>Rory&amp;</name>
<email>root@rory.gay</email>
</author>
<published>2026-07-31T03:40:02Z</published>
<link rel='alternate' type='text/html' href='http://cgit.rory.gay/spacebarchat/server-ts.git/commit/?id=4cf0eadf7fc6e166e88cc032d9368814bb98a723'/>
<id>urn:sha1:4cf0eadf7fc6e166e88cc032d9368814bb98a723</id>
<content type='text'>
</content>
</entry>
<entry>
<title>schemas for wellknowns</title>
<updated>2026-07-31T16:20:14Z</updated>
<author>
<name>Rory&amp;</name>
<email>root@rory.gay</email>
</author>
<published>2026-07-31T03:28:52Z</published>
<link rel='alternate' type='text/html' href='http://cgit.rory.gay/spacebarchat/server-ts.git/commit/?id=fe17f5d155663b613bd107db26104af301772e7a'/>
<id>urn:sha1:fe17f5d155663b613bd107db26104af301772e7a</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Dedicated toplevel routes dir on API</title>
<updated>2026-07-31T16:20:14Z</updated>
<author>
<name>Rory&amp;</name>
<email>root@rory.gay</email>
</author>
<published>2026-07-30T20:59:44Z</published>
<link rel='alternate' type='text/html' href='http://cgit.rory.gay/spacebarchat/server-ts.git/commit/?id=5b475eb42a6b873089c3e47685924d1911ac60d7'/>
<id>urn:sha1:5b475eb42a6b873089c3e47685924d1911ac60d7</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Dont do entire app/api dance in api server.ts</title>
<updated>2026-07-31T16:20:14Z</updated>
<author>
<name>Rory&amp;</name>
<email>root@rory.gay</email>
</author>
<published>2026-07-26T13:35:44Z</published>
<link rel='alternate' type='text/html' href='http://cgit.rory.gay/spacebarchat/server-ts.git/commit/?id=b099a57649c186471ab84373056cad5b3e7a8aa3'/>
<id>urn:sha1:b099a57649c186471ab84373056cad5b3e7a8aa3</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Clean up some types</title>
<updated>2026-07-31T16:20:14Z</updated>
<author>
<name>Rory&amp;</name>
<email>root@rory.gay</email>
</author>
<published>2026-07-21T20:00:04Z</published>
<link rel='alternate' type='text/html' href='http://cgit.rory.gay/spacebarchat/server-ts.git/commit/?id=b3427f98965407fc9207ad9f617285f243bf55c1'/>
<id>urn:sha1:b3427f98965407fc9207ad9f617285f243bf55c1</id>
<content type='text'>
</content>
</entry>
<entry>
<title>disable auth on shields</title>
<updated>2026-07-29T00:16:40Z</updated>
<author>
<name>Rory&amp;</name>
<email>root@rory.gay</email>
</author>
<published>2026-07-29T00:16:40Z</published>
<link rel='alternate' type='text/html' href='http://cgit.rory.gay/spacebarchat/server-ts.git/commit/?id=7a1a39321185bf427107a768dc494de5856b3e81'/>
<id>urn:sha1:7a1a39321185bf427107a768dc494de5856b3e81</id>
<content type='text'>
</content>
</entry>
<entry>
<title>fix bot add in guild</title>
<updated>2026-07-28T23:57:58Z</updated>
<author>
<name>Oh64</name>
<email>contact@oh64.moe</email>
</author>
<published>2026-07-28T23:33:40Z</published>
<link rel='alternate' type='text/html' href='http://cgit.rory.gay/spacebarchat/server-ts.git/commit/?id=fda2bdd2e14d31b9786b3676684657b110ee9dd7'/>
<id>urn:sha1:fda2bdd2e14d31b9786b3676684657b110ee9dd7</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Remove authentication import from ratelimit</title>
<updated>2026-07-21T15:01:28Z</updated>
<author>
<name>Rory&amp;</name>
<email>root@rory.gay</email>
</author>
<published>2026-07-21T15:01:28Z</published>
<link rel='alternate' type='text/html' href='http://cgit.rory.gay/spacebarchat/server-ts.git/commit/?id=129c652d29aad771e04c5fbd78d8f4225eaa8e07'/>
<id>urn:sha1:129c652d29aad771e04c5fbd78d8f4225eaa8e07</id>
<content type='text'>
</content>
</entry>
<entry>
<title>NO-REVIEW: Fix up route import middleware path</title>
<updated>2026-07-21T13:47:45Z</updated>
<author>
<name>Rory&amp;</name>
<email>root@rory.gay</email>
</author>
<published>2026-07-21T13:47:45Z</published>
<link rel='alternate' type='text/html' href='http://cgit.rory.gay/spacebarchat/server-ts.git/commit/?id=f662417b75d3e7714b9d0f8a0dbe8017bd5df022'/>
<id>urn:sha1:f662417b75d3e7714b9d0f8a0dbe8017bd5df022</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Move authentication enforcement to route middleware, move route middleware file</title>
<updated>2026-07-21T13:43:51Z</updated>
<author>
<name>Rory&amp;</name>
<email>root@rory.gay</email>
</author>
<published>2026-07-21T13:43:51Z</published>
<link rel='alternate' type='text/html' href='http://cgit.rory.gay/spacebarchat/server-ts.git/commit/?id=98e50a6d57ebb48fd0b5fec148aa14aeaf95a1dd'/>
<id>urn:sha1:98e50a6d57ebb48fd0b5fec148aa14aeaf95a1dd</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Join bot on app</title>
<updated>2026-07-20T10:44:56Z</updated>
<author>
<name>Rory&amp;</name>
<email>root@rory.gay</email>
</author>
<published>2026-07-20T10:44:56Z</published>
<link rel='alternate' type='text/html' href='http://cgit.rory.gay/spacebarchat/server-ts.git/commit/?id=6494a14e8a4ff09700fa06e3928ccc030019ddeb'/>
<id>urn:sha1:6494a14e8a4ff09700fa06e3928ccc030019ddeb</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Fix bot token reset</title>
<updated>2026-07-20T10:20:53Z</updated>
<author>
<name>Rory&amp;</name>
<email>root@rory.gay</email>
</author>
<published>2026-07-20T10:20:53Z</published>
<link rel='alternate' type='text/html' href='http://cgit.rory.gay/spacebarchat/server-ts.git/commit/?id=9b4d42f73fff14fe57b6a2e13cbe49d65a4afd52'/>
<id>urn:sha1:9b4d42f73fff14fe57b6a2e13cbe49d65a4afd52</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Clean up outdated todo</title>
<updated>2026-07-17T12:19:17Z</updated>
<author>
<name>Rory&amp;</name>
<email>root@rory.gay</email>
</author>
<published>2026-07-17T12:19:17Z</published>
<link rel='alternate' type='text/html' href='http://cgit.rory.gay/spacebarchat/server-ts.git/commit/?id=3a4a17679c887dcaa07776452d0d155e9d53f5bf'/>
<id>urn:sha1:3a4a17679c887dcaa07776452d0d155e9d53f5bf</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Attachment limits</title>
<updated>2026-07-17T04:43:14Z</updated>
<author>
<name>Rory&amp;</name>
<email>root@rory.gay</email>
</author>
<published>2026-07-17T04:43:14Z</published>
<link rel='alternate' type='text/html' href='http://cgit.rory.gay/spacebarchat/server-ts.git/commit/?id=5a949c9b697af172c3fbb4f8e9a2f9cca86202cb'/>
<id>urn:sha1:5a949c9b697af172c3fbb4f8e9a2f9cca86202cb</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Token scope for password resets</title>
<updated>2026-07-16T09:54:32Z</updated>
<author>
<name>Rory&amp;</name>
<email>root@rory.gay</email>
</author>
<published>2026-07-16T09:26:36Z</published>
<link rel='alternate' type='text/html' href='http://cgit.rory.gay/spacebarchat/server-ts.git/commit/?id=509cd1c0190ad8e56ba6f272482089e8b8346afc'/>
<id>urn:sha1:509cd1c0190ad8e56ba6f272482089e8b8346afc</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Clean up various other schemas</title>
<updated>2026-07-15T11:24:41Z</updated>
<author>
<name>Rory&amp;</name>
<email>root@rory.gay</email>
</author>
<published>2026-07-15T11:24:41Z</published>
<link rel='alternate' type='text/html' href='http://cgit.rory.gay/spacebarchat/server-ts.git/commit/?id=87988c3039e7f823341aac0f9072652e13df2df2'/>
<id>urn:sha1:87988c3039e7f823341aac0f9072652e13df2df2</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Remove APIWebhookArray</title>
<updated>2026-07-15T11:10:44Z</updated>
<author>
<name>Rory&amp;</name>
<email>root@rory.gay</email>
</author>
<published>2026-07-15T11:10:44Z</published>
<link rel='alternate' type='text/html' href='http://cgit.rory.gay/spacebarchat/server-ts.git/commit/?id=8f463152557c27a7a6212567213311c457b96d4a'/>
<id>urn:sha1:8f463152557c27a7a6212567213311c457b96d4a</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Remove APIBackupCodesArray</title>
<updated>2026-07-15T10:50:53Z</updated>
<author>
<name>Rory&amp;</name>
<email>root@rory.gay</email>
</author>
<published>2026-07-15T10:50:53Z</published>
<link rel='alternate' type='text/html' href='http://cgit.rory.gay/spacebarchat/server-ts.git/commit/?id=06ea966591a2d35b82d54bbb6666adbe0e11632b'/>
<id>urn:sha1:06ea966591a2d35b82d54bbb6666adbe0e11632b</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Remove APIMemberArray</title>
<updated>2026-07-15T10:34:21Z</updated>
<author>
<name>Rory&amp;</name>
<email>root@rory.gay</email>
</author>
<published>2026-07-15T10:34:21Z</published>
<link rel='alternate' type='text/html' href='http://cgit.rory.gay/spacebarchat/server-ts.git/commit/?id=edcaa05be024365afea87d7c36b5cf6144b1353e'/>
<id>urn:sha1:edcaa05be024365afea87d7c36b5cf6144b1353e</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Remove APIPublicMember, APIMessage</title>
<updated>2026-07-15T10:28:39Z</updated>
<author>
<name>Rory&amp;</name>
<email>root@rory.gay</email>
</author>
<published>2026-07-15T10:28:39Z</published>
<link rel='alternate' type='text/html' href='http://cgit.rory.gay/spacebarchat/server-ts.git/commit/?id=50fa6cc6d85424a95bfee276c6121c50d88148aa'/>
<id>urn:sha1:50fa6cc6d85424a95bfee276c6121c50d88148aa</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Drop a bunch of random overrides</title>
<updated>2026-07-15T10:03:47Z</updated>
<author>
<name>Rory&amp;</name>
<email>root@rory.gay</email>
</author>
<published>2026-07-15T04:31:31Z</published>
<link rel='alternate' type='text/html' href='http://cgit.rory.gay/spacebarchat/server-ts.git/commit/?id=188a3dc2b88bb2fa340fae9debb9c1430c0cb06a'/>
<id>urn:sha1:188a3dc2b88bb2fa340fae9debb9c1430c0cb06a</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Fallback to empty array</title>
<updated>2026-07-15T10:03:47Z</updated>
<author>
<name>Rory&amp;</name>
<email>root@rory.gay</email>
</author>
<published>2026-07-15T03:47:21Z</published>
<link rel='alternate' type='text/html' href='http://cgit.rory.gay/spacebarchat/server-ts.git/commit/?id=86ab110abd3dc91d444e3b860e45db1ea52582cb'/>
<id>urn:sha1:86ab110abd3dc91d444e3b860e45db1ea52582cb</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Fix schema for patch webhook message</title>
<updated>2026-07-15T10:03:47Z</updated>
<author>
<name>Rory&amp;</name>
<email>root@rory.gay</email>
</author>
<published>2026-07-14T23:00:32Z</published>
<link rel='alternate' type='text/html' href='http://cgit.rory.gay/spacebarchat/server-ts.git/commit/?id=069d036269a39e3c79afc02706b9235f5664aa3c'/>
<id>urn:sha1:069d036269a39e3c79afc02706b9235f5664aa3c</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Fix webhook edit</title>
<updated>2026-07-15T10:03:47Z</updated>
<author>
<name>Rory&amp;</name>
<email>root@rory.gay</email>
</author>
<published>2026-07-08T19:46:04Z</published>
<link rel='alternate' type='text/html' href='http://cgit.rory.gay/spacebarchat/server-ts.git/commit/?id=762d72e7ac451fb71b0dbb0fa2c7b9afea29bf40'/>
<id>urn:sha1:762d72e7ac451fb71b0dbb0fa2c7b9afea29bf40</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Add webhook message get/update/delete</title>
<updated>2026-07-15T10:03:47Z</updated>
<author>
<name>Rory&amp;</name>
<email>root@rory.gay</email>
</author>
<published>2026-07-08T18:52:29Z</published>
<link rel='alternate' type='text/html' href='http://cgit.rory.gay/spacebarchat/server-ts.git/commit/?id=f558240ee03281b33ab4bda401577944fb06e08e'/>
<id>urn:sha1:f558240ee03281b33ab4bda401577944fb06e08e</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Unify webhook token parameter name</title>
<updated>2026-07-15T10:03:47Z</updated>
<author>
<name>Rory&amp;</name>
<email>root@rory.gay</email>
</author>
<published>2026-07-08T18:51:49Z</published>
<link rel='alternate' type='text/html' href='http://cgit.rory.gay/spacebarchat/server-ts.git/commit/?id=3c4e9e6c536c64f803c7eb6643220452218bde82'/>
<id>urn:sha1:3c4e9e6c536c64f803c7eb6643220452218bde82</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Systemd notify hooks, move nixos integration tests to a systemd service</title>
<updated>2026-07-11T04:07:41Z</updated>
<author>
<name>Rory&amp;</name>
<email>root@rory.gay</email>
</author>
<published>2026-07-11T04:07:41Z</published>
<link rel='alternate' type='text/html' href='http://cgit.rory.gay/spacebarchat/server-ts.git/commit/?id=177cc5bd7fb6a5d3e6ae8be415635d0732a28222'/>
<id>urn:sha1:177cc5bd7fb6a5d3e6ae8be415635d0732a28222</id>
<content type='text'>
</content>
</entry>
<entry>
<title>API: expose assets/logo.png</title>
<updated>2026-07-10T23:49:12Z</updated>
<author>
<name>Rory&amp;</name>
<email>root@rory.gay</email>
</author>
<published>2026-07-10T23:49:12Z</published>
<link rel='alternate' type='text/html' href='http://cgit.rory.gay/spacebarchat/server-ts.git/commit/?id=3b27f08ba7d109e9cdbcbdaaf61f0c4742586269'/>
<id>urn:sha1:3b27f08ba7d109e9cdbcbdaaf61f0c4742586269</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Add JWT keypair init hooks to various services</title>
<updated>2026-07-10T06:10:37Z</updated>
<author>
<name>Rory&amp;</name>
<email>root@rory.gay</email>
</author>
<published>2026-07-10T03:04:24Z</published>
<link rel='alternate' type='text/html' href='http://cgit.rory.gay/spacebarchat/server-ts.git/commit/?id=a3b229165cca0c844f79e479b65359a8d5a52dcf'/>
<id>urn:sha1:a3b229165cca0c844f79e479b65359a8d5a52dcf</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Add endpoint to get enabled/known gif providers</title>
<updated>2026-07-07T23:20:38Z</updated>
<author>
<name>Rory&amp;</name>
<email>root@rory.gay</email>
</author>
<published>2026-07-07T18:18:21Z</published>
<link rel='alternate' type='text/html' href='http://cgit.rory.gay/spacebarchat/server-ts.git/commit/?id=4bb0f39a433f6b2e0ff30eeacfc1eb90307b00b5'/>
<id>urn:sha1:4bb0f39a433f6b2e0ff30eeacfc1eb90307b00b5</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Switch default GIF provider to klipy since tenor is no longer supported</title>
<updated>2026-07-07T23:20:38Z</updated>
<author>
<name>Rory&amp;</name>
<email>root@rory.gay</email>
</author>
<published>2026-07-07T18:09:34Z</published>
<link rel='alternate' type='text/html' href='http://cgit.rory.gay/spacebarchat/server-ts.git/commit/?id=74798344ea179fcc61035e0815e79eb14465a69a'/>
<id>urn:sha1:74798344ea179fcc61035e0815e79eb14465a69a</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Fix type for trending gifs query</title>
<updated>2026-07-07T23:20:38Z</updated>
<author>
<name>Rory&amp;</name>
<email>root@rory.gay</email>
</author>
<published>2026-07-07T18:08:07Z</published>
<link rel='alternate' type='text/html' href='http://cgit.rory.gay/spacebarchat/server-ts.git/commit/?id=29532979019de59b1e0738276a5e995086635ea2'/>
<id>urn:sha1:29532979019de59b1e0738276a5e995086635ea2</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Some cleanup with gifs</title>
<updated>2026-07-07T23:20:38Z</updated>
<author>
<name>Rory&amp;</name>
<email>root@rory.gay</email>
</author>
<published>2026-07-06T16:32:08Z</published>
<link rel='alternate' type='text/html' href='http://cgit.rory.gay/spacebarchat/server-ts.git/commit/?id=0042d3c5c952383bc159653f505b9d366a0ae658'/>
<id>urn:sha1:0042d3c5c952383bc159653f505b9d366a0ae658</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Rename some more schemas</title>
<updated>2026-07-07T23:20:38Z</updated>
<author>
<name>Rory&amp;</name>
<email>root@rory.gay</email>
</author>
<published>2026-07-06T15:35:17Z</published>
<link rel='alternate' type='text/html' href='http://cgit.rory.gay/spacebarchat/server-ts.git/commit/?id=72a1d653c85c3e1e2bfa01181e4613297c38a143'/>
<id>urn:sha1:72a1d653c85c3e1e2bfa01181e4613297c38a143</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Migrate trending gifs to providers</title>
<updated>2026-07-07T23:20:38Z</updated>
<author>
<name>Rory&amp;</name>
<email>root@rory.gay</email>
</author>
<published>2026-07-06T15:12:30Z</published>
<link rel='alternate' type='text/html' href='http://cgit.rory.gay/spacebarchat/server-ts.git/commit/?id=091b0e3536eeb33130573a1bcf7956a901dafd0e'/>
<id>urn:sha1:091b0e3536eeb33130573a1bcf7956a901dafd0e</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Clean up</title>
<updated>2026-07-07T23:20:38Z</updated>
<author>
<name>Rory&amp;</name>
<email>root@rory.gay</email>
</author>
<published>2026-07-05T22:35:52Z</published>
<link rel='alternate' type='text/html' href='http://cgit.rory.gay/spacebarchat/server-ts.git/commit/?id=28e8ec3b6cab9c19e6e7dcaf1c21afe72543adc4'/>
<id>urn:sha1:28e8ec3b6cab9c19e6e7dcaf1c21afe72543adc4</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Basic gif integration manager, port tenor search to that</title>
<updated>2026-07-07T23:20:38Z</updated>
<author>
<name>Rory&amp;</name>
<email>root@rory.gay</email>
</author>
<published>2026-07-05T22:32:23Z</published>
<link rel='alternate' type='text/html' href='http://cgit.rory.gay/spacebarchat/server-ts.git/commit/?id=ee57b28c324e7851168ae104a94d4bfd9252dae0'/>
<id>urn:sha1:ee57b28c324e7851168ae104a94d4bfd9252dae0</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Throw proper error when emoji isnt found</title>
<updated>2026-07-01T17:46:31Z</updated>
<author>
<name>Rory&amp;</name>
<email>root@rory.gay</email>
</author>
<published>2026-07-01T17:38:09Z</published>
<link rel='alternate' type='text/html' href='http://cgit.rory.gay/spacebarchat/server-ts.git/commit/?id=11fa9d2180c24731828c95a838d555c225028a8a'/>
<id>urn:sha1:11fa9d2180c24731828c95a838d555c225028a8a</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Restrict reading of application emojis</title>
<updated>2026-07-01T17:46:31Z</updated>
<author>
<name>Rory&amp;</name>
<email>root@rory.gay</email>
</author>
<published>2026-07-01T17:30:20Z</published>
<link rel='alternate' type='text/html' href='http://cgit.rory.gay/spacebarchat/server-ts.git/commit/?id=15dae644a92c958a5bcdf3b84efa5d5d5b51682f'/>
<id>urn:sha1:15dae644a92c958a5bcdf3b84efa5d5d5b51682f</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Handle non-existant applications more gracefully</title>
<updated>2026-07-01T17:46:31Z</updated>
<author>
<name>Rory&amp;</name>
<email>root@rory.gay</email>
</author>
<published>2026-07-01T16:38:21Z</published>
<link rel='alternate' type='text/html' href='http://cgit.rory.gay/spacebarchat/server-ts.git/commit/?id=0e4ac094907c559d5856e99d60a635a8cb3f9858'/>
<id>urn:sha1:0e4ac094907c559d5856e99d60a635a8cb3f9858</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Enforce that a given applications emoji set can only be modified by the application itself, or its owner</title>
<updated>2026-07-01T17:46:31Z</updated>
<author>
<name>Rory&amp;</name>
<email>root@rory.gay</email>
</author>
<published>2026-07-01T16:35:25Z</published>
<link rel='alternate' type='text/html' href='http://cgit.rory.gay/spacebarchat/server-ts.git/commit/?id=1a5ae2a0157f89831d067626c692e4c7d96c88d9'/>
<id>urn:sha1:1a5ae2a0157f89831d067626c692e4c7d96c88d9</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Add application emojis implementation based on the guilds one, models</title>
<updated>2026-07-01T17:46:31Z</updated>
<author>
<name>Rory&amp;</name>
<email>root@rory.gay</email>
</author>
<published>2026-07-01T13:14:39Z</published>
<link rel='alternate' type='text/html' href='http://cgit.rory.gay/spacebarchat/server-ts.git/commit/?id=59a81537e010ed9d7cc83d1a929e00dd91525674'/>
<id>urn:sha1:59a81537e010ed9d7cc83d1a929e00dd91525674</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Assert that emoji being updated belongs to the requested guild</title>
<updated>2026-07-01T17:46:31Z</updated>
<author>
<name>Rory&amp;</name>
<email>root@rory.gay</email>
</author>
<published>2026-07-01T12:01:29Z</published>
<link rel='alternate' type='text/html' href='http://cgit.rory.gay/spacebarchat/server-ts.git/commit/?id=6da128bdfd605af08facc7c0a7c89c23465f22bc'/>
<id>urn:sha1:6da128bdfd605af08facc7c0a7c89c23465f22bc</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Adjust emoji source to support app emojis</title>
<updated>2026-07-01T17:46:31Z</updated>
<author>
<name>Rory&amp;</name>
<email>root@rory.gay</email>
</author>
<published>2026-06-30T17:17:54Z</published>
<link rel='alternate' type='text/html' href='http://cgit.rory.gay/spacebarchat/server-ts.git/commit/?id=cf6cc9bd229dc00b568ccec3dfc49da8dff9159a'/>
<id>urn:sha1:cf6cc9bd229dc00b568ccec3dfc49da8dff9159a</id>
<content type='text'>
</content>
</entry>
<entry>
<title>fix user settings patch route</title>
<updated>2026-07-01T14:41:40Z</updated>
<author>
<name>Oh64</name>
<email>contact@oh64.moe</email>
</author>
<published>2026-07-01T14:26:34Z</published>
<link rel='alternate' type='text/html' href='http://cgit.rory.gay/spacebarchat/server-ts.git/commit/?id=36a97a4aca5b6b4c244ed5a4915ed2e1dec5c929'/>
<id>urn:sha1:36a97a4aca5b6b4c244ed5a4915ed2e1dec5c929</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Dont (re-/)add embeds if message has embed suppressed</title>
<updated>2026-06-29T15:39:49Z</updated>
<author>
<name>Rory&amp;</name>
<email>root@rory.gay</email>
</author>
<published>2026-06-29T15:39:49Z</published>
<link rel='alternate' type='text/html' href='http://cgit.rory.gay/spacebarchat/server-ts.git/commit/?id=ef454ab70afed786fab54345a2cd1af9c14b73d9'/>
<id>urn:sha1:ef454ab70afed786fab54345a2cd1af9c14b73d9</id>
<content type='text'>
</content>
</entry>
<entry>
<title>More oauth2 role thingies</title>
<updated>2026-06-27T23:25:07Z</updated>
<author>
<name>Rory&amp;</name>
<email>root@rory.gay</email>
</author>
<published>2026-06-27T23:25:07Z</published>
<link rel='alternate' type='text/html' href='http://cgit.rory.gay/spacebarchat/server-ts.git/commit/?id=e088421b213913c68bb771e3f9fb1c7c8141386f'/>
<id>urn:sha1:e088421b213913c68bb771e3f9fb1c7c8141386f</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Fix oauth2 not setting role colors</title>
<updated>2026-06-27T23:06:20Z</updated>
<author>
<name>Rory&amp;</name>
<email>root@rory.gay</email>
</author>
<published>2026-06-27T23:06:20Z</published>
<link rel='alternate' type='text/html' href='http://cgit.rory.gay/spacebarchat/server-ts.git/commit/?id=c81cc8ae9dcfa5d7ce6d89a29e11ae3d7b446d56'/>
<id>urn:sha1:c81cc8ae9dcfa5d7ce6d89a29e11ae3d7b446d56</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Guard embedless messages when checking for poll results, add reply tests</title>
<updated>2026-06-27T22:54:05Z</updated>
<author>
<name>Rory&amp;</name>
<email>root@rory.gay</email>
</author>
<published>2026-06-27T22:54:05Z</published>
<link rel='alternate' type='text/html' href='http://cgit.rory.gay/spacebarchat/server-ts.git/commit/?id=673d99051dbcc8ca7f5bbe82c2a86c7e5bf57a33'/>
<id>urn:sha1:673d99051dbcc8ca7f5bbe82c2a86c7e5bf57a33</id>
<content type='text'>
</content>
</entry>
<entry>
<title>refactor: add poll utility</title>
<updated>2026-06-26T14:42:33Z</updated>
<author>
<name>CyberL1</name>
<email>cyber.hf18@gmail.com</email>
</author>
<published>2026-06-26T13:18:54Z</published>
<link rel='alternate' type='text/html' href='http://cgit.rory.gay/spacebarchat/server-ts.git/commit/?id=73d1ae9e59dc9bc832349f537d0d771dc79eba83'/>
<id>urn:sha1:73d1ae9e59dc9bc832349f537d0d771dc79eba83</id>
<content type='text'>
</content>
</entry>
<entry>
<title>feat: mention poll author</title>
<updated>2026-06-26T14:42:33Z</updated>
<author>
<name>CyberL1</name>
<email>cyber.hf18@gmail.com</email>
</author>
<published>2026-06-26T04:00:49Z</published>
<link rel='alternate' type='text/html' href='http://cgit.rory.gay/spacebarchat/server-ts.git/commit/?id=5454898b8415d6d42a1d04f04c2cf1602ced4777'/>
<id>urn:sha1:5454898b8415d6d42a1d04f04c2cf1602ced4777</id>
<content type='text'>
</content>
</entry>
<entry>
<title>chore: remove test console.log</title>
<updated>2026-06-26T14:42:33Z</updated>
<author>
<name>CyberL1</name>
<email>cyber.hf18@gmail.com</email>
</author>
<published>2026-06-26T03:23:41Z</published>
<link rel='alternate' type='text/html' href='http://cgit.rory.gay/spacebarchat/server-ts.git/commit/?id=5b0002bb736b940718d7b37bc1d1b95e28341613'/>
<id>urn:sha1:5b0002bb736b940718d7b37bc1d1b95e28341613</id>
<content type='text'>
</content>
</entry>
<entry>
<title>refactor: change `#` imports into `@spacebar/` imports</title>
<updated>2026-06-26T14:42:33Z</updated>
<author>
<name>CyberL1</name>
<email>cyber.hf18@gmail.com</email>
</author>
<published>2026-06-25T20:38:17Z</published>
<link rel='alternate' type='text/html' href='http://cgit.rory.gay/spacebarchat/server-ts.git/commit/?id=8d5995e5c5f3019f68ccff45216c947aea2166da'/>
<id>urn:sha1:8d5995e5c5f3019f68ccff45216c947aea2166da</id>
<content type='text'>
</content>
</entry>
<entry>
<title>feat: get non-expired polls on start</title>
<updated>2026-06-26T14:42:33Z</updated>
<author>
<name>CyberL1</name>
<email>cyber.hf18@gmail.com</email>
</author>
<published>2026-06-25T20:33:09Z</published>
<link rel='alternate' type='text/html' href='http://cgit.rory.gay/spacebarchat/server-ts.git/commit/?id=d34744b14005c006d9dde8ea53ed3819e1d6ff23'/>
<id>urn:sha1:d34744b14005c006d9dde8ea53ed3819e1d6ff23</id>
<content type='text'>
</content>
</entry>
<entry>
<title>fix: ddon't turn poll end messages to reply type</title>
<updated>2026-06-26T14:42:33Z</updated>
<author>
<name>CyberL1</name>
<email>cyber.hf18@gmail.com</email>
</author>
<published>2026-06-25T19:20:46Z</published>
<link rel='alternate' type='text/html' href='http://cgit.rory.gay/spacebarchat/server-ts.git/commit/?id=fad6cfc043a7f2e7fb7854294a961ba4bc8ff59d'/>
<id>urn:sha1:fad6cfc043a7f2e7fb7854294a961ba4bc8ff59d</id>
<content type='text'>
</content>
</entry>
<entry>
<title>feat: add poll ended messages</title>
<updated>2026-06-26T14:42:33Z</updated>
<author>
<name>CyberL1</name>
<email>cyber.hf18@gmail.com</email>
</author>
<published>2026-06-25T19:18:04Z</published>
<link rel='alternate' type='text/html' href='http://cgit.rory.gay/spacebarchat/server-ts.git/commit/?id=caf74417b587406c24d80850cf78ab004906717c'/>
<id>urn:sha1:caf74417b587406c24d80850cf78ab004906717c</id>
<content type='text'>
</content>
</entry>
<entry>
<title>fix: check if message is a poll</title>
<updated>2026-06-26T14:42:33Z</updated>
<author>
<name>CyberL1</name>
<email>cyber.hf18@gmail.com</email>
</author>
<published>2026-06-25T19:05:39Z</published>
<link rel='alternate' type='text/html' href='http://cgit.rory.gay/spacebarchat/server-ts.git/commit/?id=74b83801b797cf633783ab135d302bf61a733934'/>
<id>urn:sha1:74b83801b797cf633783ab135d302bf61a733934</id>
<content type='text'>
</content>
</entry>
<entry>
<title>check opts not message</title>
<updated>2026-06-25T15:56:49Z</updated>
<author>
<name>CyberL1</name>
<email>cyber.hf18@gmail.com</email>
</author>
<published>2026-06-25T09:32:28Z</published>
<link rel='alternate' type='text/html' href='http://cgit.rory.gay/spacebarchat/server-ts.git/commit/?id=d6c05bdeffc34abc379312e65788c7a51016dba9'/>
<id>urn:sha1:d6c05bdeffc34abc379312e65788c7a51016dba9</id>
<content type='text'>
</content>
</entry>
<entry>
<title>fix: check for poll answer limit</title>
<updated>2026-06-25T15:56:49Z</updated>
<author>
<name>CyberL1</name>
<email>cyber.hf18@gmail.com</email>
</author>
<published>2026-06-25T08:59:29Z</published>
<link rel='alternate' type='text/html' href='http://cgit.rory.gay/spacebarchat/server-ts.git/commit/?id=8ab688382f9169c918de42d4a45a59b084d83a68'/>
<id>urn:sha1:8ab688382f9169c918de42d4a45a59b084d83a68</id>
<content type='text'>
</content>
</entry>
<entry>
<title>fix: don't send loop over not voted answers</title>
<updated>2026-06-25T15:56:49Z</updated>
<author>
<name>CyberL1</name>
<email>cyber.hf18@gmail.com</email>
</author>
<published>2026-06-25T06:30:13Z</published>
<link rel='alternate' type='text/html' href='http://cgit.rory.gay/spacebarchat/server-ts.git/commit/?id=68ee917ccfbaa53158232b01d2b4766bacc33b39'/>
<id>urn:sha1:68ee917ccfbaa53158232b01d2b4766bacc33b39</id>
<content type='text'>
</content>
</entry>
<entry>
<title>feat: send vote poll events</title>
<updated>2026-06-25T15:56:49Z</updated>
<author>
<name>CyberL1</name>
<email>cyber.hf18@gmail.com</email>
</author>
<published>2026-06-25T06:25:21Z</published>
<link rel='alternate' type='text/html' href='http://cgit.rory.gay/spacebarchat/server-ts.git/commit/?id=97285d545c7aa0f8fb9f6283db246cb490966018'/>
<id>urn:sha1:97285d545c7aa0f8fb9f6283db246cb490966018</id>
<content type='text'>
</content>
</entry>
<entry>
<title>feat: send a `MESSAGE_UPDATE` event on manual poll expire</title>
<updated>2026-06-25T15:56:49Z</updated>
<author>
<name>CyberL1</name>
<email>cyber.hf18@gmail.com</email>
</author>
<published>2026-06-24T23:27:43Z</published>
<link rel='alternate' type='text/html' href='http://cgit.rory.gay/spacebarchat/server-ts.git/commit/?id=a722705bb9a8b327c57475b194364f5b4f8b8db5'/>
<id>urn:sha1:a722705bb9a8b327c57475b194364f5b4f8b8db5</id>
<content type='text'>
</content>
</entry>
<entry>
<title>feat: add route to expire a poll</title>
<updated>2026-06-25T15:56:49Z</updated>
<author>
<name>CyberL1</name>
<email>cyber.hf18@gmail.com</email>
</author>
<published>2026-06-24T23:18:06Z</published>
<link rel='alternate' type='text/html' href='http://cgit.rory.gay/spacebarchat/server-ts.git/commit/?id=a12224536e8c4d0074ddc2c47a3917d61568a3eb'/>
<id>urn:sha1:a12224536e8c4d0074ddc2c47a3917d61568a3eb</id>
<content type='text'>
</content>
</entry>
<entry>
<title>feat: add route to get voters for an answer</title>
<updated>2026-06-25T15:56:49Z</updated>
<author>
<name>CyberL1</name>
<email>cyber.hf18@gmail.com</email>
</author>
<published>2026-06-24T23:17:25Z</published>
<link rel='alternate' type='text/html' href='http://cgit.rory.gay/spacebarchat/server-ts.git/commit/?id=c440735e4b30702db96419aeb5aedc3dca67b986'/>
<id>urn:sha1:c440735e4b30702db96419aeb5aedc3dca67b986</id>
<content type='text'>
</content>
</entry>
<entry>
<title>fix: forbid poll editing/creating in non-text channels</title>
<updated>2026-06-25T15:56:49Z</updated>
<author>
<name>CyberL1</name>
<email>cyber.hf18@gmail.com</email>
</author>
<published>2026-06-24T22:29:59Z</published>
<link rel='alternate' type='text/html' href='http://cgit.rory.gay/spacebarchat/server-ts.git/commit/?id=25aa725ba1be72eb639598af33c5d102f31aa28d'/>
<id>urn:sha1:25aa725ba1be72eb639598af33c5d102f31aa28d</id>
<content type='text'>
</content>
</entry>
<entry>
<title>feat: set `me_voted` for poll messages</title>
<updated>2026-06-25T15:56:49Z</updated>
<author>
<name>CyberL1</name>
<email>cyber.hf18@gmail.com</email>
</author>
<published>2026-06-24T22:04:21Z</published>
<link rel='alternate' type='text/html' href='http://cgit.rory.gay/spacebarchat/server-ts.git/commit/?id=eae999789cd44c7208a182c47d1fcd2d8f0b0f54'/>
<id>urn:sha1:eae999789cd44c7208a182c47d1fcd2d8f0b0f54</id>
<content type='text'>
</content>
</entry>
<entry>
<title>feat: add voting route</title>
<updated>2026-06-25T15:56:49Z</updated>
<author>
<name>CyberL1</name>
<email>cyber.hf18@gmail.com</email>
</author>
<published>2026-06-24T21:46:23Z</published>
<link rel='alternate' type='text/html' href='http://cgit.rory.gay/spacebarchat/server-ts.git/commit/?id=0efdb5c35a452f81184fc64d72b9bdd4aede360d'/>
<id>urn:sha1:0efdb5c35a452f81184fc64d72b9bdd4aede360d</id>
<content type='text'>
</content>
</entry>
<entry>
<title>fix: poll answer id should never be 0</title>
<updated>2026-06-25T15:56:49Z</updated>
<author>
<name>CyberL1</name>
<email>cyber.hf18@gmail.com</email>
</author>
<published>2026-06-24T21:14:05Z</published>
<link rel='alternate' type='text/html' href='http://cgit.rory.gay/spacebarchat/server-ts.git/commit/?id=305d1d87b2b08c58becac1122b07332f1c6e7762'/>
<id>urn:sha1:305d1d87b2b08c58becac1122b07332f1c6e7762</id>
<content type='text'>
</content>
</entry>
<entry>
<title>refactor: group message poll checks under one if</title>
<updated>2026-06-25T15:56:49Z</updated>
<author>
<name>CyberL1</name>
<email>cyber.hf18@gmail.com</email>
</author>
<published>2026-06-24T14:12:12Z</published>
<link rel='alternate' type='text/html' href='http://cgit.rory.gay/spacebarchat/server-ts.git/commit/?id=3896b143c6bb630c6558252b8a1197edb370dab3'/>
<id>urn:sha1:3896b143c6bb630c6558252b8a1197edb370dab3</id>
<content type='text'>
</content>
</entry>
<entry>
<title>fix: assign id to poll answers</title>
<updated>2026-06-25T15:56:49Z</updated>
<author>
<name>CyberL1</name>
<email>cyber.hf18@gmail.com</email>
</author>
<published>2026-06-24T12:06:48Z</published>
<link rel='alternate' type='text/html' href='http://cgit.rory.gay/spacebarchat/server-ts.git/commit/?id=4cf0e48dd0ff91a7bd70334abe986b12dfa5d089'/>
<id>urn:sha1:4cf0e48dd0ff91a7bd70334abe986b12dfa5d089</id>
<content type='text'>
</content>
</entry>
<entry>
<title>fix: add `expiry` field to polls in message handling</title>
<updated>2026-06-25T15:56:49Z</updated>
<author>
<name>CyberL1</name>
<email>cyber.hf18@gmail.com</email>
</author>
<published>2026-06-24T11:57:37Z</published>
<link rel='alternate' type='text/html' href='http://cgit.rory.gay/spacebarchat/server-ts.git/commit/?id=77124c559be9715bc2457f94f85b070e8ad513a4'/>
<id>urn:sha1:77124c559be9715bc2457f94f85b070e8ad513a4</id>
<content type='text'>
</content>
</entry>
<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>
</feed>
