@yemi33/minions 0.1.440 → 0.1.442

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 CHANGED
@@ -1,8 +1,14 @@
1
1
  # Changelog
2
2
 
3
- ## 0.1.440 (2026-04-06)
3
+ ## 0.1.442 (2026-04-06)
4
+
5
+ ### Features
6
+ - notification dot on Notes & KB sidebar when sweep completes/fails
7
+
8
+ ## 0.1.441 (2026-04-06)
4
9
 
5
10
  ### Fixes
11
+ - auto-reload page when dashboard restarts
6
12
  - safeFetch compat — drop AbortSignal.any, avoid opts mutation
7
13
 
8
14
  ## 0.1.439 (2026-04-06)
@@ -93,9 +93,18 @@ function _processStatusUpdate(data) {
93
93
  } catch { /* expected on first load */ }
94
94
  }
95
95
 
96
+ let _knownDashboardStartId = null;
96
97
  async function refresh() {
97
98
  try {
98
99
  const data = await safeFetch('/api/status').then(r => r.json());
100
+ // Auto-reload when dashboard restarts (stale connections cause "Failed to fetch" on CC/doc-chat)
101
+ const dashId = (data.version && data.version.dashboardStartedAt) || null;
102
+ if (dashId && _knownDashboardStartId && dashId !== _knownDashboardStartId) {
103
+ console.log('Dashboard restarted — reloading page');
104
+ location.reload();
105
+ return;
106
+ }
107
+ if (dashId) _knownDashboardStartId = dashId;
99
108
  _processStatusUpdate(data);
100
109
  } catch(e) { console.error('refresh error', e); }
101
110
  }
@@ -131,10 +131,17 @@ async function kbSweep() {
131
131
  btn.textContent = 'failed';
132
132
  showToast('cmd-toast', 'Sweep failed: ' + (data.error || 'unknown'), false);
133
133
  }
134
+ // Show notification on sidebar if user is on a different page
135
+ var kbLink = document.querySelector('.sidebar-link[data-page="inbox"]');
136
+ var activePage = document.querySelector('.sidebar-link.active')?.getAttribute('data-page');
137
+ if (kbLink && activePage !== 'inbox') showNotifBadge(kbLink, data.ok ? 'done' : 'done');
134
138
  } catch (e) {
135
139
  btn.style.color = 'var(--red)';
136
140
  btn.textContent = 'failed';
137
141
  showToast('cmd-toast', 'Sweep error: ' + e.message, false);
142
+ var kbLink2 = document.querySelector('.sidebar-link[data-page="inbox"]');
143
+ var activePage2 = document.querySelector('.sidebar-link.active')?.getAttribute('data-page');
144
+ if (kbLink2 && activePage2 !== 'inbox') showNotifBadge(kbLink2);
138
145
  }
139
146
  const isError = btn.textContent === 'failed';
140
147
  setTimeout(() => { btn.textContent = origText; btn.style.color = 'var(--muted)'; btn.disabled = false; }, isError ? 60000 : 3000);
package/dashboard.js CHANGED
@@ -337,6 +337,7 @@ function getStatus() {
337
337
  runningCommit: engine.codeCommit || null,
338
338
  dashboardRunning: _dashboardVersion.codeVersion,
339
339
  dashboardRunningCommit: _dashboardVersion.codeCommit,
340
+ dashboardStartedAt: _dashboardVersion.startedAt,
340
341
  disk: diskVersion,
341
342
  diskCommit,
342
343
  engineStale,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@yemi33/minions",
3
- "version": "0.1.440",
3
+ "version": "0.1.442",
4
4
  "description": "Multi-agent AI dev team that runs from ~/.minions/ — five autonomous agents share a single engine, dashboard, and knowledge base",
5
5
  "bin": {
6
6
  "minions": "bin/minions.js"