Skip to content

Let sidebar row plugins decorate ordinary Solo chats - #3222

Merged
kazemek21 merged 1 commit into
mainfrom
kylez_NEXUS-4422_solo_row_plugin_support
Nov 10, 2026
Merged

kazemek21 merged 1 commit into
mainfrom
kylez_NEXUS-4422_solo_row_plugin_support

Conversation

@kazemek21

@kazemek21 kazemek21 commented Nov 10, 2026 •

Copy link
Copy Markdown
Contributor

TL;DR

Let plugins decorate ordinary Solo chats through the existing sidebarRows.render capability. Pass the authorized channel, unread snapshot and workspace ID while keeping the complete native row—including menus and drag handling—as the opaque default element. Solo ordering and grouping remain host-owned.

Returning null hides the entire entry. Leaving or deleting a chat skips hidden successors, even when visibility changes during confirmation. Fallbacks and plugin disable retain keyboard focus without overriding a user's deliberate focus move. No render contribution means unchanged DOM.

Validation

  • Mac Blox: full TypeScript and 226 tests pass across the six complete Solo inventory/workspace, channel-page lifecycle, row-renderer, row-service and Team inventory test files with pinned Node 24.18.0/pnpm 11.8.0.
  • Three original integration cases fail against the unchanged base and pass with this change. Independent Claude/Codex review found focus loss and stale successor visibility; both are fixed, with 13 added regressions. No second review approval of the fixes is claimed.
  • One browser journey added; none removed. It proves real shell/plugin wiring, keyboard and pointer menu targets, rename dismissal and plugin disable. The scenario matrix remains in React/service tests. All four sidebar-row Chromium/WebKit cases pass on Mac Blox, including wide/light and narrow/dark enlarged-text layouts.
  • Scoped Biome, diff checks and mandatory pre-commit checks pass. Native Tauri execution and human testing remain unproved; no human-completion marker is asserted.

Fixes NEXUS-4422

Posted by Codex (configured gpt-6.1-sol; served model unverified) on behalf of kylez.

@kazemek21
kazemek21 force-pushed the kylez_NEXUS-4422_solo_row_plugin_support branch from f340409 to 08fcbee Compare November 10, 2026 19:42
Preserve the complete host entry and expose authorized Solo metadata through the existing rendering contribution.

Co-authored-by: kylez 3: Sol 6.1 - High <c5ab3b18619d7436b638029e27226c768bf52b75cc4f8c8f947e6649cd806860@buzz.block.builderlab.xyz>
Signed-off-by: Kyle Zemek <[email protected]>
@kazemek21
kazemek21 force-pushed the kylez_NEXUS-4422_solo_row_plugin_support branch from 08fcbee to c6d1af9 Compare November 10, 2026 19:47
@kazemek21
kazemek21 marked this pull request as ready for review November 10, 2026 20:06
@kazemek21
kazemek21 requested a review from a team as a code owner November 10, 2026 20:06
@kazemek21
kazemek21 requested review from baxen and morgmart November 10, 2026 20:07

@gilgtm gilgtm left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🤖 Deep dual source review completed at c6d1af9. No P0/P1 findings.

Posted by duel-review skill [driver: codex(high), mode: deep-dual, review synthesized by codex(high)]

@kazemek21
kazemek21 merged commit b8ab24c into main Nov 10, 2026
66 checks passed
@kazemek21
kazemek21 deleted the kylez_NEXUS-4422_solo_row_plugin_support branch November 10, 2026 20:57
bostonaholic added a commit that referenced this pull request Nov 11, 2026
…y-untagged-reactions

* origin/main: (324 commits)
  fix(github): show private-repo body images from signed links (#3252)
  NEXUS-4029: Preserve semantic chips in the core composer (#2303)
  Make plugin signature enforcement opt-in (#2212)
  NEXUS-4156: Add workspace Leads and choose a chat's workspace (#2788)
  feat(plugins): report conclusively retired update providers (#3263)
  feat(messages): let attachment renderers open files from the host file card (#2239)
  feat(charts): bundle a Charts code-block renderer (#3226)
  Expose native reply grouping through Conversation.ui (#3245)
  NEXUS-4163: Keep plugin-owned chat deletion in Solo (#2787)
  NEXUS-4156: Expose Solo Workspaces to plugin regions (#2786)
  NEXUS-4022: Start region chats in the New Chat editor (#2784)
  feat(link-previews): unfurl web links below messages by default (#3225)
  fix(messages): keep names in literal Markdown as written when editing (#2834)
  feat(plugins): fetch a packaged managed plugin policy from a URL (#2504)
  fix(goose): enable deferred tool loading for goose agents (#3227)
  fix(unread): preserve manual intent in captured explicit reads (#3228)
  NEXUS-4337: Expose retained plugin update reviews (#3075)
  feat(conversation): add a link preview slot below messages (#3219)
  feat(plugins): let link previews read a public page's preview fields (#3217)
  Let sidebar row plugins decorate ordinary Solo chats (#3222)
  ...
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