Skip to content

Bump SDK to fix empty ID array handling#351

Open
robzolkos wants to merge 1 commit intomainfrom
bump-sdk-fix-empty-id-arrays
Open

Bump SDK to fix empty ID array handling#351
robzolkos wants to merge 1 commit intomainfrom
bump-sdk-fix-empty-id-arrays

Conversation

@robzolkos
Copy link
Collaborator

@robzolkos robzolkos commented Mar 20, 2026

Summary

The SDK previously used len(slice) > 0 to guard writing ID arrays into requests, which dropped empty slices ([]int64{}). The API interprets an absent field as "no change", so clearing the last assignee/participant had no effect. The SDK now uses nil checks, preserving three-way semantics: nil = don't change, [] = clear all, [1,2] = set specific IDs.

No CLI code changes needed — the fix is entirely in the SDK.

Ref: https://3.basecamp.com/2914079/buckets/46292715/card_tables/cards/9696883477


Summary by cubic

Upgrade github.com/basecamp/basecamp-sdk/go to fix empty ID array handling. Unassigning and clearing participants now correctly removes the last IDs.

  • Bug Fixes

    • basecamp unassign removes the final assignee on todos, cards, and steps.
    • Clearing the last participant from schedule entries works.
  • Dependencies

    • Bumped github.com/basecamp/basecamp-sdk/go to include the empty ID array fix.

Written for commit 5fbbfdc. Summary will update on new commits.

Picks up basecamp/basecamp-sdk#207 which fixes update methods
silently dropping empty ID slices. Previously, unassigning the
last assignee/participant/subscriber had no effect because the
SDK omitted the empty array from the request body.
Copilot AI review requested due to automatic review settings March 20, 2026 20:47
@github-actions github-actions bot added sdk SDK wrapper and provenance deps bug Something isn't working labels Mar 20, 2026
Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Bumps the pinned github.com/basecamp/basecamp-sdk/go revision to pick up upstream handling for empty ID arrays ([]) vs nil, fixing “clear last assignee/participant” operations that previously resulted in no-op API requests.

Changes:

  • Update basecamp-sdk to fe6154c8b320 in go.mod/go.sum.
  • Update embedded SDK provenance metadata (version, revision, updated timestamp).

Reviewed changes

Copilot reviewed 2 out of 3 changed files in this pull request and generated no comments.

File Description
internal/version/sdk-provenance.json Updates embedded SDK provenance to the new SDK pseudo-version/revision.
go.mod Bumps the basecamp-sdk dependency to the new pseudo-version.
go.sum Updates checksums to match the new basecamp-sdk version.

Tip

If you aren't ready for review, convert to a draft PR.
Click "Convert to draft" or run gh pr ready --undo.
Click "Ready for review" or run gh pr ready to reengage.


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Copy link
Contributor

@cubic-dev-ai cubic-dev-ai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No issues found across 3 files

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

Labels

bug Something isn't working deps sdk SDK wrapper and provenance

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants