Skip to content

Profiles: Show your profile changes everywhere and reindex after a discard - #973

Closed
tobocop2 wants to merge 2 commits into
feat/analyze-tuifrom
feat/profile-changes-api
Closed

tobocop2 wants to merge 2 commits into
feat/analyze-tuifrom
feat/profile-changes-api

Conversation

@tobocop2

Copy link
Copy Markdown
Owner

Problem

The TUI's Profile tab showed your own changes against the active profile, but nothing else could read them: the Obsidian plugin and agents only had a diff, which is empty under Default. Discarding a change to a setting such as chunk_size also never rebuilt the index, so the index silently kept the old chunks.

Solution

GET /api/profiles/active, the MCP profile list and lilbee profile show now include your changes: for each, the setting, your value, the profile's value, where the profile's value comes from, and whether changing it needs a reindex.

Discard now reports reindex_required and any settings warnings, on every surface. When a discard needs a rebuild, the TUI asks before rebuilding.

Notes

The new fields are additive, so existing clients keep working.

This stacks on #967.

The active profile now carries your changes: each profile setting
config.toml sets, with your value, the value and source it falls
back to without yours, and when a change takes effect. It comes
from the same call the TUI Profile tab uses, so GET
/api/profiles/active, the MCP profile_list tool and lilbee profile
show all report it, and the tab reads it from the active profile
instead of a second read.

Discard now reports reindex_required and warnings, taken from the
settings reset it runs, on HTTP, MCP and the CLI. The CLI prints
the same rebuild hint apply prints, plus each warning the same way
a settings reset does. The TUI offers a rebuild after a discard
that needs one, starting it only on yes, and toasts any warning
through the same path a settings reset uses.
@tobocop2
tobocop2 force-pushed the feat/profile-changes-api branch from a9b99ed to b6d5142 Compare September 28, 2026 06:27
The rebuild-offer dialog can appear before the profile tab's async
reload (Stale message, worker thread, call_from_thread) clears the
changes table, so asserting the table is already hidden right after
the dialog shows raced the reload under load. Wait for the table's
display flag the same way every sibling assertion in this file does.
@tobocop2

tobocop2 commented Oct 3, 2026

Copy link
Copy Markdown
Owner Author

This change is now part of #1003, which collects every Profiles pull request on one branch. Review and merge happen there. The branch stays in place.

@tobocop2 tobocop2 closed this Oct 3, 2026
@tobocop2
tobocop2 deleted the feat/profile-changes-api branch November 1, 2026 06:08
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.

1 participant