<feed xmlns='http://www.w3.org/2005/Atom'>
<title>coinos-ui.git/src/lib, branch staging</title>
<subtitle>coinos ui — legacy coinos.io web app (SvelteKit)</subtitle>
<id>https://git.coinos.io/coinos-ui.git/atom?h=staging</id>
<link rel='self' href='https://git.coinos.io/coinos-ui.git/atom?h=staging'/>
<link rel='alternate' type='text/html' href='https://git.coinos.io/coinos-ui.git/'/>
<updated>2026-04-09T05:57:55Z</updated>
<entry>
<title>breez style passkey derivation</title>
<updated>2026-04-09T05:57:55Z</updated>
<author>
<name>Adam Soltys</name>
<email>adam@coinos.io</email>
</author>
<published>2026-04-09T05:33:43Z</published>
<link rel='alternate' type='text/html' href='https://git.coinos.io/coinos-ui.git/commit/?id=757a59c5c9c4b56120446cae1ac495773b9905c8'/>
<id>urn:sha1:757a59c5c9c4b56120446cae1ac495773b9905c8</id>
<content type='text'>
</content>
</entry>
<entry>
<title>fix: use 303 redirects in parse.ts and send layout to prevent POST forwarding</title>
<updated>2026-03-14T06:16:11Z</updated>
<author>
<name>Adam Soltys</name>
<email>adam@coinos.io</email>
</author>
<published>2026-03-14T06:16:11Z</published>
<link rel='alternate' type='text/html' href='https://git.coinos.io/coinos-ui.git/commit/?id=a57046f80f8c85438ecf9549b94dc88146a976db'/>
<id>urn:sha1:a57046f80f8c85438ecf9549b94dc88146a976db</id>
<content type='text'>
The parse function is called from both load functions (GET) and form
actions (POST). When called from an action, 307 redirects preserve the
POST method, causing the original form body to reach unrelated action
handlers in the redirect chain (e.g., send/invoice action receiving the
/send textarea body instead of payment data).

Changed all redirects in parse.ts and the send/bitcoin layout from 307
to 303, which converts POST to GET on redirect, preventing these
spurious action invocations.

Co-Authored-By: Claude Opus 4.6 (1M context) &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>lazy imports</title>
<updated>2026-03-14T05:34:54Z</updated>
<author>
<name>Adam Soltys</name>
<email>adam@coinos.io</email>
</author>
<published>2026-03-14T05:34:54Z</published>
<link rel='alternate' type='text/html' href='https://git.coinos.io/coinos-ui.git/commit/?id=0e326d6bca826a4d9bec7e6e1b159b0a2e7b6b5c'/>
<id>urn:sha1:0e326d6bca826a4d9bec7e6e1b159b0a2e7b6b5c</id>
<content type='text'>
</content>
</entry>
<entry>
<title>svelte fixes</title>
<updated>2026-03-13T22:51:04Z</updated>
<author>
<name>Adam Soltys</name>
<email>adam@coinos.io</email>
</author>
<published>2026-03-13T22:51:04Z</published>
<link rel='alternate' type='text/html' href='https://git.coinos.io/coinos-ui.git/commit/?id=3f5cfd89182cb1a2e5927fd2ad27ebac5e2f257b'/>
<id>urn:sha1:3f5cfd89182cb1a2e5927fd2ad27ebac5e2f257b</id>
<content type='text'>
</content>
</entry>
<entry>
<title>update ark sdk</title>
<updated>2026-03-13T22:16:11Z</updated>
<author>
<name>Adam Soltys</name>
<email>adam@coinos.io</email>
</author>
<published>2026-03-13T22:16:11Z</published>
<link rel='alternate' type='text/html' href='https://git.coinos.io/coinos-ui.git/commit/?id=2a6a681a80a3865beef5c4cbe7f6f84db915fa34'/>
<id>urn:sha1:2a6a681a80a3865beef5c4cbe7f6f84db915fa34</id>
<content type='text'>
</content>
</entry>
<entry>
<title>delegation</title>
<updated>2026-03-13T21:25:51Z</updated>
<author>
<name>Adam Soltys</name>
<email>adam@coinos.io</email>
</author>
<published>2026-03-13T21:25:51Z</published>
<link rel='alternate' type='text/html' href='https://git.coinos.io/coinos-ui.git/commit/?id=91f0517b8d72a2a45c7f6423597808b2e4a6f0aa'/>
<id>urn:sha1:91f0517b8d72a2a45c7f6423597808b2e4a6f0aa</id>
<content type='text'>
</content>
</entry>
<entry>
<title>improve message delivery with websocket reconnect and push data transport</title>
<updated>2026-03-07T18:39:57Z</updated>
<author>
<name>Adam Soltys</name>
<email>adam@coinos.io</email>
</author>
<published>2026-03-07T18:39:57Z</published>
<link rel='alternate' type='text/html' href='https://git.coinos.io/coinos-ui.git/commit/?id=63249aed9dd62e59aa302ddcf7c3a419effc43b3'/>
<id>urn:sha1:63249aed9dd62e59aa302ddcf7c3a419effc43b3</id>
<content type='text'>
- Enable auto-reconnect on relay connections so dropped WebSockets recover
- Connect relays in parallel with 5s timeout for faster startup
- Add visibility change handler to catch up missed messages on tab return
- Forward kind 445 events via push notifications as a data channel
- Show "reconnecting..." status in chat UI when connections are down

Co-Authored-By: Claude Opus 4.6 &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>image upload</title>
<updated>2026-03-07T16:54:47Z</updated>
<author>
<name>Adam Soltys</name>
<email>adam@coinos.io</email>
</author>
<published>2026-03-07T16:54:47Z</published>
<link rel='alternate' type='text/html' href='https://git.coinos.io/coinos-ui.git/commit/?id=ad0b4009b2b2ae9173fffb41f0cfa7b35edcb303'/>
<id>urn:sha1:ad0b4009b2b2ae9173fffb41f0cfa7b35edcb303</id>
<content type='text'>
</content>
</entry>
<entry>
<title>render decrypted images</title>
<updated>2026-03-07T16:41:23Z</updated>
<author>
<name>Adam Soltys</name>
<email>adam@coinos.io</email>
</author>
<published>2026-03-07T16:41:23Z</published>
<link rel='alternate' type='text/html' href='https://git.coinos.io/coinos-ui.git/commit/?id=13b2a17e6f6ed1697c51a6650874313a6da4aa8f'/>
<id>urn:sha1:13b2a17e6f6ed1697c51a6650874313a6da4aa8f</id>
<content type='text'>
</content>
</entry>
<entry>
<title>render images from MLS messages by preserving rumor tags</title>
<updated>2026-03-07T07:46:17Z</updated>
<author>
<name>Adam Soltys</name>
<email>adam@coinos.io</email>
</author>
<published>2026-03-07T07:46:17Z</published>
<link rel='alternate' type='text/html' href='https://git.coinos.io/coinos-ui.git/commit/?id=797d30c172fbec5e98e3a8d77d24f8e708aaa0bd'/>
<id>urn:sha1:797d30c172fbec5e98e3a8d77d24f8e708aaa0bd</id>
<content type='text'>
Extract tags from decrypted MLS rumors and pass them through to
ChatMessage. Handle imeta tags (NIP-92) for image attachments
sent from clients like White Noise.

Co-Authored-By: Claude Opus 4.6 &lt;noreply@anthropic.com&gt;
</content>
</entry>
</feed>
