Repository navigation
fix(ui): remove the dashed border from the knowledge base empty state - #58
Merged
Merged
Conversation
The Empty primitive draws a dashed rounded border. In the narrow knowledge base panel that outline reads as visual noise around an otherwise empty area, so the two knowledge-base empty states now opt out with border-none. The shared primitive and its documented dashed hairline are unchanged, so the home empty state keeps it.
This was referenced Sep 24, 2026
mrsibe
added a commit
that referenced
this pull request
Sep 24, 2026
…ents (#85) `impeccable doctor` reports one finding (`design-md-coverage`), but reading DESIGN.md against the code turns up several places where the document describes something the code does not do. Those are corrected here; none of them changes a rendered pixel. Wrong about existing code: - The Form field recipe said the label is `text-xs` and the control `h-8`. `Label` / `FieldLabel` are `text-sm font-medium`, `Input` and the `Select` trigger are `h-9`, and the density table already said `h-9` — the recipe was contradicting both the components and the table. Error text was documented as `text-xs`; `FieldError` is `text-sm`. - The recipe described a hand-rolled label/input/error stack and never mentioned `components/ui/field.tsx`, which is what the settings surfaces actually use. The primitives are now named, including the `role="alert"` wiring `FieldError` already provides. Missing values the code already uses: - The title-bar density tier (28px tabs and icon buttons in a 44px bar) was undocumented, which made `TopNavigationBar` look like it was violating the `size-8` toolbar-icon-button rule instead of being a deliberate tier. - `Tabs` was documented as having exactly one form, the segmented control. The open-notebook strip in the title bar is a second form, and it expresses selection with the translucent fill rather than a surface step. - The `border-none` opt-out that #58 added to the panel-level empty states was not recorded, so the next reader would reintroduce the dashed outline there. Also: the legacy-alias list was incomplete, and it implied `--secondary` was one of those aliases. It is not — it holds its own literals, nothing renders it (`Button` and `Badge` `variant="secondary"` use `bg-muted`), and its light value is the only blue-tinted neutral in the palette. DESIGN.md now says so and marks it for deletion rather than adoption.
15 tasks done
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What does this PR do?
Removes the dashed rounded border around the two empty states in the knowledge base panel (no documents / no embedding model configured).
Why?
The shared
Emptyprimitive renders aborder-dashedhairline. In the narrow knowledge base panel that outline is visual noise around an otherwise empty area, and it was called out as unwanted. The two knowledge-base empty states now opt out of it.Scope is intentionally limited to the knowledge base: the
Emptyprimitive still carries its dashed hairline (as documented inDESIGN.md), so the home page empty state is unchanged. Making this global instead is a one-line change inempty.tsxif preferred.What changed?
DocumentList.tsx: passclassName="border-none"to bothEmptyusages sotailwind-mergedrops the dashed border.How was this tested?
npm run typecheck— passesnpm test— 49/49 passnpm run check:design— no violationsnpx eslint src/renderer/src/components/notebook/source/DocumentList.tsx— cleanNot verified: visual check in the running app (no screenshot captured). The change only removes a border style from the existing empty-state box.
Screenshots / recordings
Not captured. The change removes the dashed outline from the knowledge base empty state; content and layout are unchanged.
Checklist
npm run typecheckpasses.npm run buildpasses. (not run; renderer-only class change)DESIGN.mddescribes the shared primitive, which is untouched)