Skip to content

feat: presign snapshot-version and paginated fork listing#110

Merged
designcode merged 1 commit into
mainfrom
fix/bucket-list
Jun 19, 2026
Merged

feat: presign snapshot-version and paginated fork listing#110
designcode merged 1 commit into
mainfrom
fix/bucket-list

Conversation

@designcode

@designcode designcode commented Jun 19, 2026

Copy link
Copy Markdown
Collaborator

Summary

  • presign --snapshot-version (alias --snapshot): generate presigned GET URLs against a specific bucket snapshot. Accepts a snapshot version string or a UNIX nanosecond timestamp. Rejected for non-GET methods with a clear error.
  • buckets list --forks-of pagination: --limit / --page-token are now forwarded to listForks (and a pagination hint is printed) instead of being ignored with a warning.
  • Bumps @tigrisdata/storage to ^3.14.0 to support both.

Tests

Added to the integration suite (test/cli.test.ts), in the presign command block:

  • presigned GET URL with --snapshot-version
  • the --snapshot alias for GET
  • --snapshot-version rejected with --method put

These run via npm run test:integration (or test:all) with real Tigris credentials and a rebuilt dist/.

Note: a whitespace-only prettier --write was applied to src/lib/presign.ts to satisfy the pre-commit format:check.

🤖 Generated with Claude Code


Note

Low Risk
User-facing CLI additions with validation and integration tests; dependency bump is the main behavioral surface beyond presign and fork pagination.

Overview
Adds presign --snapshot-version (alias --snapshot) so GET presigned URLs can target a bucket snapshot (version string or nanosecond timestamp). Non-GET methods fail with an explicit error. The flag is documented in specs.yaml and passed through to getPresignedUrl.

buckets list --forks-of now honors --limit and --page-token via listForks, uses the same paginated output and pagination hint as the default bucket list, and drops the old warning that pagination was ignored.

Bumps @tigrisdata/storage to ^3.14.0 in package.json (lockfile refresh). Integration tests cover snapshot presign GET, the --snapshot alias, and rejecting snapshot with --method put.

Reviewed by Cursor Bugbot for commit ab0890e. Bugbot is set up for automated code reviews on this repo. Configure here.

Add --snapshot-version (alias --snapshot) to `presign` for presigned GET
URLs against a specific bucket snapshot; rejected for non-GET methods.
Forward --limit / --page-token through `buckets list --forks-of` so fork
listings paginate instead of fetching all forks. Bumps
@tigrisdata/storage to ^3.14.0 to support both.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@designcode designcode merged commit 0a1136b into main Jun 19, 2026
3 checks passed
@designcode designcode deleted the fix/bucket-list branch June 19, 2026 15:45
@github-actions

Copy link
Copy Markdown

🎉 This PR is included in version 3.2.0 🎉

The release is available on:

Your semantic-release bot 📦🚀

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

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants