@epiphytic/claudecodeui 1.2.0 → 1.2.1

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.
Files changed (49) hide show
  1. package/dist/assets/index-BGneYLVE.css +32 -0
  2. package/dist/assets/{index-DqxzEd_8.js → index-sqmQ9jF8.js} +182 -182
  3. package/dist/index.html +2 -2
  4. package/dist/sw.js +25 -1
  5. package/package.json +2 -1
  6. package/public/api-docs.html +879 -0
  7. package/public/clear-cache.html +85 -0
  8. package/public/convert-icons.md +53 -0
  9. package/public/favicon.png +0 -0
  10. package/public/favicon.svg +9 -0
  11. package/public/generate-icons.js +49 -0
  12. package/public/icons/claude-ai-icon.svg +1 -0
  13. package/public/icons/codex-white.svg +3 -0
  14. package/public/icons/codex.svg +3 -0
  15. package/public/icons/cursor-white.svg +12 -0
  16. package/public/icons/cursor.svg +1 -0
  17. package/public/icons/generate-icons.md +19 -0
  18. package/public/icons/icon-128x128.png +0 -0
  19. package/public/icons/icon-128x128.svg +12 -0
  20. package/public/icons/icon-144x144.png +0 -0
  21. package/public/icons/icon-144x144.svg +12 -0
  22. package/public/icons/icon-152x152.png +0 -0
  23. package/public/icons/icon-152x152.svg +12 -0
  24. package/public/icons/icon-192x192.png +0 -0
  25. package/public/icons/icon-192x192.svg +12 -0
  26. package/public/icons/icon-384x384.png +0 -0
  27. package/public/icons/icon-384x384.svg +12 -0
  28. package/public/icons/icon-512x512.png +0 -0
  29. package/public/icons/icon-512x512.svg +12 -0
  30. package/public/icons/icon-72x72.png +0 -0
  31. package/public/icons/icon-72x72.svg +12 -0
  32. package/public/icons/icon-96x96.png +0 -0
  33. package/public/icons/icon-96x96.svg +12 -0
  34. package/public/icons/icon-template.svg +12 -0
  35. package/public/logo-128.png +0 -0
  36. package/public/logo-256.png +0 -0
  37. package/public/logo-32.png +0 -0
  38. package/public/logo-512.png +0 -0
  39. package/public/logo-64.png +0 -0
  40. package/public/logo.svg +17 -0
  41. package/public/manifest.json +61 -0
  42. package/public/screenshots/cli-selection.png +0 -0
  43. package/public/screenshots/desktop-main.png +0 -0
  44. package/public/screenshots/mobile-chat.png +0 -0
  45. package/public/screenshots/tools-modal.png +0 -0
  46. package/public/sw.js +131 -0
  47. package/server/external-session-detector.js +188 -48
  48. package/server/index.js +141 -1
  49. package/dist/assets/index-r43D8sh4.css +0 -32
package/dist/index.html CHANGED
@@ -25,11 +25,11 @@
25
25
 
26
26
  <!-- Prevent zoom on iOS -->
27
27
  <meta name="format-detection" content="telephone=no" />
28
- <script type="module" crossorigin src="/assets/index-DqxzEd_8.js"></script>
28
+ <script type="module" crossorigin src="/assets/index-sqmQ9jF8.js"></script>
29
29
  <link rel="modulepreload" crossorigin href="/assets/vendor-react-DcyRfQm3.js">
30
30
  <link rel="modulepreload" crossorigin href="/assets/vendor-codemirror-CJLzwpLB.js">
31
31
  <link rel="modulepreload" crossorigin href="/assets/vendor-xterm-DfaPXD3y.js">
32
- <link rel="stylesheet" crossorigin href="/assets/index-r43D8sh4.css">
32
+ <link rel="stylesheet" crossorigin href="/assets/index-BGneYLVE.css">
33
33
  </head>
34
34
  <body>
35
35
  <div id="root"></div>
package/dist/sw.js CHANGED
@@ -1,7 +1,7 @@
1
1
  // Service Worker for Claude Code UI PWA
2
2
  // Supports both direct access and orchestrator proxy access via proxyBase parameter
3
3
 
4
- const CACHE_NAME = "claude-ui-v1";
4
+ const CACHE_NAME = "claude-ui-v2";
5
5
 
6
6
  // Extract proxyBase from the service worker URL query string
7
7
  // e.g., sw.js?proxyBase=/clients/badal-laptop/proxy
@@ -63,6 +63,30 @@ self.addEventListener("fetch", (event) => {
63
63
  const request = event.request;
64
64
  const normalizedUrl = normalizeUrl(request.url);
65
65
 
66
+ // Use network-first for manifest.json to ensure fresh content
67
+ if (
68
+ normalizedUrl.endsWith("/manifest.json") ||
69
+ normalizedUrl === "manifest.json"
70
+ ) {
71
+ try {
72
+ const networkResponse = await fetch(request);
73
+ // Only cache successful responses
74
+ if (networkResponse.ok) {
75
+ const cache = await caches.open(CACHE_NAME);
76
+ cache.put(request, networkResponse.clone());
77
+ }
78
+ return networkResponse;
79
+ } catch {
80
+ // Fall back to cache if network fails
81
+ const cache = await caches.open(CACHE_NAME);
82
+ const cachedResponse = await cache.match(request);
83
+ if (cachedResponse) {
84
+ return cachedResponse;
85
+ }
86
+ throw new Error("manifest.json not available");
87
+ }
88
+ }
89
+
66
90
  // Try to find a cached response using the normalized URL
67
91
  const cache = await caches.open(CACHE_NAME);
68
92
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@epiphytic/claudecodeui",
3
- "version": "1.2.0",
3
+ "version": "1.2.1",
4
4
  "description": "A web-based UI for Claude Code CLI",
5
5
  "type": "module",
6
6
  "main": "server/index.js",
@@ -12,6 +12,7 @@
12
12
  "server/",
13
13
  "shared/",
14
14
  "dist/",
15
+ "public/",
15
16
  "README.md"
16
17
  ],
17
18
  "homepage": "https://claudecodeui.siteboon.ai",