diff --git a/app/assets/javascripts/jira_import/components/jira_import_form.vue b/app/assets/javascripts/jira_import/components/jira_import_form.vue index 6f2fb41ca15e62a0b0223340e8c594f14bb62da4..e7816f6d1877817f9f9a00776c41d3d797e58e74 100644 --- a/app/assets/javascripts/jira_import/components/jira_import_form.vue +++ b/app/assets/javascripts/jira_import/components/jira_import_form.vue @@ -168,10 +168,12 @@ export default { }) .then(({ data }) => { this.users = - data?.project?.projectMembers?.nodes?.map(({ user }) => ({ - ...user, - id: getIdFromGraphQLId(user.id), - })) || []; + data?.project?.projectMembers?.nodes + .filter((x) => x?.user) + .map(({ user }) => ({ + ...user, + id: getIdFromGraphQLId(user.id), + })) || []; return this.users; }) .finally(() => { diff --git a/app/assets/javascripts/vue_shared/components/user_select/user_select.vue b/app/assets/javascripts/vue_shared/components/user_select/user_select.vue index 94166d74c1abf6bdf445960af8df17cd5ea7b1d4..04e44aa2ed191bb25ac445489e3dfd921f8483ab 100644 --- a/app/assets/javascripts/vue_shared/components/user_select/user_select.vue +++ b/app/assets/javascripts/vue_shared/components/user_select/user_select.vue @@ -113,7 +113,7 @@ export default { update(data) { // TODO Remove null filter (BE fix required) // https://gitlab.com/gitlab-org/gitlab/-/issues/329750 - return data.workspace?.users?.nodes.filter((x) => x).map(({ user }) => user) || []; + return data.workspace?.users?.nodes.filter((x) => x?.user).map(({ user }) => user) || []; }, debounce: ASSIGNEES_DEBOUNCE_DELAY, error({ graphQLErrors }) { diff --git a/ee/app/assets/javascripts/boards/components/epic_filtered_search.vue b/ee/app/assets/javascripts/boards/components/epic_filtered_search.vue index 29a9b7425a4025f192d5bdb62324a9da4932956f..882d717962b8cc2e5d3162381380d6ed69fdf8ed 100644 --- a/ee/app/assets/javascripts/boards/components/epic_filtered_search.vue +++ b/ee/app/assets/javascripts/boards/components/epic_filtered_search.vue @@ -60,7 +60,9 @@ export default { search: authorsSearchTerm, }, }) - .then(({ data }) => data.group?.groupMembers.nodes.map((item) => item.user)); + .then(({ data }) => + data.group?.groupMembers.nodes.filter((x) => x?.user).map(({ user }) => user), + ); }, fetchLabels(labelSearchTerm) { return this.$apollo diff --git a/ee/app/assets/javascripts/boards/stores/actions.js b/ee/app/assets/javascripts/boards/stores/actions.js index a18a31f258452b94f712c9def26f2f37748974b3..0802954cf1841a7dce3899dcda6f13191c24a099 100644 --- a/ee/app/assets/javascripts/boards/stores/actions.js +++ b/ee/app/assets/javascripts/boards/stores/actions.js @@ -535,14 +535,17 @@ export default { }) .then(({ data }) => { const [firstError] = data.workspace.errors || []; - const assignees = data.workspace.assignees.nodes; + const assignees = data.workspace.assignees.nodes + .filter((x) => x?.user) + .map(({ user }) => user); if (firstError) { throw new Error(firstError); } commit( types.RECEIVE_ASSIGNEES_SUCCESS, - assignees.map(({ user }) => user), + // User field is nullable and we only want to display non-null users + assignees, ); }) .catch((e) => { diff --git a/ee/app/assets/javascripts/oncall_schedules/components/rotations/components/add_edit_rotation_modal.vue b/ee/app/assets/javascripts/oncall_schedules/components/rotations/components/add_edit_rotation_modal.vue index 3bc61e4b119bc6f24c29069d33a8474944ba1c30..e298e670047f3b18461379ae217642c6b796775f 100644 --- a/ee/app/assets/javascripts/oncall_schedules/components/rotations/components/add_edit_rotation_modal.vue +++ b/ee/app/assets/javascripts/oncall_schedules/components/rotations/components/add_edit_rotation_modal.vue @@ -94,7 +94,7 @@ export default { }; }, update({ project: { projectMembers: { nodes = [] } = {} } = {} } = {}) { - return nodes.map(({ user }) => ({ ...user })); + return nodes.filter((x) => x?.user).map(({ user }) => ({ ...user })); }, error(error) { this.error = error;