Add settings sidebar search and plugin settings polish #186
Labels
No labels
abandoned
active
audit
blocked
data-safety
difficulty:easy
difficulty:hard
difficulty:high
difficulty:medium
docs
done
duplicate
notebook-v0
open
priority:high
ready
release-critical
safe-mode
spec
spec-backlog
subsystem:api
subsystem:backlog
subsystem:bases
subsystem:ci
subsystem:command
subsystem:configuration
subsystem:consolidate
subsystem:dependencies
subsystem:desktop-electron
subsystem:diffmerge
subsystem:docker
subsystem:docs
subsystem:fuzzy
subsystem:graph
subsystem:hotkeys
subsystem:lapis
subsystem:maint
subsystem:maintenance
subsystem:markdown
subsystem:markdown-lint
subsystem:md018
subsystem:notebook
subsystem:notifications
subsystem:opfs
subsystem:package
subsystem:plugin-markdown
subsystem:plugin-tasks
subsystem:plugins
subsystem:registry
subsystem:release
subsystem:renovate
subsystem:restore
subsystem:scripts
subsystem:search
subsystem:settings
subsystem:spec
subsystem:tasks
subsystem:testing
subsystem:ui
subsystem:web
subsystem:workspace
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
lapis-notes/lapis#186
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Settings currently has no global search across schema-backed settings,
settings tabs, and plugin metadata. Plugin settings gear buttons also have
separate routing logic in the core and community plugin tabs, which can fail for
plugins that expose only declarative configuration. The inline plugin metadata
panels use nested scroll containers, making the settings pane harder to scan.
Problem
Users must manually browse the settings sidebar and plugin lists to find
settings, declarative plugin configuration, plugin diagnostics, or feature
metadata. Declarative-only plugin settings can show an Options affordance whose
target is not resolved consistently. Plugin Details/Features panels also create
scrollable containers inside the already scrollable settings dialog.
Goal
Add structured, command-palette-style search to Settings and make plugin
settings navigation reliable for both imperative
SettingTabplugins anddeclarative configuration plugins. Let the main settings pane own scrolling for
plugin metadata panels.
Scope
core/community plugin rows, plugin metadata, diagnostics/features, and
declarative configuration contribution text.
@lapis-notes/uifuzzy matcher and highlight matching textin grouped result cards shown in the main settings pane.
tabs, plugin list rows, or plugin declarative configuration sections.
Plugins.
Non-goals
Acceptance Criteria
settings pane with a fuzzy-ranked grouped result list.
title/path/excerpt text and navigate to the matched setting or plugin row.
plugin rows, plugin feature metadata, and declarative configuration
contributions are searchable through structured data.
present and declarative configuration categories otherwise.
nested panel scroll containers.
and safe highlighting.
Implementation Notes
packages/workspace/src/lib/components/configuration/for search indexing,navigation target resolution, and plugin settings resolution.
search results.
data-*attributes to plugin rows and searchable targets soPlaywright can assert navigation without depending on layout order.
Suggested Files or Specs To Inspect
packages/workspace/src/lib/components/configuration/configuration.sveltepackages/workspace/src/lib/components/configuration/configuration.tspackages/workspace/src/lib/components/configuration/core-plugins.tspackages/workspace/src/lib/components/configuration/community-plugins.tspackages/workspace/src/lib/components/configuration/plugin-extension-panel.sveltepackages/workspace/src/lib/components/configuration/plugin-extension-features.sveltepackages/workspace/e2e/core-plugin-settings.spec.tsspec/src/20-packages/workspace/index.mdspec/src/30-cross-package-contracts/configuration-and-settings.mdValidation Commands
pnpm --filter @lapis-notes/workspace exec vitest run src/lib/components/configurationpnpm --filter @lapis-notes/workspace test:e2e -- --grep "settings"pnpm --filter @lapis-notes/workspace check:allmake spec-lintmdbook build specpnpm test:smokeRelated Issues
Follow-up Tasks
Implementation Summary
Added structured settings search with right-pane grouped result cards, safe
text-node highlighting, schema/tab/plugin/plugin-feature indexing, shared
plugin settings target resolution, plugin row search targets, natural-height
plugin metadata panels, updated Playwright coverage, and synced
workspace/API/configuration specs.
Reduced right-pane settings search result headings, card titles, metadata text,
and card spacing so the results read slightly smaller than the surrounding
settings pane while preserving navigation behavior.
Fixed the settings search regression by making left-sidebar section and settings-tab clicks clear search, wait for the normal settings pane to remount, then select or scroll to the target. Added Playwright coverage for navigating to both changed and already-active left-nav items after searching.
Reopen Reason
Regression in the just-closed settings search work: after entering a search query, clicking items in the left settings navigation can clear the search results without rendering the selected settings panel.