@yemi33/minions 0.1.435 → 0.1.437
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,6 +1,6 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
-
## 0.1.
|
|
3
|
+
## 0.1.437 (2026-04-06)
|
|
4
4
|
|
|
5
5
|
### Features
|
|
6
6
|
- version check interval on settings page
|
|
@@ -11,6 +11,9 @@
|
|
|
11
11
|
- Convert remaining lifecycle.js safeWrite calls to mutateJsonFileLocked
|
|
12
12
|
|
|
13
13
|
### Fixes
|
|
14
|
+
- agent detail fetch error shows retry and close buttons
|
|
15
|
+
- New Session fully resets command center state
|
|
16
|
+
- show processing dots on note card during active doc-chat
|
|
14
17
|
- prevent triple dispatch on same PR — 3 root causes
|
|
15
18
|
- don't show 'update available' when running from git repo
|
|
16
19
|
- CC network error shows helpful message + New Session button
|
|
@@ -35,6 +35,11 @@ function toggleCommandCenter() {
|
|
|
35
35
|
|
|
36
36
|
function ccNewSession() {
|
|
37
37
|
fetch('/api/command-center/new-session', { method: 'POST' }).catch(() => {});
|
|
38
|
+
// Abort any in-flight request
|
|
39
|
+
ccAbort();
|
|
40
|
+
_ccSending = false;
|
|
41
|
+
_ccQueue = [];
|
|
42
|
+
try { localStorage.removeItem('cc-sending'); } catch {}
|
|
38
43
|
_ccSessionId = null;
|
|
39
44
|
_ccMessages = [];
|
|
40
45
|
localStorage.removeItem('cc-session-id');
|
package/dashboard/js/modal-qa.js
CHANGED
|
@@ -171,6 +171,10 @@ async function _processQaMessage(message, selection) {
|
|
|
171
171
|
const capturedFilePath = _modalFilePath;
|
|
172
172
|
const capturedDocContext = { ..._modalDocContext };
|
|
173
173
|
|
|
174
|
+
// Show processing badge on the source card
|
|
175
|
+
const sourceCard = findCardForFile(capturedFilePath);
|
|
176
|
+
if (sourceCard) showNotifBadge(sourceCard, 'processing');
|
|
177
|
+
|
|
174
178
|
const loadingId = 'chat-loading-' + Date.now();
|
|
175
179
|
const qaQueueBadge = _qaQueue.length > 0 ? ' <span style="font-size:9px;color:var(--muted);background:var(--surface);padding:1px 5px;border-radius:8px;border:1px solid var(--border)">+' + _qaQueue.length + ' queued</span>' : '';
|
|
176
180
|
_qaAbortController = new AbortController();
|
|
@@ -280,6 +284,12 @@ async function _processQaMessage(message, selection) {
|
|
|
280
284
|
_qaAbortController = null;
|
|
281
285
|
thread.scrollTop = thread.scrollHeight;
|
|
282
286
|
|
|
287
|
+
// Clear processing badge on source card (unless more messages queued)
|
|
288
|
+
if (_qaQueue.length === 0) {
|
|
289
|
+
const doneCard = findCardForFile(capturedFilePath);
|
|
290
|
+
if (doneCard) clearNotifBadge(doneCard);
|
|
291
|
+
}
|
|
292
|
+
|
|
283
293
|
// Save session (persists even if modal was closed during processing)
|
|
284
294
|
const modalIsOpen = document.getElementById('modal').classList.contains('open');
|
|
285
295
|
if (_qaSessionKey) {
|
|
@@ -296,7 +306,7 @@ async function _processQaMessage(message, selection) {
|
|
|
296
306
|
// Show notification badge on source card when modal was closed during processing
|
|
297
307
|
if (!modalIsOpen) {
|
|
298
308
|
const card = findCardForFile(sessionFilePath);
|
|
299
|
-
if (card) showNotifBadge(card);
|
|
309
|
+
if (card) showNotifBadge(card, _qaQueue.length > 0 ? 'processing' : 'done');
|
|
300
310
|
_qaSessionKey = '';
|
|
301
311
|
}
|
|
302
312
|
}
|
|
@@ -38,7 +38,12 @@ async function openAgentDetail(id) {
|
|
|
38
38
|
renderDetailTabs(detail);
|
|
39
39
|
renderDetailContent(detail, currentTab);
|
|
40
40
|
} catch(e) {
|
|
41
|
-
document.getElementById('detail-content').
|
|
41
|
+
document.getElementById('detail-content').innerHTML =
|
|
42
|
+
'<div style="padding:24px;text-align:center">' +
|
|
43
|
+
'<div style="color:var(--red);margin-bottom:12px">Error loading agent detail: ' + escHtml(e.message) + '</div>' +
|
|
44
|
+
'<button onclick="openAgentDetail(\'' + escHtml(id) + '\')" style="padding:6px 16px;background:var(--blue);color:#fff;border:none;border-radius:var(--radius-sm);cursor:pointer;font-size:12px">Retry</button>' +
|
|
45
|
+
' <button onclick="closeDetail()" style="padding:6px 16px;background:var(--surface2);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;font-size:12px;color:var(--text)">Close</button>' +
|
|
46
|
+
'</div>';
|
|
42
47
|
}
|
|
43
48
|
|
|
44
49
|
document.getElementById('detail-overlay').classList.add('open');
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@yemi33/minions",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.437",
|
|
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"
|