<feed xmlns='http://www.w3.org/2005/Atom'>
<title>coinosv3.git/tools/media-upload-test.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-09-30T18:03:52Z</updated>
<entry>
<title>Public pictures and videos go to blossom.ditto.pub first, then primal, nostr.download, nostr.build.</title>
<updated>2026-09-30T18:03:52Z</updated>
<author>
<name>Adam Soltys</name>
<email>asoltys@gmail.com</email>
</author>
<published>2026-09-30T18:03:52Z</published>
<link rel='alternate' type='text/html' href='https://git.coinos.io/coinosv3.git/commit/?id=c5030c0b56463974fdac5b963c5a1c217b30ba5c'/>
<id>urn:sha1:c5030c0b56463974fdac5b963c5a1c217b30ba5c</id>
<content type='text'>
A 2026-09-30 benchmark (4 MB mp4, 110 KB jpeg; upload then fetch, twice):
ditto took the mp4 in ~0.6 s and serves from ~120 ms; primal ~1.5 s;
nostr.download ~1-2 s but rejects a JPEG with data after its end marker
(motion photos); blossom.nostr.build ~5 s with ~600 ms first byte.

Co-Authored-By: Claude Opus 5.5 &lt;noreply@anthropic.com&gt;
Claude-Session: https://claude.ai/code/session_01WMMwWYJkPQxLgfMsY7hWcU
</content>
</entry>
<entry>
<title>Videos are shrunk on the phone before upload; nostr.build is the first media host.</title>
<updated>2026-09-30T17:10:10Z</updated>
<author>
<name>Adam Soltys</name>
<email>adam@coinos.io</email>
</author>
<published>2026-09-30T17:10:10Z</published>
<link rel='alternate' type='text/html' href='https://git.coinos.io/coinosv3.git/commit/?id=505cd84813a80e0a69b2cc95aa93c68cf2856cb2'/>
<id>urn:sha1:505cd84813a80e0a69b2cc95aa93c68cf2856cb2</id>
<content type='text'>
No public Blossom host transcodes (nostr.build's and primal's BUD-05 /media
return the same bitrate), so a 15-20 Mbps phone clip stalled on playback.
src/video-compress.js re-encodes on the device with WebCodecs via
Mediabunny (a lazily loaded chunk, left out of the SW precache and the
standalone file): H.264, short edge 720, ~2.5 Mbps, moov first, audio
passed through, rotation baked in. Anything short of a clear win uploads
the original. A toast counts the shrinking down.

Media hosts: blossom.nostr.build first, nostr.download second (it was
unreachable for hours); a HEAD probe skips a host that doesn't answer
within 5 s instead of waiting out the whole upload timeout.

video-compress-test: 1080p 20 Mbps 5 s (landscape and rotated portrait) →
1.6 MB H.264 720p 2.49 Mbps with audio, moov first, in 2-3 s.

Co-Authored-By: Claude Opus 5.5 &lt;noreply@anthropic.com&gt;
Claude-Session: https://claude.ai/code/session_01Du1qT1wbkYwYK6zkGH79Rp
</content>
</entry>
<entry>
<title>Fix public media uploads and feed tab navigation</title>
<updated>2026-09-29T15:33:28Z</updated>
<author>
<name>Adam Soltys</name>
<email>adam@coinos.io</email>
</author>
<published>2026-09-29T15:33:28Z</published>
<link rel='alternate' type='text/html' href='https://git.coinos.io/coinosv3.git/commit/?id=bdb8c3878df0439e3ebbcede5e2555f949a0cd7a'/>
<id>urn:sha1:bdb8c3878df0439e3ebbcede5e2555f949a0cd7a</id>
<content type='text'>
</content>
</entry>
</feed>
