Repository navigation
Releases: Potionify/convex-cpp
Release list
v0.1.2
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
v0.1.0
Full Changelog: https://github.com/Potionify/convex-cpp/commits/v0.1.0