@yemi33/minions 0.1.855 → 0.1.857
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 +3 -1
- package/dashboard/js/render-pipelines.js +7 -5
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
-
## 0.1.
|
|
3
|
+
## 0.1.857 (2026-04-11)
|
|
4
4
|
|
|
5
5
|
### Fixes
|
|
6
|
+
- pipeline modal refresh was silently broken — API returns array not object
|
|
7
|
+
- pipeline modal now auto-updates on all action buttons
|
|
6
8
|
- pipeline modal buttons stuck on loading state after success
|
|
7
9
|
|
|
8
10
|
## 0.1.854 (2026-04-11)
|
|
@@ -411,10 +411,11 @@ function openPipelineDetail(id) {
|
|
|
411
411
|
}
|
|
412
412
|
fetch('/api/pipelines').then(function(r) { return r.json(); }).then(function(d) {
|
|
413
413
|
if (_pipelinePollId !== id) return;
|
|
414
|
-
var
|
|
414
|
+
var list = Array.isArray(d) ? d : (d.pipelines || []);
|
|
415
|
+
var fresh = list.find(function(x) { return x.id === id; });
|
|
415
416
|
if (fresh) {
|
|
416
417
|
// Only re-render if data changed
|
|
417
|
-
var newHash = JSON.stringify(fresh.runs || []);
|
|
418
|
+
var newHash = JSON.stringify({ runs: fresh.runs || [], enabled: fresh.enabled, _stoppedBy: fresh._stoppedBy, _stopReason: fresh._stopReason });
|
|
418
419
|
if (newHash !== _pipelinePollHash) {
|
|
419
420
|
_pipelinePollHash = newHash;
|
|
420
421
|
_pipelinesData = _pipelinesData.map(function(x) { return x.id === id ? fresh : x; });
|
|
@@ -435,10 +436,11 @@ async function _refreshPipelineDetail(id) {
|
|
|
435
436
|
try {
|
|
436
437
|
var res = await fetch('/api/pipelines');
|
|
437
438
|
var d = await res.json();
|
|
438
|
-
var
|
|
439
|
+
var list = Array.isArray(d) ? d : (d.pipelines || []);
|
|
440
|
+
var fresh = list.find(function(x) { return x.id === id; });
|
|
439
441
|
if (fresh) {
|
|
440
442
|
_pipelinesData = _pipelinesData.map(function(x) { return x.id === id ? fresh : x; });
|
|
441
|
-
_pipelinePollHash = JSON.stringify(fresh.runs || []);
|
|
443
|
+
_pipelinePollHash = JSON.stringify({ runs: fresh.runs || [], enabled: fresh.enabled, _stoppedBy: fresh._stoppedBy, _stopReason: fresh._stopReason });
|
|
442
444
|
openPipelineDetail(id);
|
|
443
445
|
}
|
|
444
446
|
} catch (e) { /* silent — next poll will catch up */ }
|
|
@@ -487,7 +489,7 @@ async function _togglePipelineEnabled(id, enabled, btn) {
|
|
|
487
489
|
showToast('cmd-toast', enabled ? 'Pipeline enabled' : 'Pipeline disabled', true);
|
|
488
490
|
try {
|
|
489
491
|
var res = await fetch('/api/pipelines/update', { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify({ id: id, enabled: enabled }) });
|
|
490
|
-
if (res.ok) { refresh(); }
|
|
492
|
+
if (res.ok) { refresh(); await _refreshPipelineDetail(id); }
|
|
491
493
|
else { showToast('cmd-toast', 'Failed to ' + (enabled ? 'enable' : 'disable') + ' pipeline', false); }
|
|
492
494
|
} catch (e) { showToast('cmd-toast', 'Error: ' + e.message, false); }
|
|
493
495
|
if (btn) { btn.textContent = enabled ? 'Disable' : 'Enable'; btn.style.pointerEvents = ''; }
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@yemi33/minions",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.857",
|
|
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"
|