KAN-58: Handle empty S3 bucket versioning response #156

Merged
Twyco merged 1 commits from fix/KAN-58-empty-s3-versioning into main 2026-09-27 10:06:23 +00:00
Owner

The macOS release reaches the upload stage after successful signing, notarization and ZIP verification, then fails with Unexpected end of JSON input. For an unversioned bucket, AWS CLI can return exit code 0 with empty stdout instead of {}. Treat that successful empty response as an unversioned configuration and explicitly request JSON output. Malformed responses, versioned/suspended buckets and command failures still stop before upload.

Validation: all 32 affected upload tests pass, including eight added cases for empty/whitespace/object responses and malformed data. ESLint and git diff checks pass. Reproduced the underlying behavior with the installed AWS CLI against a local HTTP server returning an empty S3 VersioningConfiguration: exit 0, empty stdout and stderr; no real credentials or bucket mutations involved.

Run 1335 completed build, signing, notarization and packaged download verification. Its upload failed at GetBucketVersioning before writing any objects. No new secrets or bucket settings are needed.

After merge, the selected release tag must include this upload-code fix; a manual workflow on main with an old tag would still check out the old script. For the unpublished 0.1.0 release, recreate macos-v0.1.0 at the merged main commit to trigger a new run. A published version must never be replaced. This PR does not move any tag.

Ticket: https://kanbangit.de/projects/1/tickets/58
Base and PR target: main, checked out and pulled with --ff-only at b0cc9dad14746ac65baf9b399974e74bc1df2843 before creating fix/KAN-58-empty-s3-versioning.

KAN-58 remains In Progress until the real S3 release and the user's installation/start acceptance succeed; destination remains Review.

The macOS release reaches the upload stage after successful signing, notarization and ZIP verification, then fails with `Unexpected end of JSON input`. For an unversioned bucket, AWS CLI can return exit code 0 with empty stdout instead of `{}`. Treat that successful empty response as an unversioned configuration and explicitly request JSON output. Malformed responses, versioned/suspended buckets and command failures still stop before upload. Validation: all 32 affected upload tests pass, including eight added cases for empty/whitespace/object responses and malformed data. ESLint and git diff checks pass. Reproduced the underlying behavior with the installed AWS CLI against a local HTTP server returning an empty S3 VersioningConfiguration: exit 0, empty stdout and stderr; no real credentials or bucket mutations involved. Run 1335 completed build, signing, notarization and packaged download verification. Its upload failed at GetBucketVersioning before writing any objects. No new secrets or bucket settings are needed. After merge, the selected release tag must include this upload-code fix; a manual workflow on main with an old tag would still check out the old script. For the unpublished 0.1.0 release, recreate `macos-v0.1.0` at the merged main commit to trigger a new run. A published version must never be replaced. This PR does not move any tag. Ticket: https://kanbangit.de/projects/1/tickets/58 Base and PR target: `main`, checked out and pulled with `--ff-only` at `b0cc9dad14746ac65baf9b399974e74bc1df2843` before creating `fix/KAN-58-empty-s3-versioning`. KAN-58 remains In Progress until the real S3 release and the user's installation/start acceptance succeed; destination remains Review.
Twyco added 1 commit 2026-09-27 10:05:49 +00:00
fix(KAN-58): accept empty unversioned bucket response
CI/CD / test_and_check_app (pull_request) Successful in 6m34s
CI/CD / Publish immutable image (pull_request) Skipped
CI/CD / preconditions (pull_request) Successful in 1s
Native JavaScript checks / Native launcher and release tests (pull_request) Successful in 55s
macOS checks / Native Rust tests and unsigned build (pull_request) Successful in 1m23s
f2e1bd6a0d
Twyco merged commit d8ca4975e5 into main 2026-09-27 10:06:23 +00:00
Twyco deleted branch fix/KAN-58-empty-s3-versioning 2026-09-27 10:06:24 +00:00
Sign in to join this conversation.
No Reviewers
No labels
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: PetschStudios/KanbanGit#156