Skip to content

[2/2] feat(agents): offer Automatic (Recommended) in Create agent and Identity - #3345

Merged
tmellor-block merged 4 commits into
mainfrom
tmellor/recommended-agent-ui
Nov 14, 2026
Merged

tmellor-block merged 4 commits into
mainfrom
tmellor/recommended-agent-ui

Conversation

@tmellor-block

@tmellor-block tmellor-block commented Nov 12, 2026 •

Copy link
Copy Markdown
Contributor

Stack

Depends on the recommended-agent core in #3344. This PR adds the setup controls and agent-card presentation.

What changes

Builds with a recommendation offer Automatic and Custom in Create agent and the Identity settings for local agents. Builds without a recommendation keep the existing controls.

  • Automatic selects the recommended harness, model and thinking level. The closed settings row shows Set to [model] (recommended); the model truncates on one line while the parenthetical remains visible.
  • The Automatic option puts the recommender before the optional description, with the active model details beneath it. Attribution and description come from configuration; the shared default makes no promise about cost or update frequency.
  • The settings icon gently cycles between the AI icon and active harness logo. Custom and reduced-motion settings use a static harness logo.
  • When no recommended setup is usable, Custom remains available, including hosted-agent creation. Automatic still requires a usable recommendation.
  • Custom reveals the existing Harness, Model and Thinking controls in place. Its closed row omits the redundant model byline. Choosing model, provider or thinking settings in Identity turns Automatic off.
  • On the Agents page, Automatic agents show their model’s display name followed by (Automatic) beside the cycling icon. This is a read-only detail aligned with the other cards’ model rows and uses the default text color.
  • In chat, Automatic agents keep session controls while model and thinking controls are hidden. Custom agents keep their existing controls.

The recommendation setting accepts the existing candidates array or an object containing candidates, optional recommendedBy, and optional description. Attribution stays with the current recommendation rather than being copied into saved agents. Hosted agent types retain their own settings.

Validation

Current head: ee16e32f3885cdf374fb3508d7c58d9bc4462923, rebased onto the updated core. Current-head review confirms the four UI commits are patch-identical to the previously approved stack and reports 1,068 passed, one skipped across eleven affected component/config/service suites. Hosted CI passed on this exact head, including CI required.

Local behavior evidence at 4d5014295583e185716ac3e49249e7b1e43f0645:

  • Related component/service checks: 1,033 passed, one existing skip across nine files, combining initial passes with final reruns of affected files; this is not a single combined run. Includes Custom → hosted harness → introduction → creation when no recommendation is usable.
  • Both TypeScript projects and mandatory pre-push related-unit/design checks passed.
  • Four Chromium/WebKit fixture checks passed, exercising narrow/wide layout in both themes: model truncation, visible recommendation suffix, and separation of description/model details. These establish browser layout, not native acceptance.
  • One browser geometry case was added because DOM-emulated tests cannot prove wrapping/truncation. No browser cases were removed. Existing mode, settings-retention and fallback assertions remain; stale label assertions were updated for Custom and the new summary.
  • Test-volume audit: changed files contain 841 → 848 named test declarations (parameterized runtime cases counted separately). Tests account for +1,558/−30 lines versus +1,221/−216 non-test lines in this PR, so test changes exceed half the diff. The audit retained distinct parser, metadata, host-wiring and recovery coverage.

At fd3ee535098e7c411852ba847cce01911b29ba23, the running macOS desktop build was exercised through the Agents page and Automatic → Custom mode switching in an unsaved Create draft. The draft was closed without creating or changing an agent. This verifies the captured native rendering and mode transition; broader native states are not covered by these captures. The full Biome check and mandatory push hooks also passed on that pre-rebase head.

Screenshots

Actual macOS desktop captures at fd3ee535098e7c411852ba847cce01911b29ba23; see the native check notes.

Agents page: aligned model details
Agent cards showing the friendly model name and Automatic status
Automatic setup Custom setup
Automatic setup with recommendation and model details Custom setup with Harness, Model and Thinking controls

@tmellor-block
tmellor-block requested a review from a team as a code owner November 12, 2026 01:21
@tmellor-block
tmellor-block force-pushed the tmellor/recommended-agent-ui branch 3 times, most recently from e3ede0b to 907df36 Compare November 12, 2026 01:55
@tmellor-block
tmellor-block force-pushed the tmellor/recommended-agent-ui branch 3 times, most recently from 5866f92 to 85c14d6 Compare November 12, 2026 17:17

@atishpatel atishpatel 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.

🤖 Review from atish's agent, against atish's guidance in the Buzz thread. The numbering matches my review on #3344: (1) extendable presets, (2) Recommended markers under Manual, (3) Manual + "Default" follows the company default, (4) seamless updates, plus unset means unchanged.

The visual direction (a Settings-style select that opens Manual rows in place) follows tho's suggestion, and keeping the UI unchanged when nothing is configured is right ✅. The gaps:

  • AISettings is a two-state boolean (point 1).
  • The Manual harness menu has no Recommended markers (point 2).
  • Manual drops the mark even when the person keeps the default model (point 3).

Inline below. I'm deferring to tho on the visuals; these comments are about the data each control needs.

Comment thread src/features/agents/AISettings.tsx Resolved
Comment thread src/bundled/goose/tabs.tsx Resolved
@tmellor-block

Copy link
Copy Markdown
Contributor Author

🤖 Thanks. Replies are inline. In short, a mode id plus options, "(Recommended)" labels in the harness menu, and a Manual "Default" that keeps following are all follow-up PRs. We're keeping this one tightly scoped to unblock shipping. The saved format already allows more presets, so those changes won't touch stored data.

@tmellor-block
tmellor-block force-pushed the tmellor/recommended-agent-ui branch from 85c14d6 to 65ec6a3 Compare November 13, 2026 02:00
@tmellor-block
tmellor-block force-pushed the tmellor/recommended-agent-ui branch from 65ec6a3 to 35ea2fe Compare November 13, 2026 18:29

@atishpatel atishpatel 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.

🤖 Re-reviewed at 35ea2fe. I'd approve this, except for one blocker inline: when no recommended candidate is offered on a computer, Create agent can't create any agent, including a Manual or Builderlab one. Everything else, including the follow-ups we agreed on, is fine to leave for later. I'll approve once this is fixed.

@joahg joahg left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

🤖 Not approving: this account does not approve UI changes (Create agent, Identity, composer, design-system components and styles), and this PR needs a design or core-team reviewer. Reviewed only what this PR adds on top of [1/2] (its base is the [1/2] branch).

Finding (P1, functional, UI-visible): in a build that ships candidates, a computer where none of them is offered cannot create any agent. See the inline comment.

What I checked on the permission question: this PR adds no permission, sandbox or tool setting. Automatic only fills harness model and thinking level through [1/2], and the chat composer hides the model/effort picker for Automatic agents while keeping session controls. In builds without candidates recommendable is false and Create agent, Identity and the composer follow the existing paths. Existing agents are not marked; switching one to Automatic in Identity is an explicit user action, and any manual model or thinking pick there clears the mark.

Not reviewed: rendered appearance (light/dark, narrow widths, enlarged text, keyboard) beyond the screenshots in the description, the design-system CSS and specimen details, and the test files.

@tmellor-block
tmellor-block force-pushed the tmellor/recommended-agent-ui branch from 35ea2fe to 81a3b66 Compare November 13, 2026 21:10

@joahg joahg left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

🤖 Not approving: this account does not approve UI changes (Create agent, Identity, composer, design-system components and styles), and this PR needs a design or core-team reviewer. Re-review of 81a3b66 against my review of 35ea2fe. Only what this PR adds on top of [1/2] (#3344) was reviewed.

Fixed

  • Nothing from my earlier findings: the delta from 35ea2fe is only the rebase onto the updated [1/2]. No file this PR owns changed.

Still open

  • P1 (functional, UI-visible): in a build that ships candidates, a computer where none of them is offered (the exact model or thinking level isn't listed, a check times out, or Codex/Claude Code on Windows) still cannot create any agent. nothingSetUp disables the AI settings select, automatic stays true, waiting keeps Create disabled, and the Harness row only exists under Manual, so Manual and hosted agents are unreachable too. Before this PR those people could create one. AgentCreateDialog.test.tsx ("asks for one thing to set up first...") now asserts that Create stays disabled, so this is intended behavior, not an oversight. Another reviewer raised the same case. See the inline comment.

Not reviewed: rendered appearance (light/dark, narrow widths, enlarged text, keyboard) beyond the screenshots in the description, the design-system CSS and specimen details, and the test files.

CI: Browser journeys (webkit, 4/18) is failing here and on #3344, and several jobs are still pending, so I could not read the cause. None of the files this PR adds carries a FOUNDATION marker.

@atishpatel atishpatel 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.

🤖 Re-reviewed at fd3ee53. The Create-agent lockout is resolved: Custom remains selectable when no recommendation is usable, and the regression covers hosted-agent creation through its introduction. The nine affected component/service test files pass together locally: 1,033 passed, one existing skip. I found no remaining critical issue. Hosted CI is still running; this approval does not attest to native flow acceptance.

@tellaho

tellaho commented Nov 13, 2026

Copy link
Copy Markdown
Contributor

🤖 Live native UI captures from the worktree at fd3ee535098e7c411852ba847cce01911b29ba23.

The agent card displays the model’s friendly name with (Automatic). In an unsaved Create draft, Automatic shows the recommendation details and the single-line model summary; selecting Custom reveals Harness, Model and Thinking and removes that summary. The draft was closed without creating an agent. These captures show native rendering and the mode transition; the earlier Chromium/WebKit checks cover their separate browser fixture scenarios.

Agents page: aligned card details Automatic setup Custom setup
Agents page with the current model and Automatic status Automatic setup showing the recommendation and current model Custom setup showing Harness, Model and Thinking

@joahg joahg left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

🤖 Not approving: this account does not approve UI changes (Create agent, Identity, agent cards, design-system components), and this PR needs a design or core-team reviewer. Re-review of fd3ee53 against my review of 81a3b66, covering only what this PR adds on top of [1/2] (#3344).

Fixed

  • P1, Create agent lockout when no candidate is offered: nothingSetUp now requires automatic, and the AI setup select is no longer disabled by it. Choosing Custom sets automatic to false, so waiting clears, the Harness row opens, and both a local harness and a hosted type such as Builderlab can be created. The "One thing to set up first" row now says to set up a local harness or choose Custom, and the regression test covers Custom, then hosted harness, then the introduction, then creation with recommends: () => false. Create stays disabled only while Automatic is still the selection, which is reasonable now that Custom is one select away.

New in the delta (attribution, Custom wording, cycling icon, Automatic details on the Agents page, recommendedSetup() parsing): I found no outstanding correctness problem. parseRecommended rejects unknown fields and untrimmed text and the attribution is shown as plain text only; setRuntimeRecommendation still validates runtime input and keeps the last good setup.

No changed file I checked carries a FOUNDATION marker (the dialog, AISettings, recommended.ts, AgentsPage, the three harness tabs, the CSS and the icon index).

Not reviewed: rendered appearance (light/dark, narrow widths, enlarged text, keyboard, reduced motion) and the browser fixtures, the test files beyond the Create-agent regression, and the docs. CI: no check has failed on this head yet, but the browser, flake and Rust jobs are still running, and the description says updated desktop screenshots are pending.

@tmellor-block
tmellor-block force-pushed the tmellor/recommended-agent-ui branch from fd3ee53 to ee16e32 Compare November 14, 2026 00:26

@joahg joahg left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

🤖 Re-checked at ee16e32. This is a rebase onto the updated [1/2]: the PR's own diff is the same size and shape as fd3ee53, and the earlier P1 fix (Custom stays reachable when no candidate is offered) is still in place. Nothing new from me. It still needs a design or core-team reviewer.

@atishpatel atishpatel 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.

🤖 Re-reviewed the rebased ee16e32f head. Its four commits are patch-identical to the previously approved stack; the only old-to-new tree delta is the already-reviewed #3344 preset-tag change. Eleven affected component/config/service suites passed together locally: 1,068 passed, 1 skipped. Hosted CI is still running.

matt2e added a commit that referenced this pull request Nov 14, 2026
…r check

The create-time Thinking test focuses the Thinking combobox and asserts
that its bottom edge clears the dialog's sticky footer. AgentCreateDialog's
reveal() scrolls the focused control so that bottom − footerTop is exactly
0, and the dialog enters with transform: translateY(var(--space-3)) → none
over 220 ms (overlays.css). The check ran about 150 ms into that
transition in the failing CI trace. With the scroll already at rest, WebKit
reports bottom − footerTop between +0.0006 and +0.0085 px at fractional
translate values, so the <= comparison failed; it is exactly 0 whenever
transform is none. The triage ruled out scrollTop truncation, static
fractional transforms, layout shifts and web fonts.

Wait with settleDialogMotion from navigation.mjs — the helper
dialog-footer, hosted-create-join, layout, message-overlays and
plugin-import already use — right after the dialog is visible, then also
poll for the computed transform to be none, since locally the transition's
finished promise could resolve while the animation was still attached. No
tolerance, timeout or assertion change.

Verified with `bin/pnpm test:browser:ci --project webkit --no-deps
--workers=1 --repeat-each=8 tests/browser/agent-library.spec.mjs -g
"create-time Thinking" --reporter=list`: 8/8 passed locally (12.1–12.3 s
each, 2.4 m). The triage did not reproduce the failure naturally on an idle
host (baseline 8/8 and 10/10 on two pinned CPUs) and only showed it with
the transition stretched to 3 s, so this run guards against regression
rather than reproducing CI timing. Biome is clean on the file.

Not addressed here: the Chromium sighting on PR #3345 was a fixture missing
`recommended` and was fixed by that PR's later push; the similar footer
reads in solo-sharing.spec.mjs, profiles.spec.mjs and the agent-share-card
checks are left for their own change.

Co-Authored-By: Claude Fable 5.1 <[email protected]>
Signed-off-by: mtoohey <[email protected]>
Signed-off-by: Matt Toohey <[email protected]>
Base automatically changed from tmellor/recommended-agent-core to main November 14, 2026 01:03
tmellor-block added a commit that referenced this pull request Nov 14, 2026
## Stack

1. **→ [1/2] feat(agents): add a recommended agent setup (core)**
(#3344) ← this PR
2. [2/2] feat(agents): offer Automatic (Recommended) in Create agent and
Identity (#3345)

## What this adds

A way for a build to ship a recommended agent setup: which harness,
model and thinking level a new agent should use. This PR is the non-UI
part. It adds no screens. [2/2] adds the screens that use it.

If the setting is unset, as in every open-source build, nothing changes.

## How it works

- **The candidate list.** Packagers set `BUZZ_RECOMMENDED_AGENT` at
build time. It is a JSON list of candidates, best first. Each one names
a harness (`goose`, `codex` or `claude-code`), a model, a thinking level
and a display label. goose candidates also name a provider. Vite checks
the list and compiles it in. A bad value fails the build and names the
field at fault without printing the value. A launch can also swap in its
own list (`setRuntimeCandidates`).
- **Readiness checks.** `useRecommendedPick` picks a setup for a new
agent. It walks the list and asks each harness whether it is installed,
signed in or set up, and whether it offers that model now. Each check
has a time limit. A check that fails or runs out of time skips that
candidate. It reports `checking`, `none` or `found`, plus which better
candidates were skipped.
- **Following it at run time.** An agent on the recommendation saves
only a mark (`preset: "recommended"`) and no model of its own. At run
time, goose, Codex and Claude Code each use the first candidate for
their own harness that they still offer. They check once per launch and
look again a minute or more later, so a harness set up since then gets
picked up. If none fits, the agent runs on the harness's own default
instead of failing. Its harness never changes for it. A model or
thinking pick that reaches a run for one of these agents is ignored,
such as one saved in a Solo chat before the switch.
- **The synced mark.** On a config channel the mark syncs next to the
agent's settings, not inside them. Older versions ignore it and keep it
when they edit. A synced revision that names a model, provider or
thinking level takes the agent off the recommendation on every device.
- **Docs.** `docs/configuration.md` documents the setting with
placeholder values.

## Testing

CI runs the suite. `tsc --noEmit` is clean locally.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Signed-off-by: Tim Mellor <[email protected]>
Co-authored-by: Claude Opus 5.5 <[email protected]>
tmellor-block and others added 4 commits November 13, 2026 17:03
In builds with a recommendation, for local harnesses (goose, Codex,
Claude Code):

- Create agent shows AI settings: Automatic, showing what it uses as a
  quiet chip, or Manual, which opens the dialog's own Harness, Model and
  Thinking rows in place, starting from Automatic's pick. "(Recommended)"
  is in the menu, not on the trigger. When Buzz's usual pick isn't set up,
  an (i) after the chip says so in a tooltip; it never lists the order.
  Create waits for a Name and a ready harness. With nothing set up, a row
  asks for one thing to set up first, with a Set up button, and Create
  says why it waits. A hosted type such as Builderlab is chosen under
  Manual's Harness and keeps its own controls, as on main.
- An agent's Identity tab shows the same row; a manual model, provider or
  thinking choice turns Automatic off. Hosted agents are unchanged.
- Beside Send, an agent on Automatic has no model or thinking choice: the
  composer offers only its session controls where they apply, and no
  button where there is no session to act on (as a new top-level
  message). A Solo chat's pick saved before it switched is left out of
  what is sent. The huddle composer offers it no picker. Agents on Manual
  are unchanged.
- Design system: SettingsGroupExpand reveals rows in place; ValueChip shows
  a short value; Select takes describedBy; compact menus with option
  descriptions wrap within a menu's width.
- Accessible names and descriptions, one live region for the result, and
  no flicker while checking.
- docs/buzz-help.md describes it. Builds without a recommendation are
  unchanged.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
Signed-off-by: Tim Mellor <[email protected]>
Attribute distributor recommendations, show compact model summaries, and distinguish Automatic from Custom throughout agent creation, Identity settings, and library cards. Respect reduced motion for cycling harness marks.

Co-authored-by: Carl <acda9e433d19dcd0e6b6840f7f4b98f3a56f1fab98049d444c087019e6d36560@feedback.communities.buzz.xyz>
Signed-off-by: Taylor Ho <[email protected]>
Let users leave Automatic when no local recommendation is available and choose another harness, including hosted agents. Preserve runtime recommendation validation and refresh model-summary assertions.

Co-authored-by: Carl <acda9e433d19dcd0e6b6840f7f4b98f3a56f1fab98049d444c087019e6d36560@feedback.communities.buzz.xyz>
Signed-off-by: Taylor Ho <[email protected]>
Co-authored-by: Carl <acda9e433d19dcd0e6b6840f7f4b98f3a56f1fab98049d444c087019e6d36560@feedback.communities.buzz.xyz>
Signed-off-by: Taylor Ho <[email protected]>
@tmellor-block
tmellor-block force-pushed the tmellor/recommended-agent-ui branch from ee16e32 to dfbadab Compare November 14, 2026 01:03

@atishpatel atishpatel 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.

🤖 Re-approved at dfbadab8 after #3344 merged. All four commits are patch-identical to the previously approved stack; this update only rebases them onto the merged base and current main.

@joahg joahg left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

🤖 Re-checked at dfbadab. This is a rebase onto main now that [1/2] (#3344) has merged: the four commits are patch-identical to ee16e32 (git range-diff shows all four unchanged), so the PR's own diff is unchanged and the earlier P1 fix (Custom stays reachable when no candidate is offered) is still in place. Nothing new from me.

Open from other reviewers: the follow-ups on a mode id plus options list, "(Recommended)" markers in Manual's harness menu, and a Manual "Default" that keeps following the recommendation. The author has deferred them to separate PRs; that is a scoping call for the maintainers.

No changed file I checked carries a FOUNDATION marker. CI is still running on this head, so I could not read a final result.

This changes what users see (Create agent, Identity, agent cards), so it still needs a design or core-team reviewer for approval.

@tmellor-block
tmellor-block merged commit 5507827 into main Nov 14, 2026
123 of 125 checks passed
@tmellor-block
tmellor-block deleted the tmellor/recommended-agent-ui branch November 14, 2026 01:35
wpfleger96 added a commit that referenced this pull request Nov 14, 2026
* origin/main: (27 commits)
  [2/2] feat(agents): offer Automatic (Recommended) in Create agent and Identity (#3345)
  fix(solo): preserve and resume unsent chat drafts (#3525)
  fix(builderlab): give refused app sign-ins and Identity links a route to Organization sign-in (#3078)
  fix(agents): say why Import an agent can't import here, and link Manage plugins (#3073)
  [1/2] feat(agents): add a recommended agent setup (core) (#3344)
  test(browser): survive the live-stream restart a page-clock jump causes (#3442)
  chore(renovate): hold rusqlite below 0.41 for mesh-llm (#3438)
  test(browser): serve the diffs and CLI reload fixtures outside the navigation budget (#3445)
  test(browser): play the draft clip at rate 0 instead of looping it before the Play click (#3446)
  fix(status): reopen a status whose preset deadlines coincide as Today (#3449)
  fix(messages): tolerate a cancelled reaction-name chunk load (#3450)
  fix(pairing): tolerate /proc/net/tcp rows printed twice or missed (#3451)
  test(browser): wait on the signal each test asserts in local-agent-activity and message-navigation (#3444)
  Expose native channel headings to Solo sources (#3523)
  test(browser-host): run the 100,000-channel broker scale check alone in the measurements lane (#3447)
  fix(solo): keep every contributed destination action (#3516)
  fix(identity): report an issuer that keeps rate-limiting an agent as a limit (#2365)
  fix(identity): let a stuck at-launch sign-in copy its link (#2453)
  fix(profiles): open avatar previews on hover in compact density (#3510)
  feat(solo): smooth chat recency reordering (#3502)
  ...

# Conflicts:
#	src-tauri/src/federated_identity/agent/tests.rs
#	src-tauri/src/federated_identity/mod.rs
#	src-tauri/src/federated_identity/protocol.rs
joahg added a commit to joahg/buzz-app that referenced this pull request Nov 14, 2026
* origin/main: (133 commits)
  Expose ordinary chats without workspace headings (block#3530)
  [2/2] feat(agents): offer Automatic (Recommended) in Create agent and Identity (block#3345)
  fix(solo): preserve and resume unsent chat drafts (block#3525)
  fix(builderlab): give refused app sign-ins and Identity links a route to Organization sign-in (block#3078)
  fix(agents): say why Import an agent can't import here, and link Manage plugins (block#3073)
  [1/2] feat(agents): add a recommended agent setup (core) (block#3344)
  test(browser): survive the live-stream restart a page-clock jump causes (block#3442)
  chore(renovate): hold rusqlite below 0.41 for mesh-llm (block#3438)
  test(browser): serve the diffs and CLI reload fixtures outside the navigation budget (block#3445)
  test(browser): play the draft clip at rate 0 instead of looping it before the Play click (block#3446)
  fix(status): reopen a status whose preset deadlines coincide as Today (block#3449)
  fix(messages): tolerate a cancelled reaction-name chunk load (block#3450)
  fix(pairing): tolerate /proc/net/tcp rows printed twice or missed (block#3451)
  test(browser): wait on the signal each test asserts in local-agent-activity and message-navigation (block#3444)
  Expose native channel headings to Solo sources (block#3523)
  test(browser-host): run the 100,000-channel broker scale check alone in the measurements lane (block#3447)
  fix(solo): keep every contributed destination action (block#3516)
  fix(identity): report an issuer that keeps rate-limiting an agent as a limit (block#2365)
  fix(identity): let a stuck at-launch sign-in copy its link (block#2453)
  fix(profiles): open avatar previews on hover in compact density (block#3510)
  ...

Signed-off-by: Joah Gerstenberg <[email protected]>

# Conflicts:
#	src/bundled/codex/prompt.test.ts
#	src/bundled/goose/runtime.ts
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.

4 participants