ccdeck 3.22.4 → 3.22.5

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.
@@ -40,7 +40,7 @@
40
40
  document.documentElement.setAttribute("data-theme", stored === "light" ? "light" : "dark");
41
41
  })();
42
42
  </script>
43
- <script type="module" crossorigin src="/assets/index-BogvoO2t.js"></script>
43
+ <script type="module" crossorigin src="/assets/index-Dr2467D6.js"></script>
44
44
  <link rel="stylesheet" crossorigin href="/assets/index-D0ZefIva.css">
45
45
  </head>
46
46
  <body>
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ccdeck",
3
- "version": "3.22.4",
3
+ "version": "3.22.5",
4
4
  "description": "Live deck of Claude Code and Codex agents — watch tool calls, token spend and every Claude Code subagent on one calm canvas. Run it with npx ccdeck.",
5
5
  "type": "module",
6
6
  "bin": {
@@ -186,7 +186,15 @@ export function resetMacmonFetch() { _fetched = false; }
186
186
  */
187
187
  export function macmonAsset(release) {
188
188
  const tag = release?.tag_name;
189
- const a = (release?.assets ?? []).find(x => typeof x?.name === "string" && x.name.endsWith(".tar.gz"));
189
+ // Named, not merely suffixed. Every macmon release back to v0.5.1 has
190
+ // published exactly ONE asset, so `.tar.gz` alone has always picked the right
191
+ // one — but it picks the FIRST match, and the day a release adds a second
192
+ // tarball beside the binary (a `source.tar.gz`, or per-arch builds) the wrong
193
+ // one is chosen silently: it downloads, it hashes against a digest that
194
+ // matches, and what lands is not an executable. The published name has been
195
+ // `macmon-v<X.Y.Z>.tar.gz` throughout, so requiring that shape costs nothing
196
+ // today and refuses to guess on the day it would otherwise guess wrong.
197
+ const a = (release?.assets ?? []).find(x => typeof x?.name === "string" && /^macmon-v[\d.]+\.tar\.gz$/.test(x.name));
190
198
  if (!a?.browser_download_url) return null;
191
199
  const m = /^sha256:([0-9a-f]{64})$/.exec(String(a.digest ?? ""));
192
200
  if (!m) return null;
@@ -36,7 +36,12 @@ const DOWNLOAD_BASE = "https://github.com/astral-sh/uv/releases/download";
36
36
  // Used when the releases API cannot be reached — rate limiting is per-IP and
37
37
  // unauthenticated, so this is a normal outcome rather than an error. Any
38
38
  // reasonably recent uv can install claude-swap; it self-updates later.
39
- const FALLBACK_VERSION = "0.12.3";
39
+ //
40
+ // Dated, because this constant rots silently: nothing fails when it falls
41
+ // behind, it simply installs an older uv on the machines that reach it, so no
42
+ // test and no user will ever report it. Checked against the releases API on the
43
+ // date below; worth re-reading whenever this file is opened for another reason.
44
+ const FALLBACK_VERSION = "0.12.13"; // latest as of 2026-09-13
40
45
 
41
46
  const DOWNLOAD_TIMEOUT_MS = 120_000;
42
47