Skip to content

M4: Add pagination test suite for handleListMessages#21578

Merged
Jasonnnz merged 1 commit into
feature/msg-paginationfrom
swarm/msg-pagination/task-4
Mar 25, 2026
Merged

M4: Add pagination test suite for handleListMessages#21578
Jasonnnz merged 1 commit into
feature/msg-paginationfrom
swarm/msg-pagination/task-4

Conversation

@Jasonnnz
Copy link
Copy Markdown
Contributor

@Jasonnnz Jasonnnz commented Mar 25, 2026

Summary

  • Adds 9 pagination test cases to list-messages-attachments.test.ts covering backward compatibility (no params, limit-only), cursor pagination with beforeTimestamp + limit, strict exclusivity of beforeTimestamp, hasMore logic, oldestTimestamp/oldestMessageId metadata correctness, empty conversations, and input validation (NaN limit/beforeTimestamp → 400).

Test plan

  • All 17 tests pass (4 attachment + 4 no_response + 9 pagination)
  • bun test src/__tests__/list-messages-attachments.test.ts green

Part of #21550.

🤖 Generated with Claude Code


Open with Devin

Part of #21550. Adds 9 test cases covering backward compatibility, cursor
pagination, strict exclusivity, hasMore logic, metadata correctness, empty
conversations, and input validation.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@Jasonnnz Jasonnnz self-assigned this Mar 25, 2026
Copy link
Copy Markdown
Contributor

@devin-ai-integration devin-ai-integration Bot left a comment

Choose a reason for hiding this comment

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

✅ Devin Review: No Issues Found

Devin Review analyzed this PR and found no potential bugs to report.

View in Devin Review to see 2 additional findings.

Open in Devin Review

@Jasonnnz Jasonnnz merged commit 53aa620 into feature/msg-pagination Mar 25, 2026
6 checks passed
@Jasonnnz Jasonnnz deleted the swarm/msg-pagination/task-4 branch March 25, 2026 18:44
Jasonnnz added a commit that referenced this pull request Mar 25, 2026
* feat: add composite DB index and getMessagesPaginated() for message history pagination (#21562)

Co-authored-by: Vellum Assistant <assistant@vellum.ai>
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

* M2: Wire pagination into handleListMessages HTTP endpoint (#21569)

* feat: wire server-side pagination into handleListMessages HTTP endpoint

Part of #21550

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

* fix: gate pagination fields behind isPaginated and regenerate openapi spec

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

---------

Co-authored-by: Vellum Assistant <assistant@vellum.ai>
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

* M3: Client-side safety fixes for pagination edge cases (#21565)

* fix: remove trim-after-pagination and add 60s safety timeout for stuck loading state

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

* fix: use minimal state clear instead of resetMessagePagination() on timeout

Replace resetMessagePagination() in the 60s timeout handler with a
targeted clear of isLoadingMoreMessages + loadMoreTimeoutTask. This
preserves the user's scroll position, historyCursor, and hasMoreHistory
so they can retry by scrolling up, rather than collapsing the visible
window.

Also update doc comments to reflect the 30s/60s two-stage timeout
behavior and the accepted misclassification tradeoff.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

---------

Co-authored-by: Vellum Assistant <assistant@vellum.ai>
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

* test: add pagination test suite for handleListMessages (#21578)

Part of #21550. Adds 9 test cases covering backward compatibility, cursor
pagination, strict exclusivity, hasMore logic, metadata correctness, empty
conversations, and input validation.

Co-authored-by: Vellum Assistant <assistant@vellum.ai>
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

* fix: remove duplicate guard let self in timeout closure (non-optional after first unwrap)

---------

Co-authored-by: Vellum Assistant <assistant@vellum.ai>
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.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.

1 participant