-
-
Notifications
You must be signed in to change notification settings - Fork 4.6k
feat(issues): GA streamlined issue actions, backport to old ui #105863
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
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.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
i'm not sure it was just there before, just co-locating the function
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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
