@yemi33/minions 0.1.1763 → 0.1.1764

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,5 +1,10 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.1.1764 (2026-05-07)
4
+
5
+ ### Other
6
+ - Speed up meetings pagination
7
+
3
8
  ## 0.1.1762 (2026-05-07)
4
9
 
5
10
  ### Fixes
@@ -4,15 +4,19 @@ let _showArchived = false;
4
4
  const MTG_PER_PAGE = 10;
5
5
  let _mtgPage = 0;
6
6
  let _lastMeetingHash = '';
7
+ let _lastMeetingsForPaging = [];
8
+ let _mtgTotalPages = 1;
7
9
 
8
10
  function renderMeetings(meetings) {
9
11
  meetings = (meetings || []).filter(function(m) { return !isDeleted('mtg:' + m.id); });
10
12
  meetings.sort((a, b) => (b.createdAt || b.completedAt || '').localeCompare(a.createdAt || a.completedAt || ''));
13
+ _lastMeetingsForPaging = meetings;
11
14
  const el = document.getElementById('meetings-content');
12
15
  const countEl = document.getElementById('meetings-count');
13
16
  if (!meetings || meetings.length === 0) {
14
17
  countEl.textContent = '0';
15
18
  el.innerHTML = '<p class="empty">No meetings yet. Start one to have agents investigate, debate, and conclude on a topic.</p>';
19
+ _mtgTotalPages = 1;
16
20
  return;
17
21
  }
18
22
 
@@ -27,10 +31,12 @@ function renderMeetings(meetings) {
27
31
  if (visible.length === 0) {
28
32
  el.innerHTML = '<p class="empty">No active meetings.</p>';
29
33
  if (archived.length) el.insertAdjacentHTML('beforeend', '<div style="text-align:center;margin-top:8px"><button class="pr-pager-btn" style="font-size:10px" onclick="_toggleArchivedMeetings()">Show ' + archived.length + ' archived</button></div>');
34
+ _mtgTotalPages = 1;
30
35
  return;
31
36
  }
32
37
 
33
38
  const totalPages = Math.ceil(visible.length / MTG_PER_PAGE);
39
+ _mtgTotalPages = totalPages;
34
40
  if (_mtgPage >= totalPages) _mtgPage = totalPages - 1;
35
41
  const start = _mtgPage * MTG_PER_PAGE;
36
42
  const pageItems = visible.slice(start, start + MTG_PER_PAGE);
@@ -81,13 +87,26 @@ function renderMeetings(meetings) {
81
87
  restoreNotifBadges();
82
88
  }
83
89
 
84
- function _mtgPrev() { if (_mtgPage > 0) { _mtgPage--; refresh(); } }
85
- function _mtgNext() { _mtgPage++; refresh(); }
90
+ function _rerenderMeetingPageFromCache() {
91
+ renderMeetings(_lastMeetingsForPaging || []);
92
+ }
93
+ function _mtgPrev() {
94
+ if (_mtgPage > 0) {
95
+ _mtgPage--;
96
+ _rerenderMeetingPageFromCache();
97
+ }
98
+ }
99
+ function _mtgNext() {
100
+ if (_mtgPage < _mtgTotalPages - 1) {
101
+ _mtgPage++;
102
+ _rerenderMeetingPageFromCache();
103
+ }
104
+ }
86
105
 
87
106
  function _toggleArchivedMeetings() {
88
107
  _showArchived = !_showArchived;
89
108
  _mtgPage = 0;
90
- refresh();
109
+ _rerenderMeetingPageFromCache();
91
110
  }
92
111
 
93
112
  let _meetingPollInterval = null;
@@ -1,5 +1,5 @@
1
1
  {
2
2
  "runtime": "copilot",
3
3
  "models": null,
4
- "cachedAt": "2026-05-07T01:02:34.683Z"
4
+ "cachedAt": "2026-05-07T01:23:41.823Z"
5
5
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@yemi33/minions",
3
- "version": "0.1.1763",
3
+ "version": "0.1.1764",
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"