handmux 0.12.0 → 0.12.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Binary file
Binary file
Binary file
@@ -1,32 +1,6 @@
1
- <svg width="512" height="512" viewBox="0 0 512 512" fill="none" xmlns="http://www.w3.org/2000/svg">
2
- <defs>
3
- <linearGradient id="bg" x1="0" y1="0" x2="0" y2="512" gradientUnits="userSpaceOnUse">
4
- <stop offset="0" stop-color="#16180f"/><stop offset="1" stop-color="#080907"/></linearGradient>
5
- <radialGradient id="glow" cx="230" cy="262" r="250" gradientUnits="userSpaceOnUse">
6
- <stop offset="0" stop-color="#74e6a0" stop-opacity="0.26"/><stop offset="1" stop-color="#74e6a0" stop-opacity="0"/></radialGradient>
7
- <linearGradient id="body" x1="150" y1="120" x2="300" y2="420" gradientUnits="userSpaceOnUse">
8
- <stop offset="0" stop-color="#aef9c8"/><stop offset="1" stop-color="#46d6a2"/></linearGradient>
9
- <linearGradient id="a1" x1="300" y1="190" x2="372" y2="262" gradientUnits="userSpaceOnUse">
10
- <stop offset="0" stop-color="#7fe9b8" stop-opacity="0.95"/><stop offset="1" stop-color="#7fe9b8" stop-opacity="0.12"/></linearGradient>
11
- <linearGradient id="a2" x1="296" y1="150" x2="406" y2="262" gradientUnits="userSpaceOnUse">
12
- <stop offset="0" stop-color="#6fe2ac" stop-opacity="0.7"/><stop offset="1" stop-color="#6fe2ac" stop-opacity="0.05"/></linearGradient>
13
- <linearGradient id="a3" x1="292" y1="112" x2="446" y2="262" gradientUnits="userSpaceOnUse">
14
- <stop offset="0" stop-color="#62dca4" stop-opacity="0.45"/><stop offset="1" stop-color="#62dca4" stop-opacity="0"/></linearGradient>
15
- <filter id="soft" x="-50%" y="-50%" width="200%" height="200%"><feGaussianBlur stdDeviation="7" result="b"/><feMerge><feMergeNode in="b"/><feMergeNode in="SourceGraphic"/></feMerge></filter>
16
- </defs>
17
- <rect width="512" height="512" rx="116" fill="url(#bg)"/>
18
- <rect width="512" height="512" rx="116" fill="url(#glow)"/>
19
- <g transform="rotate(-7 221 281)">
20
- <g fill="none" stroke-linecap="round">
21
- <path d="M300 190 a74 74 0 0 1 70 70" stroke="url(#a1)" stroke-width="15"/>
22
- <path d="M296 148 a118 118 0 0 1 112 112" stroke="url(#a2)" stroke-width="14"/>
23
- <path d="M292 108 a160 160 0 0 1 154 154" stroke="url(#a3)" stroke-width="13"/>
24
- </g>
25
- <g filter="url(#soft)"><rect x="146" y="150" width="150" height="262" rx="36" fill="url(#body)"/></g>
26
- <rect x="163" y="184" width="116" height="194" rx="18" fill="#0a0b09"/>
27
- <rect x="194" y="146" width="30" height="6" rx="3" fill="#0a0b09" opacity="0.45"/>
28
- <rect x="206" y="396" width="30" height="6" rx="3" fill="#0a0b09" opacity="0.45"/>
29
- <polyline points="188,236 212,266 188,296" fill="none" stroke="#aef9c8" stroke-width="12" stroke-linecap="round" stroke-linejoin="round"/>
30
- <rect x="224" y="252" width="15" height="32" rx="3" fill="#aef9c8"/>
31
- </g>
1
+ <svg xmlns="http://www.w3.org/2000/svg" width="512" height="512" viewBox="0 0 512 512">
2
+ <!-- The brand mark is an AI-rendered raster; the exact artwork is embedded (a hand-traced vector
3
+ couldn't match it). Rounded-tile clipped so the tab icon reads as an app chip. -->
4
+ <clipPath id="r"><rect width="512" height="512" rx="116"/></clipPath>
5
+ <image width="512" height="512" clip-path="url(#r)" href="data:image/png;base64,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"/>
32
6
  </svg>
package/public/index.html CHANGED
@@ -5,17 +5,21 @@
5
5
  <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no" />
6
6
  <title>handmux</title>
7
7
 
8
- <!-- Installable PWA: "Add to Home Screen" + standalone (no browser address bar). -->
9
- <link rel="manifest" href="/manifest.webmanifest" />
8
+ <!-- Installable PWA: "Add to Home Screen" + standalone (no browser address bar).
9
+ ?v=2 one-time cache-bust: pre-0.12.2 servers sent these stable-url assets as
10
+ `immutable, max-age=1y`, so returning browsers pinned the OLD icon/manifest for a year.
11
+ index.html is no-store (always fresh), so a new query on the refs escapes those poisoned
12
+ caches at once; staticCache.js now serves them `no-cache`, so no future bump is needed. -->
13
+ <link rel="manifest" href="/manifest.webmanifest?v=2" />
10
14
  <meta name="theme-color" content="#1a1b1e" />
11
- <link rel="icon" type="image/png" href="/icons/icon-192.png" />
15
+ <link rel="icon" type="image/png" href="/icons/icon-192.png?v=2" />
12
16
  <!-- iOS Safari ignores the manifest's display mode, so these drive standalone + the
13
17
  home-screen icon/label. "black" keeps the white status-bar text readable on the dark topbar. -->
14
18
  <meta name="apple-mobile-web-app-capable" content="yes" />
15
19
  <meta name="mobile-web-app-capable" content="yes" />
16
20
  <meta name="apple-mobile-web-app-status-bar-style" content="black" />
17
21
  <meta name="apple-mobile-web-app-title" content="handmux" />
18
- <link rel="apple-touch-icon" href="/icons/apple-touch-icon.png" />
22
+ <link rel="apple-touch-icon" href="/icons/apple-touch-icon.png?v=2" />
19
23
 
20
24
  <!-- Inline boot splash: paints instantly (before the JS bundle loads) so a cold launch shows the
21
25
  brand, not a blank dark screen. main.jsx calls window.__hideBootSplash() once React has painted;
@@ -28,12 +32,14 @@
28
32
  #boot-splash.boot-hide { opacity: 0; pointer-events: none; }
29
33
  .boot-mark { position: relative; width: 108px; height: 108px; display: flex;
30
34
  align-items: center; justify-content: center; }
31
- .boot-mark svg { width: 108px; height: 108px; border-radius: 24px; position: relative; z-index: 1; }
35
+ .boot-mark img { width: 108px; height: 108px; border-radius: 24px; position: relative; z-index: 1; }
32
36
  .boot-glow { position: absolute; inset: -42%; border-radius: 50%;
33
37
  background: radial-gradient(circle, rgba(116,230,160,.42) 0%, rgba(116,230,160,0) 68%);
34
38
  animation: bootGlow 2.4s ease-in-out infinite; }
35
39
  @keyframes bootGlow { 0%,100% { transform: scale(.9); opacity: .5; } 50% { transform: scale(1.14); opacity: .95; } }
36
40
  .boot-word { font: 600 22px/1 -apple-system, system-ui, sans-serif; letter-spacing: .5px; color: #e9efe9; }
41
+ .boot-word span { background: linear-gradient(95deg, #7cf0d6, #33d69a); -webkit-background-clip: text;
42
+ background-clip: text; -webkit-text-fill-color: transparent; }
37
43
  .boot-dots { display: flex; gap: 7px; }
38
44
  .boot-dots i { width: 6px; height: 6px; border-radius: 50%; background: #6fe2ac; opacity: .22;
39
45
  animation: bootDot 1.3s ease-in-out infinite; }
@@ -42,47 +48,16 @@
42
48
  @keyframes bootDot { 0%,100% { opacity: .22; transform: translateY(0); } 40% { opacity: 1; transform: translateY(-3px); } }
43
49
  @media (prefers-reduced-motion: reduce) { .boot-glow, .boot-dots i { animation: none; opacity: .8; } }
44
50
  </style>
45
- <script type="module" crossorigin src="/assets/index-DpMN2jCF.js"></script>
51
+ <script type="module" crossorigin src="/assets/index-BXd3a0v9.js"></script>
46
52
  <link rel="stylesheet" crossorigin href="/assets/index-DJNPeU_h.css" media="print" onload="this.media='all'"><noscript><link rel="stylesheet" crossorigin href="/assets/index-DJNPeU_h.css"></noscript>
47
53
  </head>
48
54
  <body>
49
55
  <div id="boot-splash" aria-hidden="true">
50
56
  <div class="boot-mark">
51
57
  <span class="boot-glow"></span>
52
- <svg viewBox="0 0 512 512" fill="none" xmlns="http://www.w3.org/2000/svg">
53
- <defs>
54
- <linearGradient id="bsbg" x1="0" y1="0" x2="0" y2="512" gradientUnits="userSpaceOnUse">
55
- <stop offset="0" stop-color="#16180f"/><stop offset="1" stop-color="#080907"/></linearGradient>
56
- <radialGradient id="bsglow" cx="230" cy="262" r="250" gradientUnits="userSpaceOnUse">
57
- <stop offset="0" stop-color="#74e6a0" stop-opacity="0.26"/><stop offset="1" stop-color="#74e6a0" stop-opacity="0"/></radialGradient>
58
- <linearGradient id="bsbody" x1="150" y1="120" x2="300" y2="420" gradientUnits="userSpaceOnUse">
59
- <stop offset="0" stop-color="#aef9c8"/><stop offset="1" stop-color="#46d6a2"/></linearGradient>
60
- <linearGradient id="bsa1" x1="300" y1="190" x2="372" y2="262" gradientUnits="userSpaceOnUse">
61
- <stop offset="0" stop-color="#7fe9b8" stop-opacity="0.95"/><stop offset="1" stop-color="#7fe9b8" stop-opacity="0.12"/></linearGradient>
62
- <linearGradient id="bsa2" x1="296" y1="150" x2="406" y2="262" gradientUnits="userSpaceOnUse">
63
- <stop offset="0" stop-color="#6fe2ac" stop-opacity="0.7"/><stop offset="1" stop-color="#6fe2ac" stop-opacity="0.05"/></linearGradient>
64
- <linearGradient id="bsa3" x1="292" y1="112" x2="446" y2="262" gradientUnits="userSpaceOnUse">
65
- <stop offset="0" stop-color="#62dca4" stop-opacity="0.45"/><stop offset="1" stop-color="#62dca4" stop-opacity="0"/></linearGradient>
66
- <filter id="bssoft" x="-50%" y="-50%" width="200%" height="200%"><feGaussianBlur stdDeviation="7" result="b"/><feMerge><feMergeNode in="b"/><feMergeNode in="SourceGraphic"/></feMerge></filter>
67
- </defs>
68
- <rect width="512" height="512" rx="116" fill="url(#bsbg)"/>
69
- <rect width="512" height="512" rx="116" fill="url(#bsglow)"/>
70
- <g transform="rotate(-7 221 281)">
71
- <g fill="none" stroke-linecap="round">
72
- <path d="M300 190 a74 74 0 0 1 70 70" stroke="url(#bsa1)" stroke-width="15"/>
73
- <path d="M296 148 a118 118 0 0 1 112 112" stroke="url(#bsa2)" stroke-width="14"/>
74
- <path d="M292 108 a160 160 0 0 1 154 154" stroke="url(#bsa3)" stroke-width="13"/>
75
- </g>
76
- <g filter="url(#bssoft)"><rect x="146" y="150" width="150" height="262" rx="36" fill="url(#bsbody)"/></g>
77
- <rect x="163" y="184" width="116" height="194" rx="18" fill="#0a0b09"/>
78
- <rect x="194" y="146" width="30" height="6" rx="3" fill="#0a0b09" opacity="0.45"/>
79
- <rect x="206" y="396" width="30" height="6" rx="3" fill="#0a0b09" opacity="0.45"/>
80
- <polyline points="188,236 212,266 188,296" fill="none" stroke="#aef9c8" stroke-width="12" stroke-linecap="round" stroke-linejoin="round"/>
81
- <rect x="224" y="252" width="15" height="32" rx="3" fill="#aef9c8"/>
82
- </g>
83
- </svg>
58
+ <img class="boot-mark-img" src="data:image/png;base64,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" alt="" />
84
59
  </div>
85
- <div class="boot-word">handmux</div>
60
+ <div class="boot-word">hand<span>mux</span></div>
86
61
  <div class="boot-dots"><i></i><i></i><i></i></div>
87
62
  </div>
88
63
  <div id="root"></div>
@@ -9,8 +9,10 @@
9
9
  "background_color": "#1a1b1e",
10
10
  "theme_color": "#1a1b1e",
11
11
  "icons": [
12
- { "src": "icons/icon-192.png", "sizes": "192x192", "type": "image/png", "purpose": "any maskable" },
13
- { "src": "icons/icon-512.png", "sizes": "512x512", "type": "image/png", "purpose": "any maskable" }
12
+ { "src": "icons/icon-192.png?v=2", "sizes": "192x192", "type": "image/png", "purpose": "any" },
13
+ { "src": "icons/icon-512.png?v=2", "sizes": "512x512", "type": "image/png", "purpose": "any" },
14
+ { "src": "icons/icon-192-maskable.png?v=2", "sizes": "192x192", "type": "image/png", "purpose": "maskable" },
15
+ { "src": "icons/icon-512-maskable.png?v=2", "sizes": "512x512", "type": "image/png", "purpose": "maskable" }
14
16
  ],
15
17
  "share_target": {
16
18
  "action": "/share-target",
package/public/sw.js CHANGED
@@ -81,11 +81,11 @@ self.addEventListener('push', (event) => {
81
81
  // icon = the large right-side logo. We MUST set it: HyperOS/MIUI always reserves that slot, and an
82
82
  // empty `icon` makes it back-fill the slot with the PWA's own icon at a stray size (the `>` reads as
83
83
  // a lone "v") plus leaves a gap. An explicit app icon fills the slot cleanly.
84
- icon: '/icons/icon-192.png',
84
+ icon: '/icons/icon-192.png?v=2',
85
85
  // badge = the small monochrome status-bar icon. Android reads only its ALPHA and tints the
86
86
  // silhouette; an opaque image (icon-192 has no alpha) can't be used, so it falls back to the
87
87
  // browser's own Chrome logo. badge-96.png is a white `>▮` silhouette on transparent → our mark.
88
- badge: '/icons/badge-96.png',
88
+ badge: '/icons/badge-96.png?v=2',
89
89
  data: d.data || {},
90
90
  }));
91
91
  });
@@ -1,8 +1,17 @@
1
- // Cache-Control policy for the static web bundle. index.html and the service worker must NEVER be
2
- // HTTP-cached — an installed PWA would otherwise keep loading a stale shell (pointing at missing
3
- // hashed assets) or a stale SW. Everything else under dist carries a content hash in its name, so
4
- // it's safe to cache forever. Pure so it unit-tests on its own.
1
+ // Cache-Control policy for the static web bundle.
2
+ // • index.html + the service worker must NEVER be HTTP-cached — an installed PWA would otherwise
3
+ // keep loading a stale shell (pointing at missing hashed assets) or a stale service worker.
4
+ // • Vite build output under /assets/ carries a content hash in its filename, so the URL itself
5
+ // changes whenever the bytes change → safe to pin forever (immutable).
6
+ // • Everything else is a hand-authored public/ file served at a STABLE url whose bytes change in
7
+ // place across releases (icons, manifest.webmanifest, favicon, og cards, offline assets). Those
8
+ // must NOT be immutable — pinning them would freeze an old copy in every returning browser for a
9
+ // year (a changed app icon / manifest would never reach anyone who had visited before). They get
10
+ // `no-cache` = store but always revalidate; the ETag/Last-Modified express.static already sends
11
+ // make the recheck a cheap 304 when nothing changed, and an actual change is picked up at once.
12
+ // Pure so it unit-tests on its own.
5
13
  export function cacheControlFor(filePath) {
6
14
  if (filePath.endsWith('.html') || filePath.endsWith('/sw.js')) return 'no-store';
7
- return 'public, max-age=31536000, immutable';
15
+ if (/[\\/]assets[\\/]/.test(filePath)) return 'public, max-age=31536000, immutable';
16
+ return 'no-cache';
8
17
  }