<feed xmlns='http://www.w3.org/2005/Atom'>
<title>coinos-ui.git/src/routes/(app)/settings, 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>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>make pm reactive so push toggle renders after SW init</title>
<updated>2026-03-07T07:07:21Z</updated>
<author>
<name>Adam Soltys</name>
<email>adam@coinos.io</email>
</author>
<published>2026-03-07T07:07:21Z</published>
<link rel='alternate' type='text/html' href='https://git.coinos.io/coinos-ui.git/commit/?id=ab108833e490ca8384cb848f0bda329b73091c3a'/>
<id>urn:sha1:ab108833e490ca8384cb848f0bda329b73091c3a</id>
<content type='text'>
Co-Authored-By: Claude Opus 4.6 &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>use Notification.permission instead of pushManager.permissionState</title>
<updated>2026-03-07T07:05:32Z</updated>
<author>
<name>Adam Soltys</name>
<email>adam@coinos.io</email>
</author>
<published>2026-03-07T07:05:32Z</published>
<link rel='alternate' type='text/html' href='https://git.coinos.io/coinos-ui.git/commit/?id=ea983c05f840ad47222b602b28d14e5dcc669154'/>
<id>urn:sha1:ea983c05f840ad47222b602b28d14e5dcc669154</id>
<content type='text'>
permissionState may throw on some setups. Notification.permission
is simpler and universally supported.

Co-Authored-By: Claude Opus 4.6 &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>wait for service worker activation before accessing pushManager</title>
<updated>2026-03-07T07:04:10Z</updated>
<author>
<name>Adam Soltys</name>
<email>adam@coinos.io</email>
</author>
<published>2026-03-07T07:04:10Z</published>
<link rel='alternate' type='text/html' href='https://git.coinos.io/coinos-ui.git/commit/?id=1f63d97f6a5969e5da8dcb946ba91c05407e9e2f'/>
<id>urn:sha1:1f63d97f6a5969e5da8dcb946ba91c05407e9e2f</id>
<content type='text'>
Co-Authored-By: Claude Opus 4.6 &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>register service worker on demand for push notifications</title>
<updated>2026-03-07T06:57:02Z</updated>
<author>
<name>Adam Soltys</name>
<email>adam@coinos.io</email>
</author>
<published>2026-03-07T06:57:02Z</published>
<link rel='alternate' type='text/html' href='https://git.coinos.io/coinos-ui.git/commit/?id=d51f8c8629c804e5b86ca29873175ba922e64e92'/>
<id>urn:sha1:d51f8c8629c804e5b86ca29873175ba922e64e92</id>
<content type='text'>
If no service worker is registered (e.g. staging static file serving),
register it explicitly so pushManager is available.

Co-Authored-By: Claude Opus 4.6 &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>remove all svelte/legacy usage (run, preventDefault)</title>
<updated>2026-03-07T06:52:49Z</updated>
<author>
<name>Adam Soltys</name>
<email>adam@coinos.io</email>
</author>
<published>2026-03-07T06:52:49Z</published>
<link rel='alternate' type='text/html' href='https://git.coinos.io/coinos-ui.git/commit/?id=7a4a59b044026f139ecfb144d1e24664d0f6f4cc'/>
<id>urn:sha1:7a4a59b044026f139ecfb144d1e24664d0f6f4cc</id>
<content type='text'>
Replace run() with $effect(), preventDefault() wrapper with inline
e.preventDefault(), and remove unused imports across 13 files.

Co-Authored-By: Claude Opus 4.6 &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>fix push notification registration and server-side MLS user index</title>
<updated>2026-03-07T06:47:13Z</updated>
<author>
<name>Adam Soltys</name>
<email>adam@coinos.io</email>
</author>
<published>2026-03-07T06:47:13Z</published>
<link rel='alternate' type='text/html' href='https://git.coinos.io/coinos-ui.git/commit/?id=deba11267523c29237bca31d1deb5a0e6b659810'/>
<id>urn:sha1:deba11267523c29237bca31d1deb5a0e6b659810</id>
<content type='text'>
- Fix push toggle: use $effect instead of run() to avoid silent failures
- Add error handling and console logging for push init/toggle
- Hide push section when service worker unavailable (dev mode)
- Simplify MLS user search to fetch from server API and cache in IndexedDB

Co-Authored-By: Claude Opus 4.6 &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>lint</title>
<updated>2026-03-06T23:07:08Z</updated>
<author>
<name>Adam Soltys</name>
<email>adam@coinos.io</email>
</author>
<published>2026-03-06T23:07:08Z</published>
<link rel='alternate' type='text/html' href='https://git.coinos.io/coinos-ui.git/commit/?id=d14c03e3f2e3806e17852a440d2a39f377570758'/>
<id>urn:sha1:d14c03e3f2e3806e17852a440d2a39f377570758</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Add MLS messaging with marmot-ts, NIP-17 fallback</title>
<updated>2026-03-06T06:32:43Z</updated>
<author>
<name>Adam Soltys</name>
<email>adam@coinos.io</email>
</author>
<published>2026-03-06T06:10:50Z</published>
<link rel='alternate' type='text/html' href='https://git.coinos.io/coinos-ui.git/commit/?id=653224387d8c09e461aabe632dbad6d59caf8f05'/>
<id>urn:sha1:653224387d8c09e461aabe632dbad6d59caf8f05</id>
<content type='text'>
Integrate MLS (Messaging Layer Security) via marmot-ts for encrypted
group messaging. Falls back to NIP-17 when the recipient doesn't have
an MLS key package. Includes optimistic UI for sent messages, local
caching of decrypted rumours, dynamic group subscriptions, and
self-echo filtering. Fix SSR crash in nostr settings page.

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