8000 feat(settings): group the sections and find a setting by name by adeelahmad · Pull Request #390 · adeelahmad/lense · GitHub
[go: up one dir, main page]

Skip to content

feat(settings): group the sections and find a setting by name - #390

Merged
adeelahmad merged 1 commit into
mainfrom
claude/project-thread-jcbu0k
Oct 15, 2026
Merged

adeelahmad merged 1 commit into
mainfrom
claude/project-thread-jcbu0k

Conversation

@adeelahmad
Copy link
Copy Markdown
Owner

Requested by Adeel · project thread

Description

Before: an admin's Settings list was 41 sections in one flat column under "Archive", in no particular order, and the only way to find "the LLM's timeout" was to know which section held it.

After: the sections sit under seven groups (AI and search, Speech and voices, Media and documents, Chat and email, Security and access, Files and devices, System), with the most used first in each (LLM provider first). Find a setting at the top of the list, or /, filters by a section's name or description and by a field's label, hint or choices (deepgram finds Transcription › Engine). Enter opens the first match; a setting found by its field opens with that field scrolled to, focused and its value selected, so typing replaces it. Ctrl+K finds settings too, beside recordings and pages. "Updates and backups" is called "Updates", as the docs already call it, since Backups has its own section.

How: components/settings/find.ts holds the groups and a word search over SECTIONS and FIELDS; the shell renders the groups or the matches; fields carry data-setting so ?field=llm.timeout can focus one. No section, field, route or default changes.

Motivation and Context

Adeel asked to simplify the interface and settings. Settings had the most sections of any page (41 links in its sidebar in the clicks survey) and nothing to find a setting by name.

Types of changes

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to change; ! in the title)

Checklist:

  • The title is a Conventional Commit.
  • My code follows the code style of this project (make hooks checks it on commit).
  • I added or updated tests.
  • My change requires documentation updates, and I have updated docs/ accordingly.
  • Users need more than the title to understand it, so I wrote it under ## Unreleased in CHANGELOG.md. (n/a: the title says it)

Done questions (AGENTS.md)

  • Goal: one step of "simplify the interface and settings"; merged on green.
  • Agents: n/a for a UI layout; agents already reach every setting through GET/PUT /api/v1/settings/<section> and the admin assistant's read_settings/change_settings (now said in docs/configuration.md).
  • Zero setup: nothing new to install or set.
  • Fewest clicks: no journey takes more; a setting can now be reached by typing its name and Enter, landing in its field.
  • Configurable: n/a, no new setting.
  • Light: n/a, a few KB of client code.
  • Private and secure: n/a, no new surface; the search runs in the browser over labels it already had.
  • Cost: n/a, no model calls.
  • User decides: nothing acts on its own; defaults unchanged.
  • Upgrades: n/a, no stored data changes.
  • Honest: docs describe only what this adds.
  • Tests, docs and generated files updated (__tests__/settings-find.test.tsx, settings-save.test.tsx; docs/configuration.md; no API change, so no make openapi).
  • Open standards: n/a; no new dependency.
  • Result reported in the project thread; refine later: a clicks journey for Find once the phone baseline is refreshed.

🤖 Generated with Claude Code

https://claude.ai/code/session_012QHdEu9xFwnsCUnJn4yB3v


Generated by Claude Code

The 41 admin sections sit under seven groups (AI and search, Speech and voices, Media and documents, Chat and email, Security and access, Files and devices, System), the model first. Find a setting at the top of the list, or /, filters them by name, description, or a field's label, hint or choices; Enter opens the first, and a setting found by its field opens with that field focused and its value selected. Ctrl+K finds settings the same way beside recordings and pages. Updates and backups is called Updates, as the docs call it, since Backups has its own section.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_012QHdEu9xFwnsCUnJn4yB3v
@adeelahmad adeelahmad self-assigned this Oct 15, 2026
@adeelahmad
adeelahmad merged commit be5cc8f into main Oct 15, 2026
10 checks passed
@adeelahmad
adeelahmad deleted the claude/project-thread-jcbu0k branch October 15, 2026 10:31
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

0