The deduplication key for an in-flight request: its endpoint, scoped to the
accepted identity and to the client settings that vary ESI's answer.
Coalescing has to draw the same line the cache does. Two concurrent GETs to
one authenticated endpoint under tokens for different characters are two
different questions, and answering both from one response hands one caller
the other identity's data. Under two accepted tokens for one character they
are one question, and share the request; a token ESI has not yet accepted
joins nothing, since joining is being served without ESI's answer.
The deduplication key for an in-flight request: its endpoint, scoped to the accepted identity and to the client settings that vary ESI's answer.
Coalescing has to draw the same line the cache does. Two concurrent GETs to one authenticated endpoint under tokens for different characters are two different questions, and answering both from one response hands one caller the other identity's data. Under two accepted tokens for one character they are one question, and share the request; a token ESI has not yet accepted joins nothing, since joining is being served without ESI's answer.