Skip to content

feat(client): add batch track, identify, and alias - #53

Merged
redox merged 4 commits into
mainfrom
feat/batch-support
Sep 4, 2026
Merged

redox merged 4 commits into
mainfrom
feat/batch-support

Conversation

@redox

@redox redox commented Sep 1, 2026

Copy link
Copy Markdown
Member

Send arrays of payloads on the existing endpoints so server-side callers can flush a queue in one request.

Send arrays of payloads on the existing endpoints so server-side callers can flush a queue in one request.

Co-authored-by: Cursor <cursoragent@cursor.com>

@albert20260301 albert20260301 left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Required: the product-analytics server specification defines maxBatchSize with a default of 100, but each new *_batch method sends the entire caller-supplied array in one request. That permits payloads larger than the SDK contract and gives callers no way to configure the limit.

Please add the server batch-size configuration/default and split (or otherwise reject) batches above that limit. Include boundary coverage for 100 and 101 items, including the resulting request count and payload sizes.

Comment thread lib/altertable/client.rb
Comment thread README.md Outdated

@albert20260301 albert20260301 left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

This supersedes my previous size-limit request. The updated product-analytics specification scopes maxBatchSize to web/mobile SDK queue draining only; server batch methods must pass through caller-controlled arrays without an SDK-side cap. The implementation in this PR is aligned on that point.

redox and others added 3 commits September 4, 2026 11:00
Accept a single payload hash or an array on the existing methods instead of separate *_batch APIs.

Co-authored-by: Cursor <cursoragent@cursor.com>
Raise ArgumentError like events[0] must be a Hash instead of NoMethodError on malformed entries.

Co-authored-by: Cursor <cursoragent@cursor.com>
@redox
redox merged commit 2aff25b into main Sep 4, 2026
7 checks passed
@redox
redox deleted the feat/batch-support branch September 4, 2026 10:51
leonkenneth pushed a commit that referenced this pull request Sep 12, 2026
🤖 I have created a release *beep* *boop*
---


##
[1.3.0](altertable/v1.2.0...altertable/v1.3.0)
(2026-09-04)


### Features

* **client:** add batch track, identify, and alias
([#53](#53))
([2aff25b](2aff25b))

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
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.

3 participants