- Add optional globalDir parameter to resolveProject(), getDefaultProject(), setDefaultProject(), and clearDefaultProject() for test isolation - Remove ESLint suppression by using void operator for intentionally unused var - Update all tests to use isolated globalDir parameter - Complete tests for default project resolution
3.4 KiB
Task: KB-239 - Fix inline-editor models selector rendering below card boundary
Created: 2026-03-31 Size: S
Review Level: 1 (Plan Only)
Assessment: CSS-only fix for dropdown z-index and overflow clipping. Well-understood problem with established pattern. Low risk, easily reversible. Score: 2/8 — Blast radius: 0, Pattern novelty: 0, Security: 0, Reversibility: 2
Mission
Fix the model selector dropdown in the inline editor (QuickEntryBox and InlineCreateCard components) that renders below the card boundary, causing it to be cut off and push the card layout to the side. The dropdown should render fully visible above all other UI elements without clipping.
Dependencies
- None
Context to Read First
-
packages/dashboard/app/styles.css— Review current CSS for:.inline-create-model-dropdown(line ~2303) - currently hasz-index: 50.model-combobox-dropdown(line ~4958) - hasz-index: 100.column(line ~396) - hasoverflow: hidden.column-body(line ~480) - hasoverflow-x: hidden; overflow-y: auto.dep-dropdown(line ~2230) - hasz-index: 200(reference for proper z-index).quick-entry-model-wrap(line ~8136) - already hasposition: relative
-
packages/dashboard/app/components/QuickEntryBox.tsx— Usesinline-create-model-dropdownclass for model selector panel -
packages/dashboard/app/components/InlineCreateCard.tsx— Same dropdown structure as QuickEntryBox -
packages/dashboard/app/components/CustomModelDropdown.tsx— The nested dropdown component withmodel-combobox-dropdownclass
File Scope
packages/dashboard/app/styles.css— Modify z-index value only
Steps
Step 1: Fix Dropdown z-index
- Increase
.inline-create-model-dropdownz-index from50to500(must be higher than.dep-dropdown's 200 to ensure proper stacking) - Verify
.inline-create-model-wraphasposition: relative(establishes positioning context) - Verify
.quick-entry-model-wraphasposition: relative(already exists at line ~8136)
Artifacts:
packages/dashboard/app/styles.css(modified)
Step 2: Testing & Verification
ZERO test failures allowed. Full test suite as quality gate.
- Run full test suite:
pnpm test - Verify all existing tests pass
- Build passes:
pnpm build - Manual verification: Model selector dropdown in QuickEntryBox renders without clipping
Step 3: Documentation & Delivery
- No documentation updates required (CSS fix only)
- Out-of-scope findings created as new tasks via
task_createtool if any
Completion Criteria
- All steps complete
- All tests passing
- Model selector dropdown in QuickEntryBox renders fully without clipping
- Model selector dropdown in InlineCreateCard renders fully without clipping
Git Commit Convention
Commits at step boundaries. All commits include the task ID:
- Step completion:
feat(KB-239): complete Step N — description - Bug fixes:
fix(KB-239): description - Tests:
test(KB-239): description
Do NOT
- Modify React component logic (this is a pure CSS fix)
- Remove overflow properties from
.columnor.column-body(would break layout) - Use
position: fixedwith JavaScript calculations (overkill for this issue) - Add new dependencies
- Skip tests
- Expand task scope beyond the dropdown clipping issue