-
Notifications
You must be signed in to change notification settings - Fork 173
feat(rpc): add rowid-forward message pagination #200
Copy link
Copy link
Closed
Labels
P3Low-risk cleanup, docs, polish, ergonomics, or speculative feature.Low-risk cleanup, docs, polish, ergonomics, or speculative feature.clawsweeper:linked-pr-openClawSweeper found an open linked pull request for this issue.ClawSweeper found an open linked pull request for this issue.clawsweeper:needs-product-decisionClawSweeper marked this issue as needing a product or behavior decision.ClawSweeper marked this issue as needing a product or behavior decision.clawsweeper:no-new-fix-prClawSweeper does not recommend queueing a new automated fix PR for this issue.ClawSweeper does not recommend queueing a new automated fix PR for this issue.impact:otherThis issue has meaningful maintainer-visible impact outside the owned taxonomy.This issue has meaningful maintainer-visible impact outside the owned taxonomy.issue-rating: 🌊 off-meta tidepoolIssue quality rating does not apply to this item.Issue quality rating does not apply to this item.
Description
Metadata
Metadata
Assignees
Labels
P3Low-risk cleanup, docs, polish, ergonomics, or speculative feature.Low-risk cleanup, docs, polish, ergonomics, or speculative feature.clawsweeper:linked-pr-openClawSweeper found an open linked pull request for this issue.ClawSweeper found an open linked pull request for this issue.clawsweeper:needs-product-decisionClawSweeper marked this issue as needing a product or behavior decision.ClawSweeper marked this issue as needing a product or behavior decision.clawsweeper:no-new-fix-prClawSweeper does not recommend queueing a new automated fix PR for this issue.ClawSweeper does not recommend queueing a new automated fix PR for this issue.impact:otherThis issue has meaningful maintainer-visible impact outside the owned taxonomy.This issue has meaningful maintainer-visible impact outside the owned taxonomy.issue-rating: 🌊 off-meta tidepoolIssue quality rating does not apply to this item.Issue quality rating does not apply to this item.
Type
Fields
Priority
None yet
Problem
OpenClaw startup catchup currently has to approximate forward progress through
messages.history, which is newest-first and capped at 500 rows. Equal timestamps and larger backlogs make a durable cursor ambiguous.Proposed contract
Add an additive JSON-RPC method,
messages.after, with:since_rowid, exclusivechat_id; omit it to page across all chatslimitdefault 100, maximum 500attachments,convert_attachments, andinclude_reactionsbooleansmessage.ROWID ASCorderingnext_rowidas the authoritative physical scan cursorhas_morecomputed from the database/page boundary, not from result countThe default page is user-visible message catchup and may coalesce or suppress URL-preview rows while still advancing
next_rowid. Callers that need the cursor to cover standalone reaction events setinclude_reactions: true.Validation
Cover more than 500 equal-timestamp rows, optional chat filtering over interleaved rows, reactions, attachment payload parity, URL-preview coalescing across page boundaries, empty suppressed pages, and strict parameter validation.
Downstream consumer: openclaw/openclaw#116961