Repository navigation
NEXUS-4156: Expose Solo Workspaces to plugin regions - #2786
Merged
Merged
Conversation
gilgtm
force-pushed
the
gil/nexus-4156-workspace-api
branch
from
November 6, 2026 16:02
3369ce3 to
bf72e8f
Compare
gilgtm
force-pushed
the
gil/nexus-4156-workspace-api
branch
from
November 10, 2026 03:00
bf72e8f to
35033e1
Compare
gilgtm
changed the base branch from
gil/nexus-4022-new-chat-host
to
gil/nexus-4022-durable-task-host
November 10, 2026 03:03
gilgtm
force-pushed
the
gil/nexus-4156-workspace-api
branch
from
November 10, 2026 05:31
35033e1 to
2cbf04b
Compare
gilgtm
marked this pull request as ready for review
November 10, 2026 06:04
dr0uleau
approved these changes
Nov 10, 2026
dr0uleau
left a comment
Contributor
There was a problem hiding this comment.
🤖 approved for this commit. native signing and a consuming plugin remain unverified
Use the existing preference writer for workspace snapshots, refreshes, subscriptions and creation. Co-authored-by: Codex <[email protected]> Signed-off-by: Gil Birman <[email protected]>
gilgtm
force-pushed
the
gil/nexus-4156-workspace-api
branch
from
November 11, 2026 02:40
2cbf04b to
135d6fa
Compare
joahg
added a commit
to joahg/buzz-app
that referenced
this pull request
Nov 11, 2026
* origin/main: feat(messages): let attachment renderers open files from the host file card (block#2239) feat(charts): bundle a Charts code-block renderer (block#3226) Expose native reply grouping through Conversation.ui (block#3245) NEXUS-4163: Keep plugin-owned chat deletion in Solo (block#2787) NEXUS-4156: Expose Solo Workspaces to plugin regions (block#2786) NEXUS-4022: Start region chats in the New Chat editor (block#2784) feat(link-previews): unfurl web links below messages by default (block#3225) fix(messages): keep names in literal Markdown as written when editing (block#2834) feat(plugins): fetch a packaged managed plugin policy from a URL (block#2504) Signed-off-by: Joah Gerstenberg <[email protected]> # Conflicts: # crates/plugin-manager/tests/management.rs # docs/plugin-architecture.md
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) ...
tlongwell-block
added a commit
that referenced
this pull request
Nov 11, 2026
* origin/main: (121 commits) Expose Solo region state before a component mounts (#3296) fix(builderlab): say a 401 was refused, not expired, and show each sign-in failure once (#3241) feat(agents): file new Solo chats in explicit personal workspaces (#2857) perf(css): limit broad style invalidation (#3267) Delay and fade in the Bestie badge celebration (#3292) 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) ... Signed-off-by: Tyler Longwell <[email protected]> Co-authored-by: Eva <011987e296fd5006292d2f930b574be47c7801048d1983c46c425d3c95f0cffd@buzz.block.builderlab.xyz>
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.
Summary
Exposes the bound user's personal Solo Workspaces to plugin regions (
2cbf04b6d).ctx.soloNavigation.workspacestakes the current region binding and offers:snapshot: the workspace IDs and names, the catalog status, whether creation is available, and any read error;subscribeandrefresh;create({ id, name }).It uses the existing Solo preference writer, so that writer's authorization, capacity and revision checks apply. An ended binding cannot read or write another community. Ordinary chat filing stays host-owned.
docs/solo-regions.mddocuments the contract.Compared with the previous version of this PR
The PR no longer contains "add primary controls and the workspace header". It is based on #2784's branch instead of #2785's.
buzz-review-completed
Testing
Local runs on macOS, on the stack rebased onto main
9596cd3db:2cbf04b6d:pnpm check(Biome, TypeScript and the design checks) and the icon check passed. Vitest for the files the flake check selects for this PR: 436 of 438 passed in a run that shared the machine with a Rust build; the 2 tests that timed out (App.profile.test.tsx,entity-navigation.test.tsx) passed on rerun, 52/52 in their files.adbdf424e: full Vitest, 20556 passed and 23 skipped (includesbrowser-host/channel-kit.test.mjs).tests/browser/solo-rename.spec.mjs, repeated 5 times, passed 120/120. The 34 other specs that the flake check relates to the stack, run once in each engine: 343 passed, 3 skipped by their own conditions. The full browser suite was not run locally.049a9b57e(now1fbd49c49), which includes this PR: 53 passed.Native testing: Gil ran the native desktop app on this stack at
adbdf424e, with the matching Nexus plugin build. Gil confirmed that these native-only paths passed:!folder listing through the Taurirepositories_folder_listcommand (NEXUS-4029: Offer folder chips in the composer #2789);/SKILL.md listing throughlocal_skills_list(NEXUS-4033: Offer session skills in the core task composer #2790);--add-dirfolder grant (NEXUS-4029: Offer folder chips in the composer #2789);Agent testing did not reach these paths: the agent ran no native app, no real relay and no real agent.
Known gaps
Hosted or local failures that this stack does not cause:
tests/browser/typing.spec.mjs:290("a growing channel/thread composer lifts history with it at the bottom") intermittently fails with React error Add complete reaction toggles to the message menu #185 on main too. Locally it failed 12 of 12 runs at9596cd3dband 9 of 12 at a later main commit.cargo test -p Buzzcrashes the library test binary (SIGSEGV), and somehost_commanddeadline tests fail. Both happen the same way at base9596cd3db, before this stack. Hosted Linux CI is the reference for these.Test changes
Titles are compared only in the test files each range changes. Tests that moved or were renamed are matched by title.
Removed by this PR's diff (0)
Added by this PR's diff (1)
src/features/channel-navigation/solo-workspaces.test.ts: projects the existing Solo catalog and writer, preserving uncertainty and fencing ended bindingsIn the previous version of this PR, not carried over (2)
src/features/solo/SoloDraft.test.tsx: permits one start across already-open drafts and preserves unresolved payload (%s)src/features/solo/SoloDraft.test.tsx: shows pending accepted-message recovery and cancels binding when its draft region ends