<feed xmlns='http://www.w3.org/2005/Atom'>
<title>coinosv3.git/feed/server.js, branch master</title>
<subtitle>coinos v3 — bitcoin, Ark, Lightning and nostr wallet (web + Android)</subtitle>
<id>https://git.coinos.io/coinosv3.git/atom?h=master</id>
<link rel='self' href='https://git.coinos.io/coinosv3.git/atom?h=master'/>
<link rel='alternate' type='text/html' href='https://git.coinos.io/coinosv3.git/'/>
<updated>2026-10-07T20:10:43Z</updated>
<entry>
<title>Profile links paint whole on the first frame: the server renders /npub1…, /nprofile1… and /&lt;name&gt; with the kind 0, latest posts, follow counts and mentioned faces inlined (stale-while-refresh cache, 2 s budget), the app seeds its caches from it, and the big avatar never flashes punk art while a lookup runs</title>
<updated>2026-10-07T20:10:43Z</updated>
<author>
<name>Adam Soltys</name>
<email>adam@coinos.io</email>
</author>
<published>2026-10-07T20:10:43Z</published>
<link rel='alternate' type='text/html' href='https://git.coinos.io/coinosv3.git/commit/?id=c82e042aa592e4e619d0c280b02486eeb859d358'/>
<id>urn:sha1:c82e042aa592e4e619d0c280b02486eeb859d358</id>
<content type='text'>
A cold visit to a profile link showed a punk, '–' counts and no posts for 9 s.
Server-side relay answers settle once events stop arriving (idle 400 ms)
instead of waiting out a relay that never sends EOSE: a cold build is ~1.9 s.

Co-Authored-By: Claude Opus 5.5 &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>Shared note links open on the post, with names and faces</title>
<updated>2026-10-02T05:48:11Z</updated>
<author>
<name>Adam Soltys</name>
<email>adam@coinos.io</email>
</author>
<published>2026-10-02T05:48:11Z</published>
<link rel='alternate' type='text/html' href='https://git.coinos.io/coinosv3.git/commit/?id=23f18ff13e0a8c612d04727de2ccfadf2d13ff7c'/>
<id>urn:sha1:23f18ff13e0a8c612d04727de2ccfadf2d13ff7c</id>
<content type='text'>
The server renders /nevent1 and /note1 pages with the thread inlined
(post, root, replies, kind 0s) and Open Graph tags; the client seeds its
thread cache from it and opens the thread on the first paint. Without
it, a pending frame holds the screen instead of the front door. Profile
lookups ask our relays and the profile indexes at once, streamed,
instead of one after the other behind five-second waits. A thread
opened straight from a link has no Back button.

Co-Authored-By: Claude Opus 5.5 &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>Serve a shared snapshot for the public feed</title>
<updated>2026-10-01T13:55:14Z</updated>
<author>
<name>Adam Soltys</name>
<email>adam@coinos.io</email>
</author>
<published>2026-10-01T13:55:14Z</published>
<link rel='alternate' type='text/html' href='https://git.coinos.io/coinosv3.git/commit/?id=5d441ebbce6066c3636168ec5332ae9c2bdb8607'/>
<id>urn:sha1:5d441ebbce6066c3636168ec5332ae9c2bdb8607</id>
<content type='text'>
Build the default Popular feed once on the server and let browsers verify and paint its signed events before slow media finishes. Keep custom relays, pagination, filtering, and relay fallback on their existing paths.\n\nAdd stale-while-refresh persistence, service-worker bypass, development integration, and unit/browser coverage.
</content>
</entry>
</feed>
