Skip to content

Conversation

@estrada9166
Copy link
Member

@estrada9166 estrada9166 commented Oct 22, 2025

Additional details

Steps to test

How has the user experience changed?

PR Tasks


Note

Adds a self-healed badge to command logs and the test header, with state propagation from commands to tests and accompanying tests/styles/assets.

  • Reporter UI:
    • Display self-healed badge on command messages when renderProps.selfHealed is set in packages/reporter/src/commands/command.tsx via new SelfHealedBadge component.
    • Show self-healed badge at the test level in packages/reporter/src/test/test.tsx when the test is marked self-healed.
  • Models/State:
    • Add selfHealed to RenderProps and computed isSelfHealed on Command (packages/reporter/src/commands/command-model.ts).
    • In Attempt, propagate self-healed from command logs to the parent test (test.setIsSelfHealed(true)) on add/update (packages/reporter/src/attempts/attempt-model.ts).
    • Add _isSelfHealed, setter/getter on Test to track and expose self-healed state (packages/reporter/src/test/test-model.ts).
  • Styles/Assets:
    • New sparkle_x16.svg icon and SelfHealedBadge component with styles (packages/reporter/src/lib/selfHealedBadge.tsx, packages/reporter/src/lib/selfHealedBadge.scss), imported in main.scss and main-runner.scss.
  • Tests:
    • Add Cypress E2E tests for self-healed badge rendering and behavior with nested/long messages in packages/reporter/cypress/e2e/commands.cy.ts.

Written by Cursor Bugbot for commit e916838. This will update automatically on new commits. Configure here.

@estrada9166 estrada9166 marked this pull request as ready for review October 23, 2025 18:20
…com:cypress-io/cypress into alejandro/chore/implement-self-healed-badge
@estrada9166 estrada9166 marked this pull request as draft October 23, 2025 18:25
@cypress
Copy link

cypress bot commented Oct 23, 2025

cypress    Run #66824

Run Properties:  status check passed Passed #66824  •  git commit e91683873e: Update with cursor review
Project cypress
Branch Review alejandro/chore/implement-self-healed-badge
Run status status check passed Passed #66824
Run duration 19m 29s
Commit git commit e91683873e: Update with cursor review
Committer estrada9166
View all properties for this run ↗︎

Test results
Tests that failed  Failures 0
Tests that were flaky  Flaky 11
Tests that did not run due to a developer annotating a test with .skip  Pending 1102
Tests that did not run due to a failure in a mocha hook  Skipped 4
Tests that passed  Passing 26757
View all changes introduced in this branch ↗︎

Warning

Partial Report: The results for the Application Quality reports may be incomplete.

UI Coverage  45.74%
  Untested elements 186  
  Tested elements 161  
Accessibility  97.98%
  Failed rules  4 critical   8 serious   2 moderate   2 minor
  Failed elements 101  

@estrada9166 estrada9166 marked this pull request as ready for review October 23, 2025 19:17
cursor[bot]

This comment was marked as outdated.

cursor[bot]

This comment was marked as outdated.

cursor[bot]

This comment was marked as outdated.


get isSelfHealed () {
return this._isSelfHealed
}
Copy link

Choose a reason for hiding this comment

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

Bug: Self-Heal Flag Persistence Across Test Attempts

The _isSelfHealed flag is never reset between test retries. Once set to true when a self-healed command is encountered in one attempt, it remains true for all subsequent attempts, even if those attempts don't contain self-healed commands. The isSelfHealed getter should compute the status from the current attempt(s) rather than storing a persistent flag. This will cause the self-healed badge to incorrectly display on tests that had self-healed commands in earlier attempts but not in the final attempt.

Fix in Cursor Fix in Web

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant