fix(settings): prevent project-level global keys from overriding global settings

getSettingsFast() and getSettings() spread project-level settings over
global settings without filtering by scope. A stale project-level
experimentalFeatures: {} in SQLite would override the global
experimentalFeatures: { insights: true, ... }, making all experimental
features invisible in the dashboard.

Now both methods strip global-only keys from project settings before
the merge, matching the behavior of getSettingsByScopeFast().

Also adds max-height and overflow-y to the overflow dropdown menu.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
Timothy Laurent
2026-05-06 15:49:29 -07:00
parent c2b01ffab1
commit 97b3727a3a
3 changed files with 38 additions and 2 deletions

View File

@@ -702,6 +702,8 @@
border-radius: var(--radius-md);
box-shadow: var(--shadow-lg);
min-width: 140px;
max-height: min(400px, 70vh);
overflow-y: auto;
z-index: 200;
padding: var(--space-xs) 0;
}