feat(graph): auto-paginate consumer graph + loading progress chip#966
Conversation
Accounts with more than 100 documents previously only saw the newest
100 in the memory graph until they manually zoomed out (and even then,
only one extra page per zoom). For users with thousands of documents
this made the graph appear nearly empty.
Adds an opt-in `autoFetchAll` flag to `useGraphApi` that chains
`fetchNextPage()` until every page is loaded, and renders a top-right
progress chip ("X memories - Y/Z documents") with a spinner while pages
stream in. The chip self-hides on completion. Only the consumer
GraphLayoutView opts in; modal and chat-rail variants remain scoped to
their existing single-page behaviour.
This is a stopgap for high-memory users. A proper server-side
sampling/clustering endpoint is needed to scale past tens of thousands
of nodes and will be tracked separately.
Deploying with
|
| Status | Name | Latest Commit | Updated (UTC) |
|---|---|---|---|
| ✅ Deployment successful! View logs |
supermemory-mcp | 14e6880 | May 18 2026, 05:08 PM |
Deploying with
|
| Status | Name | Latest Commit | Preview URL | Updated (UTC) |
|---|---|---|---|---|
| ✅ Deployment successful! View logs |
supermemory-app | 14e6880 | Commit Preview URL Branch Preview URL |
May 18 2026, 05:08 PM |
How to use the Graphite Merge QueueAdd the label Main to this PR to add it to the merge queue. You must have a Graphite account in order to use the merge queue. Sign up using this link. An organization admin has enabled the Graphite Merge Queue in this repository. Please do not merge from GitHub as this will restart CI on PRs being processed by the merge queue. This stack of pull requests is managed by Graphite. Learn more about stacking. |
|
Claude finished @MaheshtheDev's task in 1m 17s —— View job Review Complete
Summary: Reviewed the auto-pagination implementation for the consumer graph. The code is clean — the |
There was a problem hiding this comment.
Overview: Adds opt-in auto-pagination for the consumer memory graph to load all documents progressively, with a progress chip showing loading status.
Issues found: None — this looks good to ship.
The implementation is clean:
- The
useEffectauto-fetch loop inuse-graph-api.tsproperly guards against concurrent fetches usingisPendingandisFetchingNextPage - Dependencies are correctly specified, and
fetchNextPagefrom TanStack Query is stable - Progress indicator logic correctly shows during loading and hides on completion
- The feature is properly scoped via
autoFetchAllflag, leaving modal/chat-rail variants unaffected
Score: 10/10

Accounts with more than 100 documents previously only saw the newest 100 in the memory graph until they manually zoomed out (and even then, only one extra page per zoom). For users with thousands of documents this made the graph appear nearly empty.
Adds an opt-in
autoFetchAllflag touseGraphApithat chainsfetchNextPage()until every page is loaded, and renders a top-right progress chip ("X memories - Y/Z documents") with a spinner while pages stream in. The chip self-hides on completion. Only the consumer GraphLayoutView opts in; modal and chat-rail variants remain scoped to their existing single-page behaviour.This is a stopgap for high-memory users. A proper server-side sampling/clustering endpoint is needed to scale past tens of thousands of nodes and will be tracked separately.