Skip to content

Releases: Potionify/convex-cpp

v0.1.2

Choose a tag to compare

@github-actions github-actions released this 25 Jul 09:22

convex::paginated_query now splits an oversized page instead of resetting pagination. This changes observable behavior; nothing else in the library moved, and there is no API change.

A page's range is pinned by its query journal, so inserts into that range make it grow. Previously a page that outgrew the server's read limits reset the whole session — every loaded page dropped, the list snapped back to the first one. It is now split in two at the server's splitCursor, with both halves bounded by explicit cursor/endCursor and swapped in only once both have loaded, so loaded pages stay where they are. Pages are also split on SplitRecommended, or once one grows past twice initial_num_items.

A page the server reports as SplitRequired may be short of its range, so results now stops before it and the status returns to loading until a split repairs it. Previously such a page was published, which could leave a gap in the middle of the list.

An incomplete page the server offers no splitCursor for is left alone rather than reset. Its subscription stays live, so a later result that fits the read limits repairs it. A query too heavy to ever return a complete page will leave the list loading, with no error — as in convex-js, which has no recovery path for that case either.

All of this follows convex-js's usePaginatedQuery, including the cursor its own implementation got wrong in 7ceee3e.

See CHANGELOG.md for the detail, and #1 for the implementation.

Full Changelog: v0.1.1...v0.1.2

v0.1.1

Choose a tag to compare

@github-actions github-actions released this 14 Jul 23:31

Full Changelog: v0.1.0...v0.1.1

v0.1.0

Choose a tag to compare

@github-actions github-actions released this 14 Jul 10:09