diff --git a/static/app/actionCreators/group.tsx b/static/app/actionCreators/group.tsx index 43c3e3737f50..56f72118a378 100644 --- a/static/app/actionCreators/group.tsx +++ b/static/app/actionCreators/group.tsx @@ -162,11 +162,7 @@ export async function bulkUpdate( type MergeGroupsParams = UpdateParams; -export async function mergeGroups( - api: Client, - params: MergeGroupsParams, - options: RequestCallbacks = {} -) { +export async function mergeGroups(api: Client, params: MergeGroupsParams): Promise { const {itemIds} = params; const path = getUpdateUrl(params); @@ -175,25 +171,18 @@ export async function mergeGroups( GroupStore.onMerge(id, itemIds); - let responseMeta: any; - let statusText: string | undefined; - try { - const [response, status, meta] = await api.requestPromise(path, { + const [response] = await api.requestPromise(path, { query, method: 'PUT', data: {merge: 1}, includeAllArgs: true, }); - statusText = status; - responseMeta = meta; GroupStore.onMergeSuccess(id, itemIds, response); - options?.success?.(response, statusText, responseMeta); + return response; } catch (error) { GroupStore.onMergeError(id, itemIds, error); - options?.error?.(error); - } finally { - options?.complete?.(responseMeta, statusText ?? ''); + throw error; } } diff --git a/static/app/views/issueDetails/groupSimilarIssues/similarStackTrace/index.tsx b/static/app/views/issueDetails/groupSimilarIssues/similarStackTrace/index.tsx index 3d6849ccb40c..0c42bfecf512 100644 --- a/static/app/views/issueDetails/groupSimilarIssues/similarStackTrace/index.tsx +++ b/static/app/views/issueDetails/groupSimilarIssues/similarStackTrace/index.tsx @@ -94,21 +94,11 @@ export function SimilarStackTrace({project}: Props) { {ids: string[]; projectSlug: string; query?: string} >({ mutationFn: ({ids, projectSlug, query}) => - new Promise((resolve, reject) => { - mergeGroups( - api, - { - orgId: organization.slug, - projectId: projectSlug, - itemIds: [...ids, params.groupId], - query, - }, - { - success: (data: any) => resolve(data), - error: (err: any) => - reject(err instanceof Error ? err : new Error('Failed to merge issues')), - } - ); + mergeGroups(api, { + orgId: organization.slug, + projectId: projectSlug, + itemIds: [...ids, params.groupId], + query, }), onSuccess: data => { if (data?.merge?.parent && data.merge.parent !== params.groupId) { diff --git a/static/app/views/issueList/actions/index.tsx b/static/app/views/issueList/actions/index.tsx index aa7343436264..b58d0496e47c 100644 --- a/static/app/views/issueList/actions/index.tsx +++ b/static/app/views/issueList/actions/index.tsx @@ -223,18 +223,14 @@ export function IssueListActions({ function handleMerge() { actionSelectedGroups(itemIds => { - mergeGroups( - api, - { - orgId: organization.slug, - itemIds, - query: queryExcludingPerformanceIssues, - project: selection.projects, - environment: selection.environments, - ...selection.datetime, - }, - {} - ); + mergeGroups(api, { + orgId: organization.slug, + itemIds, + query: queryExcludingPerformanceIssues, + project: selection.projects, + environment: selection.environments, + ...selection.datetime, + }).catch(() => {}); if (selection.projects[0]) { const trackProject = ProjectsStore.getById(`${selection.projects[0]}`); trackAnalytics('issues_stream.merged', {