feat(client): add batch track, identify, and alias - #53
Conversation
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
left a comment
There was a problem hiding this comment.
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.
albert20260301
left a comment
There was a problem hiding this comment.
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.
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>
🤖 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>
Send arrays of payloads on the existing endpoints so server-side callers can flush a queue in one request.