Skip to content

chore: simplify providers, workflows, and update ui#122

Merged
sasicodes merged 5 commits into
mainfrom
chore/remove-google-workflow-rename-and-update-button
Jul 6, 2026
Merged

chore: simplify providers, workflows, and update ui#122
sasicodes merged 5 commits into
mainfrom
chore/remove-google-workflow-rename-and-update-button

Conversation

@sasicodes

@sasicodes sasicodes commented Jul 6, 2026

Copy link
Copy Markdown
Owner

What changed

Google/Gemini removal

  • Dropped the Google provider entirely: model allowlist (main/models.ts), ProviderKey/ModelProviderId types, auth status, web search provider (search/google.ts deleted), model picker UI, and the provider settings accordion
  • Removed the now-unused GeminiIcon

Sub-agent tool rename

  • Renamed the subagent_spawn tool identifier to run_workflow (verb_noun, matching create_session, list_worktrees, etc.)
  • Kept all user-facing labels/titles as "sub-agents" (label, tool description, activity titles) since that's still the underlying mechanism

Provider settings redesign

  • Replaced the small "or / Connect subscription" text link with a full-width "Log in with Anthropic" / "Log in with OpenAI" button, sized and colored to match the API key input field, with a centered "or" divider between them

Update button redesign

  • Split the Update button into a two-segment pill (matching the workspace picker's segmented style): left segment is the existing download/install action, right segment is a new icon-only link to the GitHub releases page
  • The release-notes segment only shows for available/downloading states; the downloaded (Restart) state falls back to the original plain, symmetrically-padded button
  • Fixed a layout-shift bug: the downloading percentage now renders in a fixed-width centered slot so the button doesn't visually jitter as the number changes from 1 to 100
  • Applied the same right-padding fix to the workspace picker's chevron segment for visual consistency

AGENTS.md cleanup

  • Merged several duplicated/overlapping rules (PR review comments, prop naming, absent-value handling, file/folder naming) into single, clearer bullets without losing any original context
  • Added a rule requiring all automated PR review comments to be resolved before merging

Testing

  • pnpm check (lint, format, desktop typecheck) - clean
  • pnpm --filter @start/desktop vitest run - 800 tests passing

Greptile Summary

This PR drops the Google/Gemini provider entirely, renames the subagent_spawn tool to run_workflow, redesigns the provider-settings and update-button UI, and consolidates duplicated rules in AGENTS.md. All changes are internally consistent — types, allowlists, UI components, search routing, tests, and icons are updated in lock-step.

  • Google removal: ProviderKey, ModelProviderId, WebSearchProvider, model picker, provider accordion, search routing, GeminiIcon, and all tests are cleaned up together with no leftover references.
  • run_workflow rename: The internal tool identifier is updated everywhere (definition, display logic, tests); user-visible labels remain "sub-agents".
  • UI changes: The update button is split into a segmented pill that shows a fixed-width percentage slot while downloading and a release-notes icon link; the provider-settings accordion replaces the small "Connect subscription" text link with a full-width "Log in with" button; the workspace picker's chevron segment padding is aligned to match.

Confidence Score: 5/5

Clean, internally consistent changes; the Google removal is exhaustive and the UI redesigns follow existing patterns.

Every Google reference — types, allowlist, search router, icons, UI components, tests — is removed in lock-step. The run_workflow rename is consistent across definition, detail logic, and tests. The UI changes are additive and isolated to specific components. No dependency version changes were made. The pnpm check and 800-test suite passing give confidence nothing regressed.

No files require special attention.

Important Files Changed

Filename Overview
packages/desktop/src/renderer/src/shared/updates/index.tsx Update button split into a two-segment pill with a separate release-notes link; downloading state shows a fixed-width percentage slot; showReleaseNotes correctly hides the release-notes segment in the downloaded (Restart) state
packages/desktop/src/renderer/src/shared/settings/providers.tsx Google provider removed; "Log in with" button and "or" divider now wrapped in a single supportsSubscription conditional fragment, addressing the previously flagged duplicate guard
packages/desktop/src/main/providers/tools/search/providers.ts Google search provider removed and import cleaned up; fallthrough to searchAnthropic is now type-exhaustive with the updated WebSearchProvider union
packages/desktop/src/main/tools/details.ts All subagent_spawn string comparisons replaced via the new isWorkflowTool helper, which is used six times and is not single-use indirection
packages/desktop/src/renderer/src/ui/icons.tsx GeminiIcon removed; NoteTextIcon added for the release-notes link, following the existing stroke-* kebab-case attribute convention used throughout the file

Flowchart

%%{init: {'theme': 'neutral'}}%%
flowchart TD
    A[runWebSearch] --> B{searchProvider}
    B -->|openai| C[searchOpenAi]
    B -->|anthropic| D[searchAnthropic]
    B -->|null| E[throw unsupported]
    B -.->|google - REMOVED| F[searchGoogle - DELETED]

    G[Update component] --> H{status}
    H -->|available / downloading| I[Left: action button\nRight: release notes link]
    H -->|downloaded| J[Plain rounded-full\nRestart button]

    K[Providers accordion] --> L{supportsSubscription}
    L -->|true| M[Log in with X button\nor divider\nAPI key input]
    L -->|false| N[API key input only]
Loading
%%{init: {'theme': 'base', 'themeVariables': {"darkMode": true, "background": "#0d1117", "primaryColor": "#21262d", "primaryTextColor": "#e6edf3", "primaryBorderColor": "#8b949e", "lineColor": "#8b949e", "textColor": "#e6edf3", "edgeLabelBackground": "#161b22", "actorBkg": "#21262d", "actorBorder": "#8b949e", "actorTextColor": "#e6edf3", "actorLineColor": "#8b949e", "signalColor": "#8b949e", "signalTextColor": "#e6edf3", "noteBkgColor": "#373320", "noteBorderColor": "#d4a72c", "noteTextColor": "#f0e6c0", "labelBoxBkgColor": "#21262d", "labelBoxBorderColor": "#8b949e", "labelTextColor": "#e6edf3", "loopTextColor": "#e6edf3", "activationBkgColor": "#30363d", "activationBorderColor": "#8b949e"}}}%%
flowchart TD
    A[runWebSearch] --> B{searchProvider}
    B -->|openai| C[searchOpenAi]
    B -->|anthropic| D[searchAnthropic]
    B -->|null| E[throw unsupported]
    B -.->|google - REMOVED| F[searchGoogle - DELETED]

    G[Update component] --> H{status}
    H -->|available / downloading| I[Left: action button\nRight: release notes link]
    H -->|downloaded| J[Plain rounded-full\nRestart button]

    K[Providers accordion] --> L{supportsSubscription}
    L -->|true| M[Log in with X button\nor divider\nAPI key input]
    L -->|false| N[API key input only]
Loading

Reviews (2): Last reviewed commit: "chore: centralize run_workflow tool iden..." | Re-trigger Greptile

Context used:

  • Context used - AGENTS.md (source)

Comment thread packages/desktop/src/renderer/src/shared/settings/providers.tsx Outdated
@sasicodes sasicodes merged commit 6af967f into main Jul 6, 2026
4 checks passed
@sasicodes sasicodes deleted the chore/remove-google-workflow-rename-and-update-button branch July 6, 2026 09:38
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