Skip to content

ADR-010: No message chunking

Status: Accepted (2026-08-30)

Decision: Gopher sends one message for each page of posts and does not divide it into parts. The decision uses the sizes below, which come from the recorded answers in .api-dumps/ and not from a browser:

MessageRaw answerAfter the normalizer
The memberships of the account333 KB30 KB
One page of posts57 – 66 KB6 – 10 KB

The recorded pages have 5 posts each, thus one post is 1.2 KB to 2.1 KB. POSTS_PAGE_SIZE is 20, thus a full page is 25 KB to 42 KB. The normalizer removes 84% to 91% of the answer, and it operates on the patreon.com origin. Thus the large payload never crosses the boundary between the two origins. Chunking makes a message of this size slower, not faster.

The condition to open this decision again: a message that holds more than one page. An export function, or a function that gets all posts of a campaign in one message, makes the sizes above wrong. Measure again before you add such a function.

The profiler for this decision is deleted. It was a content script with two tools that a person started over CDP. It measured payloads of 2 MB in parts of 32 KB to 256 KB. Those quantities are 50 times the real quantity. The profiler was also in the build, thus every user received it, and a script on the page could start it.

Read the runner and messages.