Skip to content

feat(avatars): Replace avatar chooser radios with an action menu#119139

Draft
cvxluo wants to merge 1 commit into
masterfrom
cvxluo/replace-avatar-chooser-radios-with-an-action-menu
Draft

feat(avatars): Replace avatar chooser radios with an action menu#119139
cvxluo wants to merge 1 commit into
masterfrom
cvxluo/replace-avatar-chooser-radios-with-an-action-menu

Conversation

@cvxluo

@cvxluo cvxluo commented Jul 7, 2026

Copy link
Copy Markdown
Contributor

Replace the avatar chooser's radio group, per-panel save button, and hovercard cropper with a single Change menu and a modal crop dialog. Choices save immediately on selection, with an undo toast when switching between avatar sources. Cropping happens in a modal with a single confirm step instead of the cramped hovercard, unifying the two previous save models.

The chooser now renders as a settings field row instead of its own panel, and each settings page embeds it in its existing field group: next to the display name for organizations, in the account details group for users, in the team settings group for teams, and in a new Branding panel that unifies the logo and small icon rows for sentry apps.

Also fix two call-site issues surfaced by the stricter onSave typing: the sentry app page's query-cache update destructured a field the avatar endpoint never returns, and the doc integration chooser in gsAdmin rendered no preview at all.

Legal Boilerplate

Look, I get it. The entity doing business as "Sentry" was incorporated in the State of Delaware in 2015 as Functional Software, Inc. and is gonna need some rights from me in order to utilize my contributions in this here PR. So here's the deal: I retain all rights, title and interest in and to my contributions, and by keeping this boilerplate intact I confirm that Sentry can use, modify, copy, and redistribute my contributions, under Sentry's choice of terms.

@github-actions github-actions Bot added the Scope: Frontend Automatically applied to PRs that change frontend components label Jul 7, 2026
@github-actions

github-actions Bot commented Jul 7, 2026

Copy link
Copy Markdown
Contributor

📊 Type Coverage Diff

Metric Before After Delta
Coverage 93.91% 93.91% ±0%
Typed 134,019 134,005 🔴 -14
Untyped 8,691 8,691 ±0
🔍 2 new type safety issues introduced

Type assertions (as) (2 new)

File Line Detail
static/app/components/avatarChooser/index.tsx 143 as SentryApptargetModel as SentryApp
static/app/components/avatarChooser/index.tsx 277 as DocIntegrationmodel as DocIntegration

This is informational only and does not block the PR.

…ding

Behind organizations:sentry-app-branding-v2, replace the sentry app
details page's two avatar chooser panels with an Identity section at the
top of the page: name and author become auto-save rows (the org-settings
pattern), and the logo/small icon rows preview the avatar and save
immediately from a Change menu, cropping uploads in a modal and offering
an undo toast when switching sources. Name and author leave the explicit
Save Changes form; the backend supports partial PUTs and never
regenerates the slug on rename.

With the flag off the page renders exactly as before. Also fix the
query-cache update after avatar saves, which destructured a field the
avatar endpoint never returns and silently did nothing.

Co-authored-by: Claude <noreply@anthropic.com>
@cvxluo cvxluo force-pushed the cvxluo/replace-avatar-chooser-radios-with-an-action-menu branch from 9e5294a to e1bd682 Compare July 8, 2026 19:18
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Scope: Frontend Automatically applied to PRs that change frontend components

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant