During my stream last night someone asked the why component extensions where not being displayed.
I chose to have a look however I found that there are inconsistencies in the docs and the way the endpoint works.
- “anchor” is included in the example response however is not returned for the extensions I tried.
- In some cases the results are “paged” and in others they are not
- It is returning streams that do not have the panel active
Did you get a pagination/cursor?
Follow the cursor till you have no more pages.
There is a weirdness where all live channels are not on page 1 even though page 1 only shows 1 or no people…
Right now, my public extension has three pages.
Page 1 has a cursor and two live stream
Page 2 has a cursor and one live stream
Page 3 have no cursor and no live streams
All three streamers do have the extension “on/active/displayed” even though they aint playing the game that it’s for…
- Can confirm anchor is missing
- Pagination is noted above, it’s a weirdness due to the implementation
- Cannot replicate that here
I will note that this is tested with a video overlay/component ext
Oh @BarryCarlyon it’s stranger than that. On one extension it returned 14 streams with no cursor, on another extension it brought back 6 with a cursor, 4 on the second page with cursor and 0 on the final page.
Do your extensions have enough installs to justify those number of pages?
I ask because perhaps maybe it’s like some of the other ordered endpoints, like followers, where there are gaps in the results because there is no corresponding object, which for followers was 422 users, and this could be due to offline streams (which don’t return anything in Helix). That’d be a likely explanation given how other endpoints work. If you don’t have enough installs to justify multiple pages though, I have no clue lol.
@Dist the inconsistency is one extension was live on 10 channels and was paged. The second extension was live on 14 and not paged
It feels like Twitch gets all the live channels with the extension installed, then filters out the live channels that don’t have it activated, and then just doesn’t renumber the array… Which explains the weirdness with pages.
Either way the end point is just weird…