Skip to content

feat(issues): Implement UI for new Seer actions included in issue activity#115525

Open
shashjar wants to merge 2 commits into
masterfrom
shashjar/implement-ui-for-new-seer-actions-in-issue-activity
Open

feat(issues): Implement UI for new Seer actions included in issue activity#115525
shashjar wants to merge 2 commits into
masterfrom
shashjar/implement-ui-for-new-seer-actions-in-issue-activity

Conversation

@shashjar
Copy link
Copy Markdown
Member

Resolves ID-1527.

Follow-up to #115486.

Adds 7 new GroupActivityType enum values for Seer pipeline stages, to match the backend updates previously made in the above PR. These Seer actions are then rendered as part of issue activity in both the classic and streamlined issue detail views (using IconSeer).

Gated behind an organization-level feature flag for initial rollout: organizations:seer-activity-timeline.

@linear-code
Copy link
Copy Markdown

linear-code Bot commented May 13, 2026

ID-1527

@github-actions github-actions Bot added the Scope: Frontend Automatically applied to PRs that change frontend components label May 13, 2026

{group.activity.map(item => {
const authorName = item.user ? item.user.name : 'Sentry';
{group.activity
Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

idk why the diff in this file is so bad - use Hide whitespace to review

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

thanks for calling this out! 🙏

@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented May 13, 2026

📊 Type Coverage Diff

✅ No new type safety issues introduced. Coverage: 93.51%

};
case GroupActivityType.SEER_RCA_STARTED:
return {
title: t('Root Cause Analysis'),
Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Open to thoughts on the text/detail/metadata provided in each of these activity types - definitely something we can/will iterate on

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

👍 i think for now these all seem great, agree that this is a simple update if we want in the future.

@shashjar shashjar requested review from a team May 13, 2026 22:45
@shashjar shashjar marked this pull request as ready for review May 13, 2026 22:45
Copy link
Copy Markdown
Contributor

@saponifi3d saponifi3d left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

really just nitpicks and small things we could clean-up; it'd be nice if we can determine if seer can support a normalized data payload for this / future PRs.

type: GroupActivityType.SEER_CODING_COMPLETED;
}

interface GroupActivitySeerPrCreated extends GroupActivityBase {
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

if we end up normalizing this in seer, then we can probably make a GroupSeerActivity or something to handle all of these 🎉

let's try to determine if we can normalize everything from seer asap so we can clean this / the activity code up, and before it proliferates too much.

};
case GroupActivityType.SEER_RCA_STARTED:
return {
title: t('Root Cause Analysis'),
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

👍 i think for now these all seem great, agree that this is a simple update if we want in the future.

},
},
[GroupActivityType.DELETED_ATTACHMENT]: {Component: IconDelete, defaultProps: {}},
[GroupActivityType.SEER_RCA_STARTED]: {Component: IconSeer, defaultProps: {}},
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thoughts on adding the animation="waiting" prop for the STARTED actions?

[GroupActivityType.SEER_SOLUTION_STARTED]: {Component: IconSeer, defaultProps: {}},
[GroupActivityType.SEER_SOLUTION_COMPLETED]: {Component: IconSeer, defaultProps: {}},
[GroupActivityType.SEER_CODING_STARTED]: {Component: IconSeer, defaultProps: {}},
[GroupActivityType.SEER_CODING_COMPLETED]: {Component: IconSeer, defaultProps: {}},
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

thoughts on using the accent variant for completed? so we can see it in sentry purple -- or maybe success to see it in green?


{group.activity.map(item => {
const authorName = item.user ? item.user.name : 'Sentry';
{group.activity
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

thanks for calling this out! 🙏

Comment on lines +62 to +67
{group.activity
.filter(
item =>
!SEER_ACTIVITY_TYPES.has(item.type) ||
organization.features.includes('seer-activity-timeline')
)
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nit: i'd recommend pulling this out of the render logic and make it a const, visible_activities or something like that. just helps with readability.

return t('Seer completed implementing a fix');
case GroupActivityType.SEER_PR_CREATED: {
const {data: prData} = activity;
const pr = prData.pull_requests?.[0];
Copy link
Copy Markdown
Contributor

@saponifi3d saponifi3d May 13, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

i think we'd probably want to show the links for all of these; maybe this could just iterate and build a ul of PRs for review?

if we can get the PR title, maybe we say something like:

▲ Seer Opened Pull Requests

Comment on lines +625 to +630
case GroupActivityType.SEER_RCA_COMPLETED:
return t('Seer completed root cause analysis');
case GroupActivityType.SEER_SOLUTION_STARTED:
return t('Seer started developing a solution');
case GroupActivityType.SEER_SOLUTION_COMPLETED:
return t('Seer completed developing a solution');
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this file only appears on the feedback page we likely don't need to bother here

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

Labels

Scope: Frontend Automatically applied to PRs that change frontend components

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants