@bakapiano/ccsm 0.10.1 → 0.10.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.
- package/package.json +1 -1
- package/public/css/tokens.css +3 -3
- package/public/js/main.js +14 -6
- package/public/manifest.webmanifest +1 -0
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@bakapiano/ccsm",
|
|
3
|
-
"version": "0.10.
|
|
3
|
+
"version": "0.10.2",
|
|
4
4
|
"description": "Claude Code Session Manager — Windows web UI to manage many concurrent claude sessions: live list, snapshot/restore, focus existing window, new session in an isolated workspace with repo clones",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"main": "server.js",
|
package/public/css/tokens.css
CHANGED
|
@@ -28,9 +28,9 @@
|
|
|
28
28
|
--ink-muted: #8a8475;
|
|
29
29
|
--ink-faint: #b5af9d;
|
|
30
30
|
|
|
31
|
-
/* Accent —
|
|
32
|
-
|
|
33
|
-
|
|
31
|
+
/* Accent — Ocean blue. Calm and content-first. Users can override via
|
|
32
|
+
the Theme accent picker in Settings; that flow rewrites these vars
|
|
33
|
+
at runtime (state.js · applyAccentCssVars). */
|
|
34
34
|
--accent: #2f6fa3;
|
|
35
35
|
--accent-deep: #25577f;
|
|
36
36
|
--accent-soft: rgba(47, 111, 163, 0.10);
|
package/public/js/main.js
CHANGED
|
@@ -3,24 +3,32 @@
|
|
|
3
3
|
// the mount root.
|
|
4
4
|
|
|
5
5
|
import { render } from 'preact';
|
|
6
|
+
import { effect } from '@preact/signals';
|
|
6
7
|
import { html } from './html.js';
|
|
7
|
-
import { loadPersisted, clockTick, lastRefreshAt, installPrompt, isInstalledPwa, sidebarForcedCollapsed } from './state.js';
|
|
8
|
+
import { loadPersisted, clockTick, lastRefreshAt, installPrompt, isInstalledPwa, sidebarForcedCollapsed, serverHealth } from './state.js';
|
|
8
9
|
import { httpBase } from './backend.js';
|
|
9
10
|
import { loadConfig, refreshAll, loadSessions, loadFolders, loadWorkspaces, pollHealth } from './api.js';
|
|
10
11
|
import { setToast } from './toast.js';
|
|
11
12
|
import { App } from './components/App.js';
|
|
12
13
|
|
|
13
14
|
loadPersisted();
|
|
14
|
-
//
|
|
15
|
-
//
|
|
16
|
-
//
|
|
17
|
-
//
|
|
18
|
-
|
|
15
|
+
// Window/tab title tracks the live backend version — "CCSM v0.10.1" once
|
|
16
|
+
// /api/health responds, "CCSM" before then. A MutationObserver guards
|
|
17
|
+
// against Chromium standalone builds that occasionally try to inject the
|
|
18
|
+
// URL into the title bar; it accepts any "CCSM..." string we set and
|
|
19
|
+
// resets anything else.
|
|
20
|
+
function desiredTitle() {
|
|
21
|
+
const v = serverHealth.value.version;
|
|
22
|
+
return v ? `CCSM v${v}` : 'CCSM';
|
|
23
|
+
}
|
|
24
|
+
let expected = desiredTitle();
|
|
25
|
+
function lockTitle() { if (document.title !== expected) document.title = expected; }
|
|
19
26
|
lockTitle();
|
|
20
27
|
new MutationObserver(lockTitle).observe(
|
|
21
28
|
document.querySelector('title') || document.head,
|
|
22
29
|
{ childList: true, subtree: true, characterData: true }
|
|
23
30
|
);
|
|
31
|
+
effect(() => { expected = desiredTitle(); lockTitle(); });
|
|
24
32
|
render(html`<${App} />`, document.getElementById('app'));
|
|
25
33
|
|
|
26
34
|
// PWA install affordance — Chromium fires `beforeinstallprompt` when the
|