commit 42d362d3357b9373c265d5910c0a2546846e67ec
parent dfa872731c22bdb5367c56cbf27f8a18f22a5300
Author: virtualtack <[email protected]>
Date: Sat, 26 Sep 2026 13:12:27 -0700
Snapshot of v1.10-2-g2ddd89f
Diffstat:
5 files changed, 23 insertions(+), 28 deletions(-)
diff --git a/SNAPSHOT.md b/SNAPSHOT.md
@@ -1,7 +1,7 @@
# About this snapshot
This repository is the public release of the OnlyN00bs badge, taken from its private
-development repo at `v1.10-1-g5e89d9b` on 2026-09-26. It holds what describes the **production unit
+development repo at `v1.10-2-g2ddd89f` on 2026-09-26. It holds what describes the **production unit
as it is**: the firmware, the Web Bluetooth setup app, the site, the parts list, and the
case.
diff --git a/web/src/assets/badge.css b/web/src/assets/badge.css
@@ -296,10 +296,6 @@ dialog.lightbox figcaption { font-size: 13px; color: #bdbdbd; text-align: center
.lightbox .next { right: 12px; top: 50%; transform: translateY(-50%); }
.lightbox .count { position: fixed; top: 20px; left: 16px; font-size: 13px; color: #8b949e; }
-/* The gallery link at the top of the page (where the TL;DR box was): a plain accent link in
- the page's lowercase `//` voice, not a second call-to-action competing with setup. */
-.top-link { margin: 20px 0 8px; }
-
/* The badge page's // photos section: the gallery's first row (three tiles). On a phone the
grid is two columns, so the third would sit alone on a second row: show two instead. */
@media (max-width: 520px) { .gallery-preview figure:nth-child(n+3) { display: none; } }
diff --git a/web/src/gallery/index.html b/web/src/gallery/index.html
@@ -17,7 +17,7 @@
<meta name="twitter:card" content="summary_large_image">
<meta name="twitter:image" content="https://badge.virtualshack.io/assets/img/og-badge.jpg">
<!-- ?v= must match CACHE in ../sw.js — same rule as index.html -->
-<link rel="stylesheet" href="../assets/badge.css?v=38">
+<link rel="stylesheet" href="../assets/badge.css?v=39">
<link rel="icon" type="image/svg+xml" href="../assets/icon.svg">
<link rel="manifest" href="../manifest.webmanifest">
<meta name="theme-color" content="#212121">
diff --git a/web/src/index.html b/web/src/index.html
@@ -32,7 +32,7 @@
invisible to visitors for hours after a deploy. A new query = a new edge cache key =
it lands immediately. Safe for offline: sw.js matches with ignoreSearch, so this still
resolves to the precached bare URL. -->
-<link rel="stylesheet" href="assets/badge.css?v=38">
+<link rel="stylesheet" href="assets/badge.css?v=39">
<link rel="icon" type="image/svg+xml" href="assets/icon.svg">
<link rel="manifest" href="manifest.webmanifest">
<meta name="theme-color" content="#212121">
@@ -44,7 +44,25 @@
<p class="tagline">a friend-finder badge for def con 34 · firmware v1.10</p>
<p class="small muted"><a href="https://virtualshack.io/">virtualshack.io</a> / badge</p>
- <p class="top-link"><a href="gallery/">// photos</a></p>
+ <!-- generated from the gallery manifest: the first row, once there are photos -->
+ <!-- gallery-preview:begin -->
+ <h2 id="photos">// photos</h2>
+ <div class="gallery gallery-preview">
+ <figure>
+ <a href="gallery/" data-w="1600" data-h="1200"><img src="assets/gallery/thumbs/dc34-01.jpg" alt="A green OnlyN00bs badge on the finder screen beside the official DEF CON 34 badge and a challenge coin, with a purple foot charm on the case"
+ width="720" height="540" loading="eager" decoding="async"></a>
+ </figure>
+ <figure>
+ <a href="gallery/" data-w="1234" data-h="929"><img src="assets/gallery/thumbs/dc34-02.jpg" alt="A hand holding a purple OnlyN00bs badge on the finder screen, with a green badge on a lanyard behind it"
+ width="720" height="542" loading="eager" decoding="async"></a>
+ </figure>
+ <figure>
+ <a href="gallery/" data-w="929" data-h="1238"><img src="assets/gallery/thumbs/dc34-03.jpg" alt="A lavender badge with foot and gummy-bear charms, its finder screen listing five nearby badges"
+ width="540" height="720" loading="eager" decoding="async"></a>
+ </figure>
+ </div>
+ <p class="small"><a href="gallery/">all photos →</a></p>
+ <!-- gallery-preview:end -->
<p style="text-align:center"><a class="cta" href="provision/">Set up my badge →</a></p>
@@ -159,25 +177,6 @@
<li><b>Also not included: anyone's data.</b> Encounter logs and the list of who got which badge
stayed private. The repo is the badge, not the con.</li>
</ul>
- <!-- generated from the gallery manifest: the first row, once there are photos -->
- <!-- gallery-preview:begin -->
- <h2 id="photos">// photos</h2>
- <div class="gallery gallery-preview">
- <figure>
- <a href="gallery/" data-w="1600" data-h="1200"><img src="assets/gallery/thumbs/dc34-01.jpg" alt="A green OnlyN00bs badge on the finder screen beside the official DEF CON 34 badge and a challenge coin, with a purple foot charm on the case"
- width="720" height="540" loading="lazy" decoding="async"></a>
- </figure>
- <figure>
- <a href="gallery/" data-w="1234" data-h="929"><img src="assets/gallery/thumbs/dc34-02.jpg" alt="A hand holding a purple OnlyN00bs badge on the finder screen, with a green badge on a lanyard behind it"
- width="720" height="542" loading="lazy" decoding="async"></a>
- </figure>
- <figure>
- <a href="gallery/" data-w="929" data-h="1238"><img src="assets/gallery/thumbs/dc34-03.jpg" alt="A lavender badge with foot and gummy-bear charms, its finder screen listing five nearby badges"
- width="540" height="720" loading="lazy" decoding="async"></a>
- </figure>
- </div>
- <p class="small"><a href="gallery/">all photos →</a></p>
- <!-- gallery-preview:end -->
<h2 id="setup">// setup</h2>
diff --git a/web/src/sw.js b/web/src/sw.js
@@ -17,7 +17,7 @@
* there is one version to remember, not two.
*/
-const CACHE = "onlyn00bs-v38";
+const CACHE = "onlyn00bs-v39";
// Resolved against the worker's own location, so it's right whether the site is served at
// / (production) or under a path (a local preview).