Skip to content

feat: BridgeStatusController track max polling reached and manually restarted polling events#7825

Merged
infiniteflower merged 5 commits intomainfrom
swaps-3179-100percent-polling-event
Feb 5, 2026
Merged

feat: BridgeStatusController track max polling reached and manually restarted polling events#7825
infiniteflower merged 5 commits intomainfrom
swaps-3179-100percent-polling-event

Conversation

@infiniteflower
Copy link
Contributor

@infiniteflower infiniteflower commented Feb 3, 2026

Explanation

This PR tracks a new event Unified SwapBridge Polling Status Updated to better understand some possible discrepancies in the data. Currently Submitted != Completed + Failed. In the screenshots, retry_attempts is 1, since I artificially lowered it for testing.

Screenshot 2026-02-04 at 3 00 23 PM Screenshot 2026-02-04 at 3 00 51 PM

References

Related to https://consensyssoftware.atlassian.net/browse/SWAPS-3179

Checklist

  • I've updated the test suite for new or updated code as appropriate
  • I've updated documentation (JSDoc, Markdown, etc.) for new or updated code as appropriate
  • I've communicated my changes to consumers by updating changelogs for packages I've changed
  • I've introduced breaking changes in this PR and have prepared draft pull requests for clients and consumer packages to resolve them

Note

Medium Risk
Updates bridge status polling stop/restart paths to emit a new metrics event; mistakes could affect polling lifecycle behavior or analytics accuracy, but no security-sensitive logic is changed.

Overview
Adds a new Unified SwapBridge metrics event, UnifiedSwapBridgeEventName.PollingStatusUpdated, with a PollingStatus enum (max_polling_reached, manually_restarted) and corresponding typed payload requirements.

BridgeStatusController now emits PollingStatusUpdated when polling is stopped after hitting MAX_ATTEMPTS, and when polling is manually restarted via restartPollingForFailedAttempts (including the retry attempt count). Changelogs and eslint suppression configuration are updated accordingly.

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

Track when polling has reached maximum attempts and stops, emitting
the same properties as the Submitted event plus polling_attempts count.
…s event

Track when polling is manually restarted via restartPollingForFailedAttempts,
emitting the same properties as the Submitted event plus polling_attempts count.
…files

Enable linting for @typescript-eslint/naming-convention in
constants.ts and types.ts under bridge-controller metrics.
@infiniteflower infiniteflower marked this pull request as ready for review February 3, 2026 21:33
@infiniteflower infiniteflower requested review from a team as code owners February 3, 2026 21:33
Combine MaxPollingReached and PollingManuallyRestarted events into
a single PollingStatusUpdated event with a polling_status property
to distinguish between the two cases.
@infiniteflower infiniteflower added this pull request to the merge queue Feb 5, 2026
Merged via the queue into main with commit d092f17 Feb 5, 2026
302 checks passed
@infiniteflower infiniteflower deleted the swaps-3179-100percent-polling-event branch February 5, 2026 16:32
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.

3 participants