Skip to content

Conversation

@MarcAstr0
Copy link
Collaborator

Description

Changes

Checks

  • Project Builds
  • Project passes tests and checks
  • Updated documentation accordingly

MarcAstr0 and others added 3 commits December 11, 2025 14:50
Fix type error caused by stricter type checking in @types/node 20.19.x
where RequestOptions.headers could be OutgoingHttpHeaders or readonly
string array. Added explicit type cast to OutgoingHttpHeaders when
setting Content-Length header.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
…tokens

This fix addresses the cursor position tracking issue when using Cosmos DB's
native continuation token pagination. Previously, the cursor.id on the last
page would only show the page count instead of the cumulative total.

Changes:
- Track cumulative offset across pagination requests with continuation tokens
- Store both continuationToken and cumulative id in cursor object
- Ensure last page cursor reflects total records processed, not just page size
- Add comprehensive debug logging for cursor tracking

Example: For 268 total records with limit 200:
- Page 1: Returns 200 records → cursor: { continuationToken: "...", id: "200" }
- Page 2: Returns 68 records → cursor: { id: "268" } (previously was "68")

This maintains backward compatibility with legacy offset-based pagination
while fixing the continuation token cursor tracking.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
Restore workspace: protocol for internal package references in
framework-provider-azure to maintain consistency with monorepo structure.

Changes:
- @boostercloud/framework-common-helpers: workspace:^3.4.3
- @boostercloud/framework-types: workspace:^3.4.3
- @boostercloud/eslint-config: workspace:^3.4.3
- Update pnpm-lock.yaml

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
@MarcAstr0 MarcAstr0 added the do not merge This PR can be approved, but not merged yet label Dec 24, 2025
@what-the-diff
Copy link

what-the-diff bot commented Dec 24, 2025

PR Summary

  • Updated Dependencies Across Packages
    The software's components (dependencies) have been updated to a newer version, resulting in better performance and fewer vulnerabilities.
  • Improved Headers Handling in Data Requests
    We enhanced the process that controls the additional data (headers) sent with our data requests, ensuring smoother project operation.
  • Improved Debugging Process and Pagination
    We have improved the logging and the process of showing data in manageable chunks (pagination). This will help developers in tracking issues and fixing them efficiently.
  • Enhanced Tracing of Pagination and Query Execution Flow
    Additional valuable information has been included in the logs, making it easier to understand the flow of data retrieval and presentation, thereby helping solve issues quickly.
  • Accurate Pagination Behavior
    The logic that controls pagination has been fine-tuned to deliver accurate results consistently, ensuring a seamless user experience.

@github-actions
Copy link
Contributor

github-actions bot commented Dec 24, 2025

Oops, looks like you forgot to add a changeset.

⚠️ Please run rush change and commit the changeset file.

This command will prompt you for a change description and generate a changeset file. You can read more about changesets here.

Remember that you should use the version bump that is appropriate for the change you are making:

Version bump Meaning
patch Bug fixes, documentation changes, etc.
minor New features, non-breaking changes
major Breaking changes

If you are unsure about which version bump to use, please ask in the comments and we will help you out.

@MarcAstr0
Copy link
Collaborator Author

/integration sha=276d470

@github-actions
Copy link
Contributor

⌛ Integration tests are running...

Check their status here 👈

@github-actions
Copy link
Contributor

❌ Oh no! Integration tests have failed

Update integration test to expect both continuationToken and cumulative id
fields in cursor object, reflecting the fix for cursor position tracking.

The new cursor format for continuation token pagination now includes:
- continuationToken: Cosmos DB's native continuation token
- id: Cumulative position counter for tracking total records processed

This ensures the cursor accurately represents position across paginated
results while maintaining backward compatibility with legacy offset-based
pagination.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
@MarcAstr0
Copy link
Collaborator Author

/integration sha=e824d33f

@github-actions
Copy link
Contributor

⌛ Integration tests are running...

Check their status here 👈

@github-actions
Copy link
Contributor

✅ Integration tests have finished successfully!

Azure Cosmos DB requires:
- maxItemCount must be set when using continuation tokens
- LIMIT must be used when using OFFSET in queries

Without these, the SDK throws "one of the input values is invalid" error.

This fix defaults both to 100 when no limit is provided, ensuring:
- OFFSET is always paired with LIMIT (legacy cursor path)
- continuationToken is always paired with maxItemCount (continuation token path)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
@MarcAstr0
Copy link
Collaborator Author

/integration sha=e5260b14c42abadcce55a3e3222f5dd2a5b3f1fe

@github-actions
Copy link
Contributor

⌛ Integration tests are running...

Check their status here 👈

@github-actions
Copy link
Contributor

✅ Integration tests have finished successfully!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

do not merge This PR can be approved, but not merged yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants