Repository navigation
Show disabled plugin chats in Solo - #3456
Merged
Merged
Conversation
kazemek21
force-pushed
the
kylez_NEXUS-4661_disabled-plugin-chats
branch
3 times, most recently
from
November 13, 2026 08:16
477d55d to
8ae8600
Compare
Present existing chats from an explicitly disabled plugin in the normal Solo inventory. Keep their region labels and filing guards dormant so re-enabling restores plugin-owned placement, while genuine recovery states remain in recovery. Co-authored-by: Codex <noreply@openai.com> Signed-off-by: Kyle Zemek <kylez@squareup.com>
Co-authored-by: Codex <noreply@openai.com> Signed-off-by: Kyle Zemek <kylez@squareup.com>
Co-authored-by: Codex <noreply@openai.com> Signed-off-by: Kyle Zemek <kylez@squareup.com>
Co-authored-by: Codex <noreply@openai.com> Signed-off-by: Kyle Zemek <kylez@squareup.com>
Surface the existing filing refusal for ordinary-looking managed chats. Cover mixed region composition and pointer-driven refusal without changing region ownership. Co-authored-by: Codex <noreply@openai.com> Signed-off-by: Kyle Zemek <kylez@squareup.com>
Keep explicit-disabled fallback compatible with hidden regions and restore hidden ownership on re-enable. Keep the failed-release fixture on a supported retained version. Co-authored-by: Codex <noreply@openai.com> Signed-off-by: Kyle Zemek <kylez@squareup.com>
kazemek21
force-pushed
the
kylez_NEXUS-4661_disabled-plugin-chats
branch
from
November 13, 2026 15:42
a02bafc to
c79c56e
Compare
kazemek21
marked this pull request as ready for review
November 13, 2026 16:01
kalvinnchau
reviewed
Nov 13, 2026
kalvinnchau
left a comment
Contributor
There was a problem hiding this comment.
🤖 Two test defects: the new browser journey races drag-sensor cleanup, and the disabled-chip assertion does not match its fixture. Details inline.
Co-authored-by: Codex <noreply@openai.com> Signed-off-by: Kyle Zemek <kylez@squareup.com>
joshfriend
added a commit
that referenced
this pull request
Nov 13, 2026
* origin/main: (153 commits) feat(agents): preview where interrupted agents were working before resume (#3494) perf(messages): close the editor and delete dialog on submit (#3493) feat(messages): quote selected message text into the composer (#2392) perf(toast): scope docked clearance to the toast host (#3489) fix(unread): undo exact captured ordinary reads conditionally (#3473) fix(solo): keep navigation responsive during chat deletion (#3488) fix(channels): keep custom thread tab names until the tab closes (#3458) perf(relay): verify cached history in the native host (#3426) fix(settings): refine claude and typesafe key setup dialogs (#3391) Update bundled help for Bestie and agent settings (#3194) feat(profiles): share and show a local time zone (#3332) Revert "feat(link-previews): unfurl web links below messages by default" (#3480) Show disabled plugin chats in Solo (#3456) perf(messages): host one context menu per message list (#3465) test(claude): keep the quit-release test copy above the minimum version (#3477) fix(profiles): restore verified names from the device cache (#3382) fix(mentions): show addressed agents first in Solo audience picker (#2856) perf: count member access once and scope find highlights to painting (#3464) perf(messages): prepare a message once for its renderer and link previews (#3466) fix(composer): speed up long pastes and paste office text as text (#3441) ... # Conflicts: # docs/plugin-authoring-guide.md
joshfriend
added a commit
that referenced
this pull request
Nov 13, 2026
…when-ready * origin/main: (21 commits) fix(agents): report a conversation wake that fails before its turn starts (#2192) fix(usage): read Claude transcripts over 50 MB a page at a time (#3498) feat(agents): preview where interrupted agents were working before resume (#3494) perf(messages): close the editor and delete dialog on submit (#3493) feat(messages): quote selected message text into the composer (#2392) perf(toast): scope docked clearance to the toast host (#3489) fix(unread): undo exact captured ordinary reads conditionally (#3473) fix(solo): keep navigation responsive during chat deletion (#3488) fix(channels): keep custom thread tab names until the tab closes (#3458) perf(relay): verify cached history in the native host (#3426) fix(settings): refine claude and typesafe key setup dialogs (#3391) Update bundled help for Bestie and agent settings (#3194) feat(profiles): share and show a local time zone (#3332) Revert "feat(link-previews): unfurl web links below messages by default" (#3480) Show disabled plugin chats in Solo (#3456) perf(messages): host one context menu per message list (#3465) test(claude): keep the quit-release test copy above the minimum version (#3477) fix(profiles): restore verified names from the device cache (#3382) fix(mentions): show addressed agents first in Solo audience picker (#2856) perf: count member access once and scope find highlights to painting (#3464) ...
joshfriend
added a commit
that referenced
this pull request
Nov 13, 2026
…n-on-github * origin/main: (21 commits) fix(agents): report a conversation wake that fails before its turn starts (#2192) fix(usage): read Claude transcripts over 50 MB a page at a time (#3498) feat(agents): preview where interrupted agents were working before resume (#3494) perf(messages): close the editor and delete dialog on submit (#3493) feat(messages): quote selected message text into the composer (#2392) perf(toast): scope docked clearance to the toast host (#3489) fix(unread): undo exact captured ordinary reads conditionally (#3473) fix(solo): keep navigation responsive during chat deletion (#3488) fix(channels): keep custom thread tab names until the tab closes (#3458) perf(relay): verify cached history in the native host (#3426) fix(settings): refine claude and typesafe key setup dialogs (#3391) Update bundled help for Bestie and agent settings (#3194) feat(profiles): share and show a local time zone (#3332) Revert "feat(link-previews): unfurl web links below messages by default" (#3480) Show disabled plugin chats in Solo (#3456) perf(messages): host one context menu per message list (#3465) test(claude): keep the quit-release test copy above the minimum version (#3477) fix(profiles): restore verified names from the device cache (#3382) fix(mentions): show addressed agents first in Solo audience picker (#2856) perf: count member access once and scope find highlights to painting (#3464) ...
joshfriend
added a commit
that referenced
this pull request
Nov 13, 2026
* origin/main: (31 commits) Let plugin panels name their tab with panels.useTabTitle (#3251) fix(agents): report a conversation wake that fails before its turn starts (#2192) fix(usage): read Claude transcripts over 50 MB a page at a time (#3498) feat(agents): preview where interrupted agents were working before resume (#3494) perf(messages): close the editor and delete dialog on submit (#3493) feat(messages): quote selected message text into the composer (#2392) perf(toast): scope docked clearance to the toast host (#3489) fix(unread): undo exact captured ordinary reads conditionally (#3473) fix(solo): keep navigation responsive during chat deletion (#3488) fix(channels): keep custom thread tab names until the tab closes (#3458) perf(relay): verify cached history in the native host (#3426) fix(settings): refine claude and typesafe key setup dialogs (#3391) Update bundled help for Bestie and agent settings (#3194) feat(profiles): share and show a local time zone (#3332) Revert "feat(link-previews): unfurl web links below messages by default" (#3480) Show disabled plugin chats in Solo (#3456) perf(messages): host one context menu per message list (#3465) test(claude): keep the quit-release test copy above the minimum version (#3477) fix(profiles): restore verified names from the device cache (#3382) fix(mentions): show addressed agents first in Solo audience picker (#2856) ...
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.
TL;DR
When a plugin is explicitly disabled, its existing labeled chats appear in the ordinary Solo inventory instead of a plugin-off recovery section. Re-enabling the plugin returns those chats to its region without changing their IDs or labels.
What
How
The host keeps region labels and filing guards while excluding disabled chats from plugin placement. The existing Solo inventory then renders each chat once.
Coverage
A focused browser scenario exercises the plugin settings toggle, ordinary Solo row, and message identity before and after disable/re-enable. It passed on Chromium and WebKit. The same journey covers pointer-driven filing refusal. Component tests cover projection, ownership guards, and simultaneous enabled/disabled region composition.
On the rebased candidate, the configured
pnpm lint,pnpm typecheck, andpnpm design:checkpassed in an isolated Linux checkout. All 176 focused Vitest cases passed acrossSoloRegions.test.tsx,solo-navigation.test.ts, andclaude-code/setup.test.ts. The fullsolo-region-state.spec.mjsfile passed in Chromium and WebKit (two cases per engine). Negative controls caught duplicate rows and silent filing refusal. No browser cases were removed; pointer hit testing and the settings-to-sidebar lifecycle are the browser-only boundaries.The release-failure test now retains a supported older release instead of one below the existing minimum; the production minimum and below-minimum coverage are unchanged.
Related work
This preserves the independent hidden-region behavior in #3415 and Activity navigation changes in #2555, and retains the draft context behavior from #3429.
Risk
This changes host presentation only; it does not change plugin activation, storage, authorization, labels, or chat lifecycle. Native WKWebView integration was not tested.
After merge
Users need the normal Buzz host release to receive this change; reinstalling or reloading a plugin alone will not deliver the host update.
Updated by Codex (gpt-6.1-sol, high) on behalf of kylez.