Skip to content

Show an error when LAND publishing cannot progress #1494

Description

@decentraland-bot

Description

When Creator Hub deploys a scene to LAND and the underlying deployment request fails (for example because the Catalyst content server rejects the browser preflight for the identity headers tracked in decentraland/catalyst#1962), the publish modal can remain in the PUBLISHING... state instead of surfacing a user-facing failure.

The reported behavior was that LAND publishing stayed on the loading screen for ~1 hour across 3 attempts on Windows. Publishing to a World worked in the same environment.

Steps to Reproduce

  1. Open Creator Hub on Windows.
  2. Deploy a scene to LAND.
  3. Trigger a deployment request failure before the deployment can be accepted by the content server, e.g. the current Catalyst CORS preflight rejection for X-Identity-* headers.
  4. Observe the publish modal.

Expected Behavior

Creator Hub should stop the publishing spinner and show an actionable error state when the deployment request fails or cannot progress.

Ideally it should:

  • catch the failed deployment request / browser fetch error
  • transition the deployment to failed
  • show the existing deployment error UI instead of keeping the modal in PUBLISHING...
  • include a timeout/fallback for cases where the deployment never progresses

Code Context

The deployment UI already has a failed state, but the current flow can leave the modal pending while the user waits:

  • packages/creator-hub/renderer/src/components/Modals/PublishProject/steps/Deploy/component.tsx renders Deploying while deployment.status === 'pending'.
  • packages/creator-hub/renderer/src/modules/store/deployment/slice.ts sets the deployment to pending on executeDeployment.pending and only moves to failed when executeDeployment.rejected is reached.
  • packages/creator-hub/renderer/src/modules/store/deployment/utils.ts has a 60-minute polling window (maxRetries = minutes(60) / retryDelayInMs) for deployment status checks.
  • Deploy request errors are handled through the deployment thunk, but failures that do not become a rejected executeDeployment promptly can keep the modal in the publishing state for too long.

Related Issues

Reporter

Reported by Dawid.
Requested by Lautaro Petaccio (<@U025WCHLMN3>)

Metadata

Metadata

Assignees

No one assigned

    Labels

    2-mediumMedium severity issuesNeeds QA validationThe issue should be validated by QAbugSomething isn't workingui/uxuser-issueIf the issue is submitted by user

    Type

    No type

    Projects

    Status
    Todo

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions