<feed xmlns='http://www.w3.org/2005/Atom'>
<title>spacebarchat/server-ts.git, branch github/dev/async-mentions</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%2Fasync-mentions</id>
<link rel='self' href='http://cgit.rory.gay/spacebarchat/server-ts.git/atom?h=github%2Fdev%2Fasync-mentions'/>
<link rel='alternate' type='text/html' href='http://cgit.rory.gay/spacebarchat/server-ts.git/'/>
<updated>2026-05-24T04:16:13Z</updated>
<entry>
<title>Fix some copyright headers</title>
<updated>2026-05-24T04:16:13Z</updated>
<author>
<name>Rory&amp;</name>
<email>root@rory.gay</email>
</author>
<published>2026-05-23T23:45:03Z</published>
<link rel='alternate' type='text/html' href='http://cgit.rory.gay/spacebarchat/server-ts.git/commit/?id=f046d7045c58e499ad595278e36cb8a5fa98687d'/>
<id>urn:sha1:f046d7045c58e499ad595278e36cb8a5fa98687d</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Break up bulk inserts for read states to avoid postgres parameter exhaustion</title>
<updated>2026-05-24T04:16:13Z</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=b895a15c415d25fb340baa4a19ff0b8c814c1ffa'/>
<id>urn:sha1:b895a15c415d25fb340baa4a19ff0b8c814c1ffa</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Trace fillInMissingIDs</title>
<updated>2026-05-24T04:16:13Z</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=691b1171bbaff451e9dcef3d1dd4b6a07582a4c7'/>
<id>urn:sha1:691b1171bbaff451e9dcef3d1dd4b6a07582a4c7</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Bulk insert missing ReadStates</title>
<updated>2026-05-24T04:16:12Z</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=c48e09efaa22004cab8169f9ad447be38b236d73'/>
<id>urn:sha1:c48e09efaa22004cab8169f9ad447be38b236d73</id>
<content type='text'>
</content>
</entry>
<entry>
<title>No longer handle mention_count == null since its no longer nullable</title>
<updated>2026-05-24T04:16:12Z</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=a53e466e855306db38f14390be55f3b7d1d3a542'/>
<id>urn:sha1:a53e466e855306db38f14390be55f3b7d1d3a542</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Use forEach rather than .map.forEach</title>
<updated>2026-05-24T04:16:12Z</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=06229fc8fac4d1285e4c6ab85347c2ff7761f1e2'/>
<id>urn:sha1:06229fc8fac4d1285e4c6ab85347c2ff7761f1e2</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Add full trace</title>
<updated>2026-05-24T04:16:12Z</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=c36d3c746c33fa86c9ff5ad7baccf37652e1f09f'/>
<id>urn:sha1:c36d3c746c33fa86c9ff5ad7baccf37652e1f09f</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Use sets for mention roles/users</title>
<updated>2026-05-24T04:16:12Z</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=d178bf8e6e00ff90a1e7045010fc43fca03a2454'/>
<id>urn:sha1:d178bf8e6e00ff90a1e7045010fc43fca03a2454</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Simplify some queries for handling mentions</title>
<updated>2026-05-24T04:16:12Z</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=455c6ee25c916886bb3c1005a1b0a58de74c04af'/>
<id>urn:sha1:455c6ee25c916886bb3c1005a1b0a58de74c04af</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-24T04:16:12Z</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=ed6ed9aeeefb3f7771f5855f8ee2f4c44e294bad'/>
<id>urn:sha1:ed6ed9aeeefb3f7771f5855f8ee2f4c44e294bad</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Move message mention handling to separate function</title>
<updated>2026-05-24T04:16:12Z</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=b90fe854d2f219215e965cb2a463040a7d4aa43b'/>
<id>urn:sha1:b90fe854d2f219215e965cb2a463040a7d4aa43b</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Fix some copyright headers</title>
<updated>2026-05-24T04:11:28Z</updated>
<author>
<name>Rory&amp;</name>
<email>root@rory.gay</email>
</author>
<published>2026-05-23T23:45:03Z</published>
<link rel='alternate' type='text/html' href='http://cgit.rory.gay/spacebarchat/server-ts.git/commit/?id=d9b80758822e29c43b88112be47c0b4a58d6dc43'/>
<id>urn:sha1:d9b80758822e29c43b88112be47c0b4a58d6dc43</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>Side tangent: fix prettier complaints</title>
<updated>2026-05-24T04:07:35Z</updated>
<author>
<name>Rory&amp;</name>
<email>root@rory.gay</email>
</author>
<published>2026-05-17T00:57:20Z</published>
<link rel='alternate' type='text/html' href='http://cgit.rory.gay/spacebarchat/server-ts.git/commit/?id=04bc09c896d4b26916bb4ef3effe8d207e1a7f2d'/>
<id>urn:sha1:04bc09c896d4b26916bb4ef3effe8d207e1a7f2d</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Clean up unused binding in cdn-cs nix module</title>
<updated>2026-05-24T04:07:14Z</updated>
<author>
<name>Rory&amp;</name>
<email>root@rory.gay</email>
</author>
<published>2026-05-24T04:07:14Z</published>
<link rel='alternate' type='text/html' href='http://cgit.rory.gay/spacebarchat/server-ts.git/commit/?id=63c887c7d3560ad7e69d76438ff833d23454eede'/>
<id>urn:sha1:63c887c7d3560ad7e69d76438ff833d23454eede</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Fix github workflows</title>
<updated>2026-05-24T03:41:37Z</updated>
<author>
<name>Rory&amp;</name>
<email>root@rory.gay</email>
</author>
<published>2026-05-24T03:41:37Z</published>
<link rel='alternate' type='text/html' href='http://cgit.rory.gay/spacebarchat/server-ts.git/commit/?id=536c20f6d053adf0af6874b6f0872a58c2c11a93'/>
<id>urn:sha1:536c20f6d053adf0af6874b6f0872a58c2c11a93</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Update npm packages, patches</title>
<updated>2026-05-24T00:03:17Z</updated>
<author>
<name>Rory&amp;</name>
<email>root@rory.gay</email>
</author>
<published>2026-05-24T00:03:17Z</published>
<link rel='alternate' type='text/html' href='http://cgit.rory.gay/spacebarchat/server-ts.git/commit/?id=65a22bbfa45673bf17825d434bc973679833a200'/>
<id>urn:sha1:65a22bbfa45673bf17825d434bc973679833a200</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Fix patches</title>
<updated>2026-05-23T23:52:24Z</updated>
<author>
<name>Rory&amp;</name>
<email>root@rory.gay</email>
</author>
<published>2026-05-23T23:52:24Z</published>
<link rel='alternate' type='text/html' href='http://cgit.rory.gay/spacebarchat/server-ts.git/commit/?id=bdad4ae6346b1c04f6bf4d509e5c5d008d79a6a6'/>
<id>urn:sha1:bdad4ae6346b1c04f6bf4d509e5c5d008d79a6a6</id>
<content type='text'>
</content>
</entry>
<entry>
<title>test VM: expose pion port</title>
<updated>2026-05-23T23:34:38Z</updated>
<author>
<name>Rory&amp;</name>
<email>root@rory.gay</email>
</author>
<published>2026-05-23T23:34:38Z</published>
<link rel='alternate' type='text/html' href='http://cgit.rory.gay/spacebarchat/server-ts.git/commit/?id=f073128035e55b50af84d2083cb874baf7467294'/>
<id>urn:sha1:f073128035e55b50af84d2083cb874baf7467294</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Add internal status order enum</title>
<updated>2026-05-19T14:39:50Z</updated>
<author>
<name>Rory&amp;</name>
<email>root@rory.gay</email>
</author>
<published>2026-05-19T14:39:50Z</published>
<link rel='alternate' type='text/html' href='http://cgit.rory.gay/spacebarchat/server-ts.git/commit/?id=051c92c30ea6af1b58963acfcdbfe92e7379e43f'/>
<id>urn:sha1:051c92c30ea6af1b58963acfcdbfe92e7379e43f</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Bundle tests: dont use gateway offload</title>
<updated>2026-05-19T14:27:04Z</updated>
<author>
<name>Rory&amp;</name>
<email>root@rory.gay</email>
</author>
<published>2026-05-19T14:27:04Z</published>
<link rel='alternate' type='text/html' href='http://cgit.rory.gay/spacebarchat/server-ts.git/commit/?id=154f60fdd1c203cad8a1f1c59ca7c019fec2c961'/>
<id>urn:sha1:154f60fdd1c203cad8a1f1c59ca7c019fec2c961</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Rework status enum schema</title>
<updated>2026-05-19T14:26:24Z</updated>
<author>
<name>Rory&amp;</name>
<email>root@rory.gay</email>
</author>
<published>2026-05-19T14:26:24Z</published>
<link rel='alternate' type='text/html' href='http://cgit.rory.gay/spacebarchat/server-ts.git/commit/?id=9e7f3bdfdece3baff4208b029ae9beab48b55732'/>
<id>urn:sha1:9e7f3bdfdece3baff4208b029ae9beab48b55732</id>
<content type='text'>
</content>
</entry>
<entry>
<title>cs: bump microsoft/system.*</title>
<updated>2026-05-19T08:38:44Z</updated>
<author>
<name>Rory&amp;</name>
<email>root@rory.gay</email>
</author>
<published>2026-05-19T08:38:44Z</published>
<link rel='alternate' type='text/html' href='http://cgit.rory.gay/spacebarchat/server-ts.git/commit/?id=d96c47cd330f417b1a2305ece8ceb77a5cbaa5ea'/>
<id>urn:sha1:d96c47cd330f417b1a2305ece8ceb77a5cbaa5ea</id>
<content type='text'>
</content>
</entry>
<entry>
<title>cs: bump Magick.NET</title>
<updated>2026-05-19T05:59:48Z</updated>
<author>
<name>Rory&amp;</name>
<email>root@rory.gay</email>
</author>
<published>2026-05-19T05:59:48Z</published>
<link rel='alternate' type='text/html' href='http://cgit.rory.gay/spacebarchat/server-ts.git/commit/?id=5054de78ddff082d3faea1a0a15c4f5fed65c588'/>
<id>urn:sha1:5054de78ddff082d3faea1a0a15c4f5fed65c588</id>
<content type='text'>
</content>
</entry>
<entry>
<title>npm: update node-zstd to 2.0.0</title>
<updated>2026-05-19T04:31:17Z</updated>
<author>
<name>Rory&amp;</name>
<email>root@rory.gay</email>
</author>
<published>2026-05-19T04:31:17Z</published>
<link rel='alternate' type='text/html' href='http://cgit.rory.gay/spacebarchat/server-ts.git/commit/?id=4309ec3915c1404031bbfd1ac819ac080b0e7e74'/>
<id>urn:sha1:4309ec3915c1404031bbfd1ac819ac080b0e7e74</id>
<content type='text'>
</content>
</entry>
<entry>
<title>npm: update amqplib to 2.0.1</title>
<updated>2026-05-19T04:27:37Z</updated>
<author>
<name>Rory&amp;</name>
<email>root@rory.gay</email>
</author>
<published>2026-05-19T04:27:37Z</published>
<link rel='alternate' type='text/html' href='http://cgit.rory.gay/spacebarchat/server-ts.git/commit/?id=e86daeedbca14e6d4d05b5896aa26de88d9747a3'/>
<id>urn:sha1:e86daeedbca14e6d4d05b5896aa26de88d9747a3</id>
<content type='text'>
</content>
</entry>
<entry>
<title>npm minor package updates</title>
<updated>2026-05-19T04:24:40Z</updated>
<author>
<name>Rory&amp;</name>
<email>root@rory.gay</email>
</author>
<published>2026-05-19T04:24:40Z</published>
<link rel='alternate' type='text/html' href='http://cgit.rory.gay/spacebarchat/server-ts.git/commit/?id=cc9c5cafe1e6ce4b180a176f3077e566ed0d7fc1'/>
<id>urn:sha1:cc9c5cafe1e6ce4b180a176f3077e566ed0d7fc1</id>
<content type='text'>
</content>
</entry>
<entry>
<title>LazyRequest: dont pseudo-force users to be online</title>
<updated>2026-05-19T04:09:28Z</updated>
<author>
<name>Rory&amp;</name>
<email>root@rory.gay</email>
</author>
<published>2026-05-19T04:09:28Z</published>
<link rel='alternate' type='text/html' href='http://cgit.rory.gay/spacebarchat/server-ts.git/commit/?id=9d695cbd080428ddd10bf46de7d2819010951273'/>
<id>urn:sha1:9d695cbd080428ddd10bf46de7d2819010951273</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Update nix inputs</title>
<updated>2026-05-17T01:28:19Z</updated>
<author>
<name>Rory&amp;</name>
<email>root@rory.gay</email>
</author>
<published>2026-05-17T01:28:19Z</published>
<link rel='alternate' type='text/html' href='http://cgit.rory.gay/spacebarchat/server-ts.git/commit/?id=747860ec25968dbb21e96ac87dac03ec13537bd4'/>
<id>urn:sha1:747860ec25968dbb21e96ac87dac03ec13537bd4</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Side tangent: fix bug in cdn-cs nix module</title>
<updated>2026-05-17T01:16:53Z</updated>
<author>
<name>Rory&amp;</name>
<email>root@rory.gay</email>
</author>
<published>2026-05-17T00:34:42Z</published>
<link rel='alternate' type='text/html' href='http://cgit.rory.gay/spacebarchat/server-ts.git/commit/?id=a04c3bc36eb3b5438476bde360fb9c298dc78142'/>
<id>urn:sha1:a04c3bc36eb3b5438476bde360fb9c298dc78142</id>
<content type='text'>
</content>
</entry>
<entry>
<title>client: basic message parsing, gateway listening</title>
<updated>2026-05-17T01:14:34Z</updated>
<author>
<name>Rory&amp;</name>
<email>root@rory.gay</email>
</author>
<published>2026-05-17T01:14:34Z</published>
<link rel='alternate' type='text/html' href='http://cgit.rory.gay/spacebarchat/server-ts.git/commit/?id=8f76cc5edf8588c8bec36daf0bbdc7d699d38800'/>
<id>urn:sha1:8f76cc5edf8588c8bec36daf0bbdc7d699d38800</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Add WIP client</title>
<updated>2026-05-08T20:24:29Z</updated>
<author>
<name>Rory&amp;</name>
<email>root@rory.gay</email>
</author>
<published>2026-05-08T20:24:29Z</published>
<link rel='alternate' type='text/html' href='http://cgit.rory.gay/spacebarchat/server-ts.git/commit/?id=9a0c7419239a8807e180d89ff4c15d5e7bc87c0b'/>
<id>urn:sha1:9a0c7419239a8807e180d89ff4c15d5e7bc87c0b</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Offload compile fix</title>
<updated>2026-05-08T20:21:03Z</updated>
<author>
<name>Rory&amp;</name>
<email>root@rory.gay</email>
</author>
<published>2026-05-08T20:21:03Z</published>
<link rel='alternate' type='text/html' href='http://cgit.rory.gay/spacebarchat/server-ts.git/commit/?id=759edae4ab3d437f3339b2a902ac9be1b5cb4e1c'/>
<id>urn:sha1:759edae4ab3d437f3339b2a902ac9be1b5cb4e1c</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Update CS models</title>
<updated>2026-05-08T20:20:41Z</updated>
<author>
<name>Rory&amp;</name>
<email>root@rory.gay</email>
</author>
<published>2026-05-08T20:20:41Z</published>
<link rel='alternate' type='text/html' href='http://cgit.rory.gay/spacebarchat/server-ts.git/commit/?id=a39a44319647772552bc587f096cd1a7ab3c8c5e'/>
<id>urn:sha1:a39a44319647772552bc587f096cd1a7ab3c8c5e</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>CDN-CS work</title>
<updated>2026-05-04T17:31:13Z</updated>
<author>
<name>Rory&amp;</name>
<email>root@rory.gay</email>
</author>
<published>2026-05-04T17:31:13Z</published>
<link rel='alternate' type='text/html' href='http://cgit.rory.gay/spacebarchat/server-ts.git/commit/?id=06c5f39cd1c093809a2143c0dfccd690f6b4404d'/>
<id>urn:sha1:06c5f39cd1c093809a2143c0dfccd690f6b4404d</id>
<content type='text'>
</content>
</entry>
<entry>
<title>switch to harmony-erlpack</title>
<updated>2026-05-03T08:50:22Z</updated>
<author>
<name>Rory&amp;</name>
<email>root@rory.gay</email>
</author>
<published>2026-04-29T14:16:27Z</published>
<link rel='alternate' type='text/html' href='http://cgit.rory.gay/spacebarchat/server-ts.git/commit/?id=1eb2d71854c8a44ee525fb4872aae6bf074c9efd'/>
<id>urn:sha1:1eb2d71854c8a44ee525fb4872aae6bf074c9efd</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>Clarify STORAGE_FORCE_PATH_STYLE env behavior</title>
<updated>2026-04-29T17:35:38Z</updated>
<author>
<name>ohmwraith</name>
<email>vs.ohmwraith@gmail.com</email>
</author>
<published>2026-04-24T19:53:10Z</published>
<link rel='alternate' type='text/html' href='http://cgit.rory.gay/spacebarchat/server-ts.git/commit/?id=b773b0025abb08ef600b73c0739ab0083d1e5500'/>
<id>urn:sha1:b773b0025abb08ef600b73c0739ab0083d1e5500</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Implement S3 force path-style support</title>
<updated>2026-04-29T17:35:38Z</updated>
<author>
<name>ohmwraith</name>
<email>vs.ohmwraith@gmail.com</email>
</author>
<published>2026-04-24T01:33:21Z</published>
<link rel='alternate' type='text/html' href='http://cgit.rory.gay/spacebarchat/server-ts.git/commit/?id=50c7da9872fcb12482d1290ea3c1f2d3101193a3'/>
<id>urn:sha1:50c7da9872fcb12482d1290ea3c1f2d3101193a3</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>Add deprecation warning for database config</title>
<updated>2026-04-25T21:58:49Z</updated>
<author>
<name>Rory&amp;</name>
<email>root@rory.gay</email>
</author>
<published>2026-04-25T21:58:49Z</published>
<link rel='alternate' type='text/html' href='http://cgit.rory.gay/spacebarchat/server-ts.git/commit/?id=d4ca87a8cee2fd2caaaf8463a8b52ae46f9a607c'/>
<id>urn:sha1:d4ca87a8cee2fd2caaaf8463a8b52ae46f9a607c</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>Refactor update-deps.cs, update dotnet deps</title>
<updated>2026-04-23T23:33:25Z</updated>
<author>
<name>Rory&amp;</name>
<email>root@rory.gay</email>
</author>
<published>2026-04-23T23:33:25Z</published>
<link rel='alternate' type='text/html' href='http://cgit.rory.gay/spacebarchat/server-ts.git/commit/?id=f2940b1d661ff89c525e33ad8de7dcad4eb921b3'/>
<id>urn:sha1:f2940b1d661ff89c525e33ad8de7dcad4eb921b3</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Fix CDN s3 import</title>
<updated>2026-04-23T23:24:10Z</updated>
<author>
<name>Rory&amp;</name>
<email>root@rory.gay</email>
</author>
<published>2026-04-23T23:24:10Z</published>
<link rel='alternate' type='text/html' href='http://cgit.rory.gay/spacebarchat/server-ts.git/commit/?id=396ee256ee5d8d7166a7d67e94087c6e8d71e912'/>
<id>urn:sha1:396ee256ee5d8d7166a7d67e94087c6e8d71e912</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Hexdump CDN hashes</title>
<updated>2026-04-21T19:11:02Z</updated>
<author>
<name>Rory&amp;</name>
<email>root@rory.gay</email>
</author>
<published>2026-04-21T19:11:02Z</published>
<link rel='alternate' type='text/html' href='http://cgit.rory.gay/spacebarchat/server-ts.git/commit/?id=7905fc9f5fc9612e2aed37a85cacff538fc03fbe'/>
<id>urn:sha1:7905fc9f5fc9612e2aed37a85cacff538fc03fbe</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Update genIndex to add ane xtra newline</title>
<updated>2026-04-19T22:15:29Z</updated>
<author>
<name>Rory&amp;</name>
<email>root@rory.gay</email>
</author>
<published>2026-04-19T22:08:49Z</published>
<link rel='alternate' type='text/html' href='http://cgit.rory.gay/spacebarchat/server-ts.git/commit/?id=5cb017ba1cea7ed61afc0732eb485137fe6b7744'/>
<id>urn:sha1:5cb017ba1cea7ed61afc0732eb485137fe6b7744</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Clean up schemas a bit</title>
<updated>2026-04-19T22:15:29Z</updated>
<author>
<name>Rory&amp;</name>
<email>root@rory.gay</email>
</author>
<published>2026-04-19T22:08:01Z</published>
<link rel='alternate' type='text/html' href='http://cgit.rory.gay/spacebarchat/server-ts.git/commit/?id=991a716388a7f4ff4da1a2e537ddb18e78e9a58e'/>
<id>urn:sha1:991a716388a7f4ff4da1a2e537ddb18e78e9a58e</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Clean up schemas/uncategorised a bit</title>
<updated>2026-04-19T22:15:28Z</updated>
<author>
<name>Rory&amp;</name>
<email>root@rory.gay</email>
</author>
<published>2026-04-19T22:07:11Z</published>
<link rel='alternate' type='text/html' href='http://cgit.rory.gay/spacebarchat/server-ts.git/commit/?id=43eb367b2431af0e3cda0832e7f60a7ff7446ffa'/>
<id>urn:sha1:43eb367b2431af0e3cda0832e7f60a7ff7446ffa</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Clean up schemas/responses a bit</title>
<updated>2026-04-19T22:15:22Z</updated>
<author>
<name>Rory&amp;</name>
<email>root@rory.gay</email>
</author>
<published>2026-04-19T22:01:32Z</published>
<link rel='alternate' type='text/html' href='http://cgit.rory.gay/spacebarchat/server-ts.git/commit/?id=55344e6d90c2f5f9cb4792f01264d1875662ace2'/>
<id>urn:sha1:55344e6d90c2f5f9cb4792f01264d1875662ace2</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Clean up schemas/gateway a bit</title>
<updated>2026-04-19T22:15:02Z</updated>
<author>
<name>Rory&amp;</name>
<email>root@rory.gay</email>
</author>
<published>2026-04-19T21:51:03Z</published>
<link rel='alternate' type='text/html' href='http://cgit.rory.gay/spacebarchat/server-ts.git/commit/?id=affb847a70fd4ff4255ee7d2f930622c07011d97'/>
<id>urn:sha1:affb847a70fd4ff4255ee7d2f930622c07011d97</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Clean up schemas/api a bit</title>
<updated>2026-04-19T22:14:59Z</updated>
<author>
<name>Rory&amp;</name>
<email>root@rory.gay</email>
</author>
<published>2026-04-19T21:49:24Z</published>
<link rel='alternate' type='text/html' href='http://cgit.rory.gay/spacebarchat/server-ts.git/commit/?id=dce297144c9d0539f7c220862db63841c007a621'/>
<id>urn:sha1:dce297144c9d0539f7c220862db63841c007a621</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>Merge AckBulkSchema into MessageAcknowledgeSchema.ts</title>
<updated>2026-04-19T22:14:36Z</updated>
<author>
<name>Rory&amp;</name>
<email>root@rory.gay</email>
</author>
<published>2026-04-19T21:27:17Z</published>
<link rel='alternate' type='text/html' href='http://cgit.rory.gay/spacebarchat/server-ts.git/commit/?id=354f80263e7e585b664a63b5bad1ad8371618980'/>
<id>urn:sha1:354f80263e7e585b664a63b5bad1ad8371618980</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>Update readme</title>
<updated>2026-04-19T21:07:42Z</updated>
<author>
<name>Rory&amp;</name>
<email>root@rory.gay</email>
</author>
<published>2026-04-19T21:07:42Z</published>
<link rel='alternate' type='text/html' href='http://cgit.rory.gay/spacebarchat/server-ts.git/commit/?id=1e06db149eb2928f3a62ee9b2ca34cbc3a18bdaa'/>
<id>urn:sha1:1e06db149eb2928f3a62ee9b2ca34cbc3a18bdaa</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: default-case</title>
<updated>2026-04-19T20:45:37Z</updated>
<author>
<name>Rory&amp;</name>
<email>root@rory.gay</email>
</author>
<published>2026-04-19T20:31:11Z</published>
<link rel='alternate' type='text/html' href='http://cgit.rory.gay/spacebarchat/server-ts.git/commit/?id=a8204b0c02e443a0928850e69d0abc47b17b6a72'/>
<id>urn:sha1:a8204b0c02e443a0928850e69d0abc47b17b6a72</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: no-promise-executor-return</title>
<updated>2026-04-19T20:45:37Z</updated>
<author>
<name>Rory&amp;</name>
<email>root@rory.gay</email>
</author>
<published>2026-04-19T20:01:49Z</published>
<link rel='alternate' type='text/html' href='http://cgit.rory.gay/spacebarchat/server-ts.git/commit/?id=d096ea758045ce856fab64dd7b6123125c33830f'/>
<id>urn:sha1:d096ea758045ce856fab64dd7b6123125c33830f</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>Minor package updates</title>
<updated>2026-04-19T20:45:37Z</updated>
<author>
<name>Rory&amp;</name>
<email>root@rory.gay</email>
</author>
<published>2026-04-19T18:45:21Z</published>
<link rel='alternate' type='text/html' href='http://cgit.rory.gay/spacebarchat/server-ts.git/commit/?id=afeeb8854cf52d1ebfc9dca925359429ac13b647'/>
<id>urn:sha1:afeeb8854cf52d1ebfc9dca925359429ac13b647</id>
<content type='text'>
</content>
</entry>
<entry>
<title>CDN: clean up unused imports</title>
<updated>2026-04-19T20:45:37Z</updated>
<author>
<name>Rory&amp;</name>
<email>root@rory.gay</email>
</author>
<published>2026-04-19T17:02:15Z</published>
<link rel='alternate' type='text/html' href='http://cgit.rory.gay/spacebarchat/server-ts.git/commit/?id=3a6c5e5f74f05cd51cc6c5b54b0da8f68ecaba8a'/>
<id>urn:sha1:3a6c5e5f74f05cd51cc6c5b54b0da8f68ecaba8a</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Merge pull request #1631 from CyberL1/fix/account-connections-visibility</title>
<updated>2026-04-19T09:42:08Z</updated>
<author>
<name>Cyber</name>
<email>cyber.hf18@gmail.com</email>
</author>
<published>2026-04-19T09:42:08Z</published>
<link rel='alternate' type='text/html' href='http://cgit.rory.gay/spacebarchat/server-ts.git/commit/?id=11c75cd6be4b539b03799b289a809527774cb557'/>
<id>urn:sha1:11c75cd6be4b539b03799b289a809527774cb557</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>Make connections more verbose and include some setup instructions</title>
<updated>2026-04-18T22:33:42Z</updated>
<author>
<name>Rory&amp;</name>
<email>root@rory.gay</email>
</author>
<published>2026-04-18T22:33:42Z</published>
<link rel='alternate' type='text/html' href='http://cgit.rory.gay/spacebarchat/server-ts.git/commit/?id=9f82daf6026b3024d5b9e2967ec6d71fa448a0bf'/>
<id>urn:sha1:9f82daf6026b3024d5b9e2967ec6d71fa448a0bf</id>
<content type='text'>
</content>
</entry>
<entry>
<title>NPM updates: typescript 6.0</title>
<updated>2026-04-18T17:46:01Z</updated>
<author>
<name>Rory&amp;</name>
<email>root@rory.gay</email>
</author>
<published>2026-04-18T17:46:01Z</published>
<link rel='alternate' type='text/html' href='http://cgit.rory.gay/spacebarchat/server-ts.git/commit/?id=ee2ec492e1abff70cada1b9139639f19a0175b24'/>
<id>urn:sha1:ee2ec492e1abff70cada1b9139639f19a0175b24</id>
<content type='text'>
</content>
</entry>
<entry>
<title>NPM updates: amqplib</title>
<updated>2026-04-18T17:42:54Z</updated>
<author>
<name>Rory&amp;</name>
<email>root@rory.gay</email>
</author>
<published>2026-04-18T17:42:54Z</published>
<link rel='alternate' type='text/html' href='http://cgit.rory.gay/spacebarchat/server-ts.git/commit/?id=b80a5aa4abb66d96694541df78656d0b1c57e9dd'/>
<id>urn:sha1:b80a5aa4abb66d96694541df78656d0b1c57e9dd</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>NPM update</title>
<updated>2026-04-18T16:47:00Z</updated>
<author>
<name>Rory&amp;</name>
<email>root@rory.gay</email>
</author>
<published>2026-04-18T16:47:00Z</published>
<link rel='alternate' type='text/html' href='http://cgit.rory.gay/spacebarchat/server-ts.git/commit/?id=91521574d967e4b81f3de1ce6077afded4d51d9a'/>
<id>urn:sha1:91521574d967e4b81f3de1ce6077afded4d51d9a</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>Attachment -&gt; PublicAttachment in schemas</title>
<updated>2026-04-18T16:26:34Z</updated>
<author>
<name>Rory&amp;</name>
<email>root@rory.gay</email>
</author>
<published>2026-04-17T23:24:35Z</published>
<link rel='alternate' type='text/html' href='http://cgit.rory.gay/spacebarchat/server-ts.git/commit/?id=74b6c03c52660bf3a39602050f4ce44ddb73c6ea'/>
<id>urn:sha1:74b6c03c52660bf3a39602050f4ce44ddb73c6ea</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Remove irrelevant TODO</title>
<updated>2026-04-18T16:26:34Z</updated>
<author>
<name>Rory&amp;</name>
<email>root@rory.gay</email>
</author>
<published>2026-04-17T23:12:08Z</published>
<link rel='alternate' type='text/html' href='http://cgit.rory.gay/spacebarchat/server-ts.git/commit/?id=07286e3f96f556b287c016e01ad557914d07902b'/>
<id>urn:sha1:07286e3f96f556b287c016e01ad557914d07902b</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>Gateway: get around some typeorm weirdness</title>
<updated>2026-04-18T16:26:34Z</updated>
<author>
<name>Rory&amp;</name>
<email>root@rory.gay</email>
</author>
<published>2026-04-16T01:09:31Z</published>
<link rel='alternate' type='text/html' href='http://cgit.rory.gay/spacebarchat/server-ts.git/commit/?id=368720278801ab3004ec85d9b357d7329fa73723'/>
<id>urn:sha1:368720278801ab3004ec85d9b357d7329fa73723</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Update CS models, deps</title>
<updated>2026-04-18T16:26:34Z</updated>
<author>
<name>Rory&amp;</name>
<email>root@rory.gay</email>
</author>
<published>2026-04-16T00:36:45Z</published>
<link rel='alternate' type='text/html' href='http://cgit.rory.gay/spacebarchat/server-ts.git/commit/?id=7dcccdcd6c2801b398f215630b77ec9db4d478ed'/>
<id>urn:sha1:7dcccdcd6c2801b398f215630b77ec9db4d478ed</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Fix up some straggler columns</title>
<updated>2026-04-18T16:26:34Z</updated>
<author>
<name>Rory&amp;</name>
<email>root@rory.gay</email>
</author>
<published>2026-04-15T22:01:48Z</published>
<link rel='alternate' type='text/html' href='http://cgit.rory.gay/spacebarchat/server-ts.git/commit/?id=b2990b5a2e10e6813abc373dfbf71646f81b8f2a'/>
<id>urn:sha1:b2990b5a2e10e6813abc373dfbf71646f81b8f2a</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Fix missed relations</title>
<updated>2026-04-18T16:26:34Z</updated>
<author>
<name>Rory&amp;</name>
<email>root@rory.gay</email>
</author>
<published>2026-04-15T20:42:15Z</published>
<link rel='alternate' type='text/html' href='http://cgit.rory.gay/spacebarchat/server-ts.git/commit/?id=19f4f4724ab8d433cc5473c4136faf4a587726f0'/>
<id>urn:sha1:19f4f4724ab8d433cc5473c4136faf4a587726f0</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Fix attachments 2</title>
<updated>2026-04-18T16:26:34Z</updated>
<author>
<name>Rory&amp;</name>
<email>root@rory.gay</email>
</author>
<published>2026-04-15T20:10:14Z</published>
<link rel='alternate' type='text/html' href='http://cgit.rory.gay/spacebarchat/server-ts.git/commit/?id=58425a52744ec0de9eff361b88564ced8cd2508f'/>
<id>urn:sha1:58425a52744ec0de9eff361b88564ced8cd2508f</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>No attachment URLs</title>
<updated>2026-04-18T16:26:34Z</updated>
<author>
<name>Rory&amp;</name>
<email>root@rory.gay</email>
</author>
<published>2026-04-15T17:02:01Z</published>
<link rel='alternate' type='text/html' href='http://cgit.rory.gay/spacebarchat/server-ts.git/commit/?id=5b501fa8da8fcd081d48f3cd2ad7eba9b4a2f302'/>
<id>urn:sha1:5b501fa8da8fcd081d48f3cd2ad7eba9b4a2f302</id>
<content type='text'>
</content>
</entry>
<entry>
<title>jsonb</title>
<updated>2026-04-18T16:26:34Z</updated>
<author>
<name>Rory&amp;</name>
<email>root@rory.gay</email>
</author>
<published>2026-04-15T15:34:14Z</published>
<link rel='alternate' type='text/html' href='http://cgit.rory.gay/spacebarchat/server-ts.git/commit/?id=91670d763e76b5665847a16c43ec129c43670260'/>
<id>urn:sha1:91670d763e76b5665847a16c43ec129c43670260</id>
<content type='text'>
</content>
</entry>
<entry>
<title>re-reconcile migrations</title>
<updated>2026-04-18T16:26:34Z</updated>
<author>
<name>Rory&amp;</name>
<email>root@rory.gay</email>
</author>
<published>2026-04-14T21:56:14Z</published>
<link rel='alternate' type='text/html' href='http://cgit.rory.gay/spacebarchat/server-ts.git/commit/?id=ed3d39e8f485875e21cb66c4671e784268584dbd'/>
<id>urn:sha1:ed3d39e8f485875e21cb66c4671e784268584dbd</id>
<content type='text'>
</content>
</entry>
<entry>
<title>int8 primary keys</title>
<updated>2026-04-18T16:26:34Z</updated>
<author>
<name>Rory&amp;</name>
<email>root@rory.gay</email>
</author>
<published>2026-04-14T21:46:44Z</published>
<link rel='alternate' type='text/html' href='http://cgit.rory.gay/spacebarchat/server-ts.git/commit/?id=c7b01a2fed8d607f80abe4223b77a5e40ced150e'/>
<id>urn:sha1:c7b01a2fed8d607f80abe4223b77a5e40ced150e</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>Explicitly specify status for temp sessions, since that suddenly broke...?</title>
<updated>2026-04-13T21:24:24Z</updated>
<author>
<name>Rory&amp;</name>
<email>root@rory.gay</email>
</author>
<published>2026-04-13T21:24:24Z</published>
<link rel='alternate' type='text/html' href='http://cgit.rory.gay/spacebarchat/server-ts.git/commit/?id=99a6de0cdb13c5506903fb4b98e7906fb32d4d9c'/>
<id>urn:sha1:99a6de0cdb13c5506903fb4b98e7906fb32d4d9c</id>
<content type='text'>
</content>
</entry>
</feed>
