UI should verify operation success before prompting "Retry" on timeout for content mutations

XMLWordPrintable

    • 1
    • Minor

      Problem

      Currently, when a user creates an inline comment, or other page mutations, the Confluence UI has a shorter timeout threshold than the backend gateway (typically ~15-30s vs 52s). If a backend operation is slow but ultimately succeeds, the UI reports a failure and explicitly instructs the user to "Save the comment again."

      This behaviour creates a "false failure" state. Because the backend operation actually completed, the user's manual retry results in duplicate comments. The system is actively guiding users to create duplicate data whenever the backend is under load or experiencing transient latency.

      Suggested Solution

      The UI should implement a State Reconciliation check before displaying a failure prompt.

      • If a mutation times out, the client should perform a background check (e.g., a quick fetch or checking the local cache against the server state) to see if the comment was successfully created.
      • If the comment exists, the UI should transition to a "Success" state rather than prompting a retry.
      • If the comment does not exist, only then should the "Retry" prompt be shown.

      Why This Is Important

      This is important because the current UI behaviour forces users to create duplicate data. When the system reports a failure for an operation that actually succeeded, it leads to data clutter, user frustration, and a loss of trust in the UI's status messages. Implementing state reconciliation ensures data integrity even during periods of transient latency.

      Workaround

      If a "Something went wrong" error appears during a period of high latency, users should refresh the page to verify if the comment or edit was saved before attempting to "Save" again. This prevents the creation of duplicate data.

              Assignee:
              Unassigned
              Reporter:
              Drew Rowell
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

                Created:
                Updated: