Skip to content

deps: bump AWSSDK.S3 to 4.0.102.4 (+ fix the v4 pagination break) - #54

Merged
XtremeOwnageDotCom merged 1 commit into
mainfrom
deps/aws-sdk-v4
Sep 2, 2026
Merged

deps: bump AWSSDK.S3 to 4.0.102.4 (+ fix the v4 pagination break)#54
XtremeOwnageDotCom merged 1 commit into
mainfrom
deps/aws-sdk-v4

Conversation

@XtremeOwnageDotCom

Copy link
Copy Markdown
Contributor

Supersedes #48, which is the same bump without the code change it needs.

What & why

AWS SDK v4 is a major, and it cannot be taken as a version bump alone. ListObjectsV2Response.IsTruncated changed from bool to bool?, so the S3 import loop stops compiling:

ImportedDocsPlugin.cs(397,22): error CS0019: Operator '&&' cannot be applied to
operands of type 'bool?' and 'bool'

That's why #48 could not build. Fixed by comparing against an explicit true:

} while (response.IsTruncated == true && !ct.IsCancellationRequested);

Unset means the response never claimed there was more to fetch, so anything other than true ends pagination — the safe reading, and the one that can't loop forever.

AWSSDK.S3 is used in exactly one place, ImportedDocsPlugin, for pulling docs out of a bucket. The s3 deploy target shells out to the AWS CLI and is untouched by this.

Type of change

  • Bug fix
  • New feature
  • Documentation
  • Refactor / chore

Checklist

  • dotnet format Netdocs.slnx --verify-no-changes passes
  • dotnet build Netdocs.slnx -c Release succeeds
  • dotnet test Netdocs.slnx -c Release passes (512)
  • Added/updated tests — see below
  • Updated docs under docs-site/docs/** — no user-facing behaviour change

Notes for reviewers

Worth knowing before merging: the S3 import path has no runtime test coverage, before or after this change. The nine ImportedDocsPluginTests cover config objects only — none construct an AmazonS3Client or exercise a list/get call. So this upgrade is compile-verified and green across the suite, but the actual pagination against a live bucket is not exercised by CI, and I have no bucket to try it against.

The change itself is the standard v4 migration for this property and is hard to get wrong in a way that compiles. But if you have a bucket handy, one imported-docs pull with more than 1000 objects (the point where pagination actually kicks in) would put it beyond doubt.

🤖 Generated with Claude Code

…roduces

The v4 major cannot be taken as a version bump alone: ListObjectsV2Response.
IsTruncated is now bool? rather than bool, so the S3 import loop no longer
compiles ("Operator '&&' cannot be applied to operands of type 'bool?' and
'bool'"), which is why Dependabot's PR could not build.

Compare against an explicit true. Unset means the response never claimed there
was more to fetch, so anything else ends pagination rather than looping.

Supersedes #48, which is the same bump without the code change.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@XtremeOwnageDotCom
XtremeOwnageDotCom merged commit bae93e8 into main Sep 2, 2026
1 check passed
@XtremeOwnageDotCom
XtremeOwnageDotCom deleted the deps/aws-sdk-v4 branch September 2, 2026 03:27
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