feat(issue-progress): add progress activity hovercard#117858
Conversation
Document why the progress activity tooltip keeps an allowlist of activity types. Co-Authored-By: Codex <noreply@openai.com>
📊 Type Coverage Diff
🔍 1 new type safety issue introduced
This is informational only and does not block the PR. |
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes and found 1 potential issue.
❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.
Reviewed by Cursor Bugbot for commit a2a32d7. Configure here.
| const {title, message} = getGroupActivityItem( | ||
| item, | ||
| organization, | ||
| group.project, | ||
| group.issueCategory, | ||
| teams | ||
| ); |
There was a problem hiding this comment.
Bug: Rendering ActivityRelease inside ProgressActivityTooltip creates nested Hovercard components, which can cause z-index stacking issues that hide the inner hovercard from view.
Severity: LOW
Suggested Fix
Prevent the rendering of a Hovercard within another. One approach is to modify the ActivityRelease component to not render a VersionHoverCard when it is a child of ProgressActivityTooltip. Instead, it could display the version information as plain text or use a non-hovercard component.
Prompt for AI Agent
Review the code at the location below. A potential bug has been identified by an AI
agent. Verify if this is a real issue. If it is, propose a fix; if not, explain why it's
not valid.
Location: static/app/views/issueList/progressActivityTooltip.tsx#L70-L76
Potential issue: The `ProgressActivityTooltip` component is a `Hovercard`. For certain
activity types like `SET_RESOLVED_IN_RELEASE`, it renders an `ActivityRelease` component
within its body. This `ActivityRelease` component in turn contains a `VersionHoverCard`,
which is another `Hovercard`. This results in nested hovercards. Both hovercards create
a portal to the `document.body`, but the z-index management does not account for
nesting. Consequently, the inner `VersionHoverCard` may be rendered underneath the outer
`ProgressActivityTooltip`, making it invisible or unusable when a user hovers over a
release version inside the tooltip.
| if ( | ||
| item.type === GroupActivityType.SET_RESOLVED_IN_PULL_REQUEST && | ||
| item.data.pullRequest?.author?.name && | ||
| !item.data.pullRequest.author.email?.endsWith('@localhost') | ||
| ) { | ||
| return item.data.pullRequest.author.name; | ||
| } |
There was a problem hiding this comment.
this is that goofyness i'm trying to fix

Closes ISWF-2874
See designs here
This adds a progress tooltip which fetches the group activity and displays the last few relevant entries.
The tooltip code is pretty simple, but most of the diff in this PR is related to breaking up the issue details activity component so that the individual parts can be imported into the issue list and used there. I didn't want to use the existing TimelineItem component because it includes logic related to comments which is not necessary in the tooltip. We may also want to add further customization later so this decouples from the details view a bit.