@silicaclaw/cli 2026.3.19-13 → 2026.3.19-14
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/CHANGELOG.md +6 -0
- package/VERSION +1 -1
- package/apps/local-console/public/app/app.js +2 -0
- package/apps/local-console/public/app/events.js +2 -0
- package/apps/local-console/public/app/overview.js +1 -1
- package/apps/local-console/public/app/shell.js +18 -34
- package/openclaw-skills/silicaclaw-broadcast/VERSION +1 -1
- package/openclaw-skills/silicaclaw-broadcast/manifest.json +1 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
package/VERSION
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
v2026.3.19-
|
|
1
|
+
v2026.3.19-14
|
|
@@ -268,6 +268,7 @@ root.innerHTML = appTemplate;
|
|
|
268
268
|
const shell = createShellController({ resolveThemeMode, t });
|
|
269
269
|
const {
|
|
270
270
|
applyTheme,
|
|
271
|
+
clearUiCache,
|
|
271
272
|
flashButton,
|
|
272
273
|
hydrateCachedShell,
|
|
273
274
|
peerStatusText,
|
|
@@ -438,6 +439,7 @@ root.innerHTML = appTemplate;
|
|
|
438
439
|
parseCsv,
|
|
439
440
|
profileController,
|
|
440
441
|
pulseOverviewBroadcastStep,
|
|
442
|
+
clearUiCache,
|
|
441
443
|
refreshAll,
|
|
442
444
|
refreshLogs,
|
|
443
445
|
refreshMessages,
|
|
@@ -7,6 +7,7 @@ export function bindAppEvents({
|
|
|
7
7
|
parseCsv,
|
|
8
8
|
profileController,
|
|
9
9
|
pulseOverviewBroadcastStep,
|
|
10
|
+
clearUiCache,
|
|
10
11
|
refreshAll,
|
|
11
12
|
refreshLogs,
|
|
12
13
|
refreshMessages,
|
|
@@ -223,6 +224,7 @@ export function bindAppEvents({
|
|
|
223
224
|
document.getElementById("clearDiscoveryCacheBtn").addEventListener("click", async () => {
|
|
224
225
|
try {
|
|
225
226
|
await api("/api/cache/clear", { method: "POST" });
|
|
227
|
+
clearUiCache(["silicaclaw_ui_overview", "silicaclaw_ui_network", "silicaclaw_ui_social"]);
|
|
226
228
|
setFeedback("networkFeedback", t("feedback.discoveryCacheCleared"));
|
|
227
229
|
toast(t("feedback.discoveryCacheCleared"));
|
|
228
230
|
setAgentsPage(1);
|
|
@@ -143,6 +143,7 @@ export function createOverviewController({
|
|
|
143
143
|
</div>
|
|
144
144
|
`;
|
|
145
145
|
document.getElementById("snapshot").innerHTML = snapshotHtml;
|
|
146
|
+
const networkDiag = networkStats.adapter_diagnostics_summary || {};
|
|
146
147
|
const heroModeText = o.social?.network_mode || "-";
|
|
147
148
|
const heroAdapterText = networkCfg.adapter || "-";
|
|
148
149
|
const heroRelayText = String(networkDiag.signaling_url || networkCfg.adapter_extra?.signaling_url || "-");
|
|
@@ -166,7 +167,6 @@ export function createOverviewController({
|
|
|
166
167
|
const openclawDetected = !!bridge.openclaw_installation?.detected || openclawRunning || !!bridge.openclaw_runtime?.gateway_reachable;
|
|
167
168
|
const skillInstalled = !!bridge.skill_learning?.installed;
|
|
168
169
|
const globalMode = heroModeText === "global-preview";
|
|
169
|
-
const networkDiag = networkStats.adapter_diagnostics_summary || {};
|
|
170
170
|
const lastNetworkError = String(networkDiag.last_error || o.last_broadcast_error || "").trim();
|
|
171
171
|
const broadcastHealthy = o.broadcast_enabled && !lastNetworkError;
|
|
172
172
|
const roleKey = openclawRunning
|
|
@@ -1,4 +1,10 @@
|
|
|
1
1
|
export function createShellController({ t, resolveThemeMode }) {
|
|
2
|
+
const REALTIME_UI_CACHE_KEYS = [
|
|
3
|
+
"silicaclaw_ui_overview",
|
|
4
|
+
"silicaclaw_ui_network",
|
|
5
|
+
"silicaclaw_ui_social",
|
|
6
|
+
];
|
|
7
|
+
|
|
2
8
|
function peerStatusText(status) {
|
|
3
9
|
if (status === "online") return t("overview.online");
|
|
4
10
|
if (status === "offline") return t("overview.offline");
|
|
@@ -6,48 +12,25 @@ export function createShellController({ t, resolveThemeMode }) {
|
|
|
6
12
|
return status || "-";
|
|
7
13
|
}
|
|
8
14
|
|
|
9
|
-
function
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
return raw ? JSON.parse(raw) : null;
|
|
13
|
-
} catch {
|
|
14
|
-
return null;
|
|
15
|
-
}
|
|
15
|
+
function writeUiCache(key, value) {
|
|
16
|
+
void key;
|
|
17
|
+
void value;
|
|
16
18
|
}
|
|
17
19
|
|
|
18
|
-
function
|
|
20
|
+
function clearUiCache(keys) {
|
|
21
|
+
const values = Array.isArray(keys) ? keys : keys ? [keys] : REALTIME_UI_CACHE_KEYS;
|
|
19
22
|
try {
|
|
20
|
-
|
|
23
|
+
for (const key of values) {
|
|
24
|
+
if (!key) continue;
|
|
25
|
+
localStorage.removeItem(key);
|
|
26
|
+
}
|
|
21
27
|
} catch {
|
|
22
|
-
// ignore cache
|
|
28
|
+
// ignore cache removal failures
|
|
23
29
|
}
|
|
24
30
|
}
|
|
25
31
|
|
|
26
32
|
function hydrateCachedShell() {
|
|
27
|
-
|
|
28
|
-
if (overview) {
|
|
29
|
-
if (overview.overviewCardsHtml) document.getElementById("overviewCards").innerHTML = overview.overviewCardsHtml;
|
|
30
|
-
if (overview.snapshotText) document.getElementById("snapshot").innerHTML = overview.snapshotText;
|
|
31
|
-
if (overview.heroModeText) document.getElementById("heroMode").textContent = overview.heroModeText;
|
|
32
|
-
if (overview.pillBroadcastText) document.getElementById("pillBroadcast").textContent = overview.pillBroadcastText;
|
|
33
|
-
if (overview.pillBroadcastClassName) document.getElementById("pillBroadcast").className = overview.pillBroadcastClassName;
|
|
34
|
-
if (overview.agentsCountHintText) document.getElementById("agentsCountHint").textContent = overview.agentsCountHintText;
|
|
35
|
-
if (overview.agentsWrapHtml) document.getElementById("agentsWrap").innerHTML = overview.agentsWrapHtml;
|
|
36
|
-
}
|
|
37
|
-
const network = readUiCache("silicaclaw_ui_network");
|
|
38
|
-
if (network) {
|
|
39
|
-
if (network.heroAdapterText) document.getElementById("heroAdapter").textContent = network.heroAdapterText;
|
|
40
|
-
if (network.heroRelayText) document.getElementById("heroRelay").textContent = network.heroRelayText;
|
|
41
|
-
if (network.heroRoomText) document.getElementById("heroRoom").textContent = network.heroRoomText;
|
|
42
|
-
if (network.pillAdapterText) document.getElementById("pillAdapter").textContent = network.pillAdapterText;
|
|
43
|
-
}
|
|
44
|
-
const social = readUiCache("silicaclaw_ui_social");
|
|
45
|
-
if (social) {
|
|
46
|
-
if (social.integrationStatusText) document.getElementById("integrationStatusBar").textContent = social.integrationStatusText;
|
|
47
|
-
if (social.integrationStatusClassName) document.getElementById("integrationStatusBar").className = social.integrationStatusClassName;
|
|
48
|
-
if (social.socialStatusLineText) document.getElementById("socialStatusLine").textContent = social.socialStatusLineText;
|
|
49
|
-
if (social.socialStatusSublineText) document.getElementById("socialStatusSubline").textContent = social.socialStatusSublineText;
|
|
50
|
-
}
|
|
33
|
+
clearUiCache(REALTIME_UI_CACHE_KEYS);
|
|
51
34
|
}
|
|
52
35
|
|
|
53
36
|
function toast(msg) {
|
|
@@ -130,6 +113,7 @@ export function createShellController({ t, resolveThemeMode }) {
|
|
|
130
113
|
|
|
131
114
|
return {
|
|
132
115
|
applyTheme,
|
|
116
|
+
clearUiCache,
|
|
133
117
|
flashButton,
|
|
134
118
|
hydrateCachedShell,
|
|
135
119
|
peerStatusText,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
2026.3.19-
|
|
1
|
+
2026.3.19-14
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "silicaclaw-broadcast",
|
|
3
|
-
"version": "2026.3.19-
|
|
3
|
+
"version": "2026.3.19-14",
|
|
4
4
|
"display_name": "SilicaClaw Broadcast",
|
|
5
5
|
"description": "OpenClaw skill for reading SilicaClaw public broadcasts, publishing public broadcasts, and forwarding relevant updates to the owner through OpenClaw's native social channel.",
|
|
6
6
|
"entrypoints": {
|