feat(issues): GA streamlined issue actions, backport to old ui#105863
feat(issues): GA streamlined issue actions, backport to old ui#105863
Conversation
Replaces the old issue ui actions with the new issue actions UI which lets us clean up a bunch of duplicate code we had to support both UIs. Fixes a bug where they would overflow after a change in #99177
JonasBa
left a comment
There was a problem hiding this comment.
Nit comment about the open functionality, but this is a very nice cleanup 🧹
static/app/views/issueDetails/streamline/sidebar/externalIssueSidebarList.tsx
Show resolved
Hide resolved
| if (externalIssue) { | ||
| return; | ||
| } |
There was a problem hiding this comment.
Does this ever happen, or is it just for safety? Maybe this check should exist outside of this handler so that it doesn't result in a dead click? Depending on the usage, I would probably propose something like this
<Button disabled={!!externalIssue} ... />
function openSentryAppIssueModal(options){
if(!options.externalissue) throw new Error(...)
}There was a problem hiding this comment.
i'm not sure it was just there before, just co-locating the function
There was a problem hiding this comment.
removed, we check for this already in the new flow
| project={feedbackItem.project} | ||
| event={eventData} | ||
| /> | ||
| <Flex direction="row" gap="md"> |
There was a problem hiding this comment.
row is default so this is unnecessary, but it doesn't really matter tbh as being explicit is also nice
There was a problem hiding this comment.
yeah its what they used in this pr but i'm moving it here https://github.com/getsentry/sentry/pull/99177/changes#diff-dbd3815b3ce60dea1f2a8c03526c30f3a4ab685b7cf8fe43ec51287adf77d3e7R92
| ), | ||
| {closeEvents: 'escape-key'} | ||
| ); | ||
| }; |
There was a problem hiding this comment.
Success message callback ignored due to type mismatch
Medium Severity
The openExternalIssueModal function declares onChange with type () => void, but ExternalIssueForm internally expects onChange to accept callback parameters and calls onChange(() => addSuccessMessage(MESSAGES_BY_ACTION[action])). Since refetchIntegrations is passed as onChange and it doesn't accept callback arguments, the success callback is silently ignored. Users won't see the "Successfully linked issue." or "Successfully created issue." toast messages after creating or linking external issues.
Additional Locations (1)
# Conflicts: # static/app/components/group/sentryAppExternalIssueActions.tsx # static/app/components/issueSyncListElement.tsx
Replaces the old issue ui actions with the new issue actions UI which lets us clean up a bunch of duplicate code we had to support both UIs.
Fixes a bug where they would overflow after a change in #99177

old issue ui before

old issue ui after

old issue ui empty state after
