Skip to content

fix(issues): Exclude duplicate external issue actions from activity feed - #129439

Open
sentry[bot] wants to merge 1 commit into
masterfrom
seer/fix/issues-exclude-external-issue-action-dupes
Open

sentry[bot] wants to merge 1 commit into
masterfrom
seer/fix/issues-exclude-external-issue-action-dupes

Conversation

@sentry

@sentry sentry Bot commented Oct 31, 2026

Copy link
Copy Markdown
Contributor

Every external issue create/link action already emits an Activity row (CREATE_ISSUE) which is mirrored into the action log and rendered as Created/Linked {provider} issue in the feed.

Serving the action-log-only CREATE_EXTERNAL_ISSUE, LINK_EXTERNAL_ISSUE, CREATE_PLATFORM_EXTERNAL_ISSUE, and LINK_PLATFORM_EXTERNAL_ISSUE entries in get_serialized_activity_items introduced duplicate items in the issue activity feed. Furthermore, because these action types have no Activity equivalent, GroupActionLogEntrySerializer serialized their type using obj.get_type_display() as uppercase strings (e.g. CREATE_EXTERNAL_ISSUE), causing the frontend activityItem() switch to fall through to Sentry.captureMessage reporting Unknown group activity type: CREATE_EXTERNAL_ISSUE.

Changes:

  • Exclude CREATE_EXTERNAL_ISSUE, LINK_EXTERNAL_ISSUE, CREATE_PLATFORM_EXTERNAL_ISSUE, and LINK_PLATFORM_EXTERNAL_ISSUE from the feed candidate queries and fallback check in get_serialized_activity_items via FEED_EXCLUDED_ACTION_TYPES.
  • Normalize fallback serialized action types to lowercase (obj.get_type_display().lower()), matching Activity serialization conventions so action-log-only types like unlink_external_issue match frontend enum values.
  • Add unit tests in tests/sentry/api/serializers/test_groupactionlogentry.py covering serialization case, feed exclusion, and fallback behavior.

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.

Fixes JAVASCRIPT-3FMR

@sentry <feedback>: Autofix iterates on these changes
@sentry stop iterating: Autofix stops iterating on this run

This PR was automatically generated by Sentry. You can adjust this setting at any time.

@sentry
sentry Bot requested a review from a team as a code owner October 31, 2026 23:03
@github-actions github-actions Bot added the Scope: Backend Automatically applied to PRs that change backend components label Oct 31, 2026

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Scope: Backend Automatically applied to PRs that change backend components

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants