agentgui 1.0.888 → 1.0.890

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,3 +1,9 @@
1
+ ## [Unreleased] - visible prompt controls + viewport-safe overflow menu
2
+
3
+ - brand-bible.css: chip selects (agent/model dropdowns) now use `--panel-3` background so they contrast against the `--panel-1` card; pill border-radius preserved with `!important` override of the `* { border-radius:0 }` reset
4
+ - brand-bible.css: sidebar-overflow-menu gets `max-height: calc(100dvh - 80px)` to prevent off-screen overflow
5
+ - app.js: overflow menu detects bottom-of-screen clip on open and flips to `bottom: 100%` when needed
6
+
1
7
  ## [Unreleased] - Clear All now soft-deletes conv rows to suppress auto-import
2
8
 
3
9
  - `deleteAllConversations` was hard-deleting rows from the conversations table. Auto-import's skip check relies on `existingConv.status === 'deleted'` — after hard delete, existingConv is null, so the JSONL scanner re-imports everything the next poll. Visible symptom: Clear All appears to work, then the same conversations reappear.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "agentgui",
3
- "version": "1.0.888",
3
+ "version": "1.0.890",
4
4
  "description": "Multi-agent ACP client with real-time communication",
5
5
  "type": "module",
6
6
  "main": "electron/main.js",
package/static/app.js CHANGED
@@ -190,10 +190,21 @@ const BASE_URL = window.__BASE_URL || '';
190
190
  const btn = document.getElementById('sidebarOverflowBtn');
191
191
  const menu = document.getElementById('sidebarOverflowMenu');
192
192
  if (!btn || !menu) return;
193
- const close = () => menu.classList.remove('open');
193
+ const close = () => { menu.classList.remove('open'); menu.style.top = menu.style.bottom = ''; };
194
+ const open = () => {
195
+ menu.classList.add('open');
196
+ const rect = menu.getBoundingClientRect();
197
+ if (rect.bottom > window.innerHeight - 8) {
198
+ menu.style.top = 'auto';
199
+ menu.style.bottom = '100%';
200
+ } else {
201
+ menu.style.top = '';
202
+ menu.style.bottom = '';
203
+ }
204
+ };
194
205
  btn.addEventListener('click', (e) => {
195
206
  e.stopPropagation();
196
- menu.classList.toggle('open');
207
+ menu.classList.contains('open') ? close() : open();
197
208
  });
198
209
  document.addEventListener('click', (e) => {
199
210
  if (!menu.contains(e.target) && e.target !== btn) close();
@@ -447,4 +447,22 @@ code {
447
447
  :focus-visible {
448
448
  outline: 2px solid var(--panel-accent) !important;
449
449
  outline-offset: 2px;
450
+ }
451
+
452
+ /* Chip selects — use panel-3 so they contrast against the panel-1 card bg */
453
+ .input-chip-select {
454
+ background: var(--panel-3) !important;
455
+ border: 1px solid var(--color-border) !important;
456
+ color: var(--color-text-primary) !important;
457
+ border-radius: var(--r-pill) !important;
458
+ }
459
+ .input-chip-select:hover {
460
+ border-color: var(--panel-accent) !important;
461
+ background: var(--panel-select) !important;
462
+ }
463
+
464
+ /* Viewport-safe dropdown menu — max-height prevents off-screen overflow; JS flips top/bottom */
465
+ .sidebar-overflow-menu {
466
+ max-height: calc(100dvh - 80px);
467
+ overflow-y: auto;
450
468
  }