Skip to content

[DRAFT][ALTSPACE BUILDER] Stop reporting success after upload failures - #168

Draft
BOBWORKS-XR wants to merge 1 commit into
feature/greenfieldfrom
fix/altspace-builder-upload-result
Draft

BOBWORKS-XR wants to merge 1 commit into
feature/greenfieldfrom
fix/altspace-builder-upload-result

Conversation

@BOBWORKS-XR

Copy link
Copy Markdown

Draft status

This is intentionally a draft PR for the Altspace Builder / Creator SDK only. It is not ready to merge until the failure-path behavior is reviewed and exercised in Unity.

Closes #165.
Relates to #167.

Problem

The nested upload coroutines report errors through callbacks, but their callers do not retain a success/failure result. As a result:

  • UploadFileToWorld can continue to the attach request after the byte upload fails.
  • Generic UploadFile can invoke its success callback after the byte upload fails.
  • UploadEverything and UploadWebOnly can still display Upload complete. after a required upload or attach step fails.

Changes

  • Stop community, world, and generic upload callers when UploadFileInternal does not invoke its success callback.
  • Carry Skipped, Succeeded, and Failed outcomes from each world file into the aggregate upload operation.
  • Stop the remaining file sequence on a failed upload or attach step.
  • Report aggregate success or failure explicitly to all Builder UI callers.
  • Keep deliberately absent optional WebRoot files as Skipped, preserving existing behavior.
  • Complete progress cleanup and restore button/reload-lock state through finally on success, failure, or an exception.

Existing-fix audit

Checked before opening this PR:

  • Base is feature/greenfield at f7dffe45b228 (com.sidequest.creator-sdk 4.0.0 source).
  • Registry latest is 3.2.17, which also contains the issue.
  • Searched 79 official remote branches/tags and all 150 available PR heads; no equivalent failure-propagation fix was found.
  • Merged PR Re-implement cdn file upload with HttpClient #157 and open PR Dev #159 improve upload transport but retain the unconditional caller/aggregate completion behavior.

Validation

Passed:

  • Roslyn syntax parse of both changed C# files: zero syntax errors.
  • git diff --check.
  • Manual call-site audit for every UploadEverything, UploadWebOnly, and UploadWorldFile invocation.

Not yet proven:

  • Full Unity compile. The available Unity 6000.3.10f1 probe is below the Greenfield project's 6000.3.21f1 and current source also requires its matching embedded Basis packages. The probe stops on existing BasisContentVersion and UI Toolkit API mismatches outside these edited files.
  • Forced upload failure, forced attach failure, and successful hosted upload in the current Builder UI.
  • Physical Quest hosted-world behavior; that remains a separate rollout check in [TRACKING][ALTSPACE BUILDER] Upload result correctness and current cache-version rollout #167.

Scope

Only these Altspace Builder files are changed:

  • Editor/Resources/Builder/SideQuest/SqEditorAppApi.cs
  • Editor/Resources/Builder/BuilderWindow.cs

No API, Greenfield client, cache format, world-specific, account-specific, or device-specific change is included.

@coderabbitai

coderabbitai Bot commented Aug 26, 2026 •

Copy link
Copy Markdown

Important

Draft PR not reviewed

Draft PRs are not automatically reviewed by default.

  • Trigger a manual review

To automatically review draft PRs, update your CodeRabbit configuration:

reviews:
  auto_review:
    drafts: true
  • Autopilot · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Comment @coderabbitai help to get the list of available commands.

@BOBWORKS-XR

Copy link
Copy Markdown
Author

CI baseline note

The pre-commit check failed in the repository-wide dotnet-format step. This is reproducible on a clean checkout of the exact feature/greenfield base (f7dffe45b228) with no PR changes:

  • command: dotnet format whitespace --folder --verify-no-changes --verbosity minimal
  • clean-base exit: 2
  • clean-base diagnostics: 8,075 lines

The workflow invokes pre-commit run dotnet-format --all-files, so it exposes existing formatting drift across the branch for any PR. I have not added a repository-wide formatting rewrite to this narrowly scoped two-file draft. The changed files separately pass Roslyn syntax parsing and git diff --check.

Failed run: https://github.com/SideQuestVR/BanterSDK/actions/runs/32958593422

@BOBWORKS-XR
BOBWORKS-XR force-pushed the fix/altspace-builder-upload-result branch from 5802ffa to 0162f65 Compare October 5, 2026 15:04
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