@yemi33/minions 0.1.404 → 0.1.406

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,10 @@
1
1
  # Changelog
2
2
 
3
- ## 0.1.404 (2026-04-06)
3
+ ## 0.1.406 (2026-04-06)
4
4
 
5
5
  ### Fixes
6
+ - re-check npm registry every 4 hours via setInterval
7
+ - PR delete is optimistic — row removed immediately, reverted on failure
6
8
  - PR delete searches all project files, not just the first project
7
9
 
8
10
  ## 0.1.403 (2026-04-06)
@@ -39,6 +39,7 @@ function prTableHtml(rows) {
39
39
  }
40
40
 
41
41
  function renderPrs(prs) {
42
+ prs = prs.filter(p => !isDeleted('pr:' + p.id));
42
43
  allPrs = prs;
43
44
  const el = document.getElementById('pr-content');
44
45
  const count = document.getElementById('pr-count');
@@ -153,15 +154,18 @@ async function _submitLinkPr() {
153
154
 
154
155
  async function unlinkPr(id) {
155
156
  if (!confirm('Remove ' + id + ' from tracking?')) return;
157
+ // Optimistic: remove row immediately
158
+ markDeleted('pr:' + id);
159
+ const row = document.querySelector('[data-pr-id="' + id + '"]')?.closest('tr');
160
+ if (row) row.remove();
161
+ showToast('cmd-toast', id + ' removed', true);
156
162
  try {
157
163
  const res = await fetch('/api/pull-requests/delete', {
158
164
  method: 'POST', headers: { 'Content-Type': 'application/json' },
159
165
  body: JSON.stringify({ id })
160
166
  });
161
- if (!res.ok) { const d = await res.json().catch(() => ({})); alert('Failed: ' + (d.error || 'unknown')); return; }
162
- showToast('cmd-toast', id + ' removed', true);
163
- refresh();
164
- } catch (e) { alert('Error: ' + e.message); }
167
+ if (!res.ok) { _deletedIds.delete('pr:' + id); const d = await res.json().catch(() => ({})); alert('Failed: ' + (d.error || 'unknown')); refresh(); return; }
168
+ } catch (e) { _deletedIds.delete('pr:' + id); alert('Error: ' + e.message); refresh(); }
165
169
  }
166
170
 
167
171
  window.MinionsPrs = { prRow, prTableHtml, renderPrs, prPrev, prNext, openAllPrs, openModal, openAddPrModal, unlinkPr };
package/dashboard.js CHANGED
@@ -208,8 +208,9 @@ function _compareVersions(a, b) {
208
208
  return 0;
209
209
  }
210
210
 
211
- // Kick off first npm check on startup (non-blocking)
211
+ // Kick off first npm check on startup, then re-check every 4 hours
212
212
  checkNpmVersion().catch(() => {});
213
+ setInterval(() => checkNpmVersion().catch(() => {}), NPM_CHECK_INTERVAL);
213
214
 
214
215
  // Cache disk version + git commit (only changes on deploy/pull, not per-request)
215
216
  let _diskVersionCache = null;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@yemi33/minions",
3
- "version": "0.1.404",
3
+ "version": "0.1.406",
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"