<feed xmlns='http://www.w3.org/2005/Atom'>
<title>coinosv3.git/tools/media-grid-dups-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-10-22T22:12:04Z</updated>
<entry>
<title>Media grids: one tile for a clip uploaded twice, and a picture that won't load stays out</title>
<updated>2026-10-22T22:12:04Z</updated>
<author>
<name>Adam Soltys</name>
<email>adam@coinos.io</email>
</author>
<published>2026-10-22T22:12:04Z</published>
<link rel='alternate' type='text/html' href='https://git.coinos.io/coinosv3.git/commit/?id=8257a98e8d1891d0795f6b8b0623678245cc8e33'/>
<id>urn:sha1:8257a98e8d1891d0795f6b8b0623678245cc8e33</id>
<content type='text'>
- Videos: one person's clips of one size to the byte are one clip. Beatbox
  Serenade posted the same video as a note and as a video event, each
  upload a fresh Blossom hash, so neither the file nor the words matched.
  Only a size the post or the host states counts (a bitrate x duration
  guess is marked sizeGuess and never matched).
- Images: a picture whose load failed was hidden by a class the next
  repaint rewrote, so the broken-picture glyph came back (a deleted
  nostr.media file in #artstr). Failed pictures are now remembered for the
  session and left out of the grid.
- A tile fetching its own frame froze the whole tile against repaints, so
  one built for the one-to-a-row layout never got its --ar in justified rows
  (zero width). Only the player and its stand-ins are frozen now; the
  render draws the cost badge itself. Tile pictures no longer size their
  tile (a frame-grab &lt;video&gt;'s 320px stretched its row).
- Test fixtures that served one file under several names (or one imeta
  size for every clip) now differ per clip.

Co-Authored-By: Claude Opus 5.5 &lt;noreply@anthropic.com&gt;
Claude-Session: https://claude.ai/code/session_01K5xtiFrkFVsrkWx6JDQjiT
</content>
</entry>
<entry>
<title>Videos: a desktop-sized window defaults to every shape (a phone keeps to its way round; the choice is stored only when it differs from the device's default). A clip's shape falls back to its still's proportions, so leaving All shapes finds the clips known. The grid's pager keeps a clip of unknown shape out until measured, as the grid does (d898efb let an unmeasured landscape clip into a phone's vertical pager).</title>
<updated>2026-10-22T17:28:22Z</updated>
<author>
<name>Adam Soltys</name>
<email>adam@coinos.io</email>
</author>
<published>2026-10-22T17:28:22Z</published>
<link rel='alternate' type='text/html' href='https://git.coinos.io/coinosv3.git/commit/?id=d59a7f0c9b32002ff23f74a2996b986cf1f0dd05'/>
<id>urn:sha1:d59a7f0c9b32002ff23f74a2996b986cf1f0dd05</id>
<content type='text'>
Co-Authored-By: Claude Opus 5.5 &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>Images grid in justified rows too: tiles in each picture's own shape (the tile thumbnail is no longer a square crop: 360px tall, its middle cut to 1:2–2:1; vmedia pic.webp?s=row for hosts without CORS; tile cache v2)</title>
<updated>2026-10-22T17:12:49Z</updated>
<author>
<name>Adam Soltys</name>
<email>adam@coinos.io</email>
</author>
<published>2026-10-22T17:12:49Z</published>
<link rel='alternate' type='text/html' href='https://git.coinos.io/coinosv3.git/commit/?id=cc84dd0c6c852b46b309079a5a90a54080fc049c'/>
<id>urn:sha1:cc84dd0c6c852b46b309079a5a90a54080fc049c</id>
<content type='text'>
Co-Authored-By: Claude Opus 5.5 &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>Videos grid, "All shapes": justified rows (each tile its clip's own proportions, every row one height filling the width) instead of squares</title>
<updated>2026-10-22T17:07:34Z</updated>
<author>
<name>Adam Soltys</name>
<email>adam@coinos.io</email>
</author>
<published>2026-10-22T17:07:34Z</published>
<link rel='alternate' type='text/html' href='https://git.coinos.io/coinosv3.git/commit/?id=e7979230cdddde45113a7bf282f00b4192d2ab0a'/>
<id>urn:sha1:e7979230cdddde45113a7bf282f00b4192d2ab0a</id>
<content type='text'>
Co-Authored-By: Claude Opus 5.5 &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>Videos grid: "All shapes" lays the clips out three across in squares (tall tiles stay for a phone held upright showing tall clips only)</title>
<updated>2026-10-22T17:06:20Z</updated>
<author>
<name>Adam Soltys</name>
<email>adam@coinos.io</email>
</author>
<published>2026-10-22T17:06:20Z</published>
<link rel='alternate' type='text/html' href='https://git.coinos.io/coinosv3.git/commit/?id=2c1acf85ac24f78207e0c667a7fae8dfdfa54ac0'/>
<id>urn:sha1:2c1acf85ac24f78207e0c667a7fae8dfdfa54ac0</id>
<content type='text'>
Co-Authored-By: Claude Opus 5.5 &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>Videos grid on a wide screen (wide clips only): one clip to a row with its 16:9 poster whole, instead of portrait slivers three across</title>
<updated>2026-10-22T17:05:15Z</updated>
<author>
<name>Adam Soltys</name>
<email>adam@coinos.io</email>
</author>
<published>2026-10-22T17:05:15Z</published>
<link rel='alternate' type='text/html' href='https://git.coinos.io/coinosv3.git/commit/?id=9e48c1513bccdd1bd9cb59736d9efe7676353f6b'/>
<id>urn:sha1:9e48c1513bccdd1bd9cb59736d9efe7676353f6b</id>
<content type='text'>
Co-Authored-By: Claude Opus 5.5 &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>Videos: "All shapes" in a pager opened from the grid brings in the clips the other way round (the pager now holds every clip, pagerFit keeping the wrong-shaped ones out of sight until asked)</title>
<updated>2026-10-22T17:03:16Z</updated>
<author>
<name>Adam Soltys</name>
<email>adam@coinos.io</email>
</author>
<published>2026-10-22T17:03:16Z</published>
<link rel='alternate' type='text/html' href='https://git.coinos.io/coinosv3.git/commit/?id=d898efbe1f56834c27fd3b5fdc2f6b010f0b0429'/>
<id>urn:sha1:d898efbe1f56834c27fd3b5fdc2f6b010f0b0429</id>
<content type='text'>
Co-Authored-By: Claude Opus 5.5 &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>Videos grid: a clip whose host says it's deleted (404/410) is left out for a day instead of sitting there as a blank tile</title>
<updated>2026-10-22T16:38:19Z</updated>
<author>
<name>Adam Soltys</name>
<email>adam@coinos.io</email>
</author>
<published>2026-10-22T16:38:19Z</published>
<link rel='alternate' type='text/html' href='https://git.coinos.io/coinosv3.git/commit/?id=6a5f1e64d14d6295b0c641809fd375e2d513ef79'/>
<id>urn:sha1:6a5f1e64d14d6295b0c641809fd375e2d513ef79</id>
<content type='text'>
Co-Authored-By: Claude Opus 5.5 &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>Media grid shows a clip or picture once however many posts carry it (same file or Blossom hash, or the same words from the same person re-uploaded); on a big window a small clip in the pager is drawn at most 1.5x its pixels instead of blown up across the monitor</title>
<updated>2026-10-22T16:35:11Z</updated>
<author>
<name>Adam Soltys</name>
<email>adam@coinos.io</email>
</author>
<published>2026-10-22T16:35:11Z</published>
<link rel='alternate' type='text/html' href='https://git.coinos.io/coinosv3.git/commit/?id=210c2978a1a608f27e2caeb4eb39fffdc28347bc'/>
<id>urn:sha1:210c2978a1a608f27e2caeb4eb39fffdc28347bc</id>
<content type='text'>
Co-Authored-By: Claude Opus 5.5 &lt;noreply@anthropic.com&gt;
</content>
</entry>
</feed>
