Skip to content

[Phase 5] Sync Problems Page — List and Retry Failed Syncs #36

Description

@ViRUS-0-0

Description:

When a sync fails or gets stuck, there's currently nowhere for an organiser to see it. This issue adds a dedicated page under the HubSpot section that lists every order that hasn't synced successfully, with the reason why and actions to fix it.

Tasks:

  • Add a "Sync problems" page linked from the HubSpot settings page
  • The page lists all sync records for that event with status pending or failed, showing: order code, status (pending / failed), when it last attempted, and the error message in plain language
  • Add a filter to switch between showing pending only, failed only, or all problem records
  • Add a "Retry" button on each row — clicking it re-queues just that one order and sets its status back to pending
  • Add a "Retry all failed" button at the top that re-queues every failed record at once
  • Add a "Dismiss" button on each row — clicking it marks the record as dismissed so it no longer appears in the problems list, without deleting the history
  • If there are no problem records, show a clean "Everything is synced" message instead of an empty table
  • The page is only visible to organisers with access to that event
  • Write tests checking: retry re-queues the task, dismiss removes it from the list, "retry all" re-queues every failed record, records from other events never appear

Acceptance Criteria:

  • Organisers can see all stuck or failed syncs in one list
  • Retrying a single record re-queues it and updates its status
  • Retrying all failed records works in bulk
  • Dismissing a record removes it from the problems list
  • When everything is synced the page says so clearly

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions