Repository navigation
refactor: stop creating sdk paginator - #3869
Open
isekovanic wants to merge 6 commits into
Open
isekovanic wants to merge 6 commits into
isekovanic wants to merge 6 commits into
Conversation
Contributor
SDK Size
|
isekovanic
added this pull request to stack #3873
October 19, 2026 07:56
This was referenced Oct 19, 2026
oliverlaz
added a commit
that referenced
this pull request
Oct 19, 2026
The inventory was taken against V10; the stack underneath this PR adds more public API changes. Re-ran the surface diff and the v9 sample-app compile against the stack tip (refactor/stop-creating-sdk-paginator) and covered them: - v10-breaking-changes.md: standalone <Thread> next to <Channel> (removed Channel thread/threadList/allowThreadMessagesInChannel/shouldSyncChannel, Thread props, threadList everywhere, ThreadMessageComposer slot, ThreadContext shape, onAlsoSentToChannelHeaderPress move), message actions built on demand (argument-less useMessageActions/useMessageActionHandlers, removed Message handleX/messageActions/supportedReactions), and the app-owned <ChannelList paginator> (removed filters/sort/options/ lockChannelOrder/queryChannelsOverride). - ai-migration-v9-to-v10.md: correct the removed Thread prop names (additionalMessageComposerProps, additionalMessageFlashListProps), add shouldSyncChannel, and move R.6 and its quick-reference rows onto the ChannelPaginator. - v10-docs-impact.md: re-scan the docs for the stack's changes (109 pages affected, was 99).
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
π― Goal
Make
<ChannelList>render an app-ownedChannelPaginatorinstead of creating one. The SDK used to build a paginator from the list's props and dispose it on unmount, so a list that mounted again (for example after search results replaced it) queried again from scratch. The integration can then decide when (and if) they want to dispose it.Stacked on the
<Channel>lifecycle PR.π Implementation details
usePaginatedChannelsno longer creates, registers, disposes or re-queries on prop changes. It loads the first page only when the paginator has none: on first mount, afterdisconnectUserresets it, or when a different paginator is passed.useChatClient, the Expo apps inAppProvider) and remove it on logout, sincedisconnectUserempties registered lists but keeps them registered.Breaking changes
paginatoris a required prop.filters,sort,options,lockChannelOrderandqueryChannelsOverrideare removed, along with theChannelListQueryChannelsOverridetype. They are now set on theChannelPaginator: in its constructor orrequestOptions, throughpaginatorOptions.lockItemOrderandpaginatorOptions.doRequest.staticFilters/sort/optionsand callreload(), or pass a new paginator.π¨ UI Changes
/
π§ͺ Testing
/
βοΈ Checklist
developbranch