Skip to content

Commit bc12d45

Browse files
authored
Merge pull request #443 from dojoengine/fix/recs-get-eventmessages
fix: recs getEventMessages
2 parents cb208ca + e1be67a commit bc12d45

File tree

3 files changed

+46
-14
lines changed

3 files changed

+46
-14
lines changed

.changeset/afraid-berries-go.md

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
---
2+
"@dojoengine/predeployed-connector": patch
3+
"@dojoengine/state": patch
4+
"@dojoengine/core": patch
5+
"@dojoengine/create-burner": patch
6+
"@dojoengine/create-dojo": patch
7+
"@dojoengine/react": patch
8+
"@dojoengine/sdk": patch
9+
"@dojoengine/torii-client": patch
10+
"@dojoengine/torii-wasm": patch
11+
"@dojoengine/utils": patch
12+
"@dojoengine/utils-wasm": patch
13+
---
14+
15+
fix: recs getEventMessages looping

packages/predeployed-connector/package.json

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -64,6 +64,10 @@
6464
"node": ">=18.0.0"
6565
},
6666
"dependencies": {
67-
"@starknet-io/types-js": "^0.7.10"
67+
"@starknet-io/types-js": "^0.7.10",
68+
"@starknet-react/core": "catalog:",
69+
"react": "catalog:",
70+
"react-dom": "catalog:",
71+
"starknet": "catalog:"
6872
}
6973
}

packages/state/src/recs/index.ts

Lines changed: 26 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -238,10 +238,16 @@ export const getEvents = async <S extends Schema>(
238238
if (logging) console.log("entities", entities.items);
239239

240240
setEntities(entities.items, components, logging);
241+
if (entities.items.length < limit && !entities.next_cursor) {
242+
continueFetching = false;
243+
continue;
244+
}
241245

242246
if (Object.keys(entities.items).length === 0) {
247+
console.error("STOP FETCHING");
243248
continueFetching = false;
244249
} else {
250+
console.error("NEXT_CURSOR", entities.next_cursor);
245251
cursor = entities.next_cursor;
246252
}
247253
}
@@ -282,27 +288,34 @@ export const getEntitiesQuery = async <S extends Schema>(
282288
let cursor = undefined;
283289
let continueFetching = true;
284290

285-
const fetchedEntities = await client.getEntities({
286-
pagination: {
287-
limit,
288-
cursor,
289-
direction: "Forward",
290-
order_by: orderBy,
291-
},
292-
clause: entityKeyClause,
293-
no_hashed_keys: false,
294-
models: entityModels,
295-
historical,
296-
});
297-
298291
while (continueFetching) {
292+
const fetchedEntities = await client.getEntities({
293+
pagination: {
294+
limit,
295+
cursor,
296+
direction: "Forward",
297+
order_by: orderBy,
298+
},
299+
clause: entityKeyClause,
300+
no_hashed_keys: false,
301+
models: entityModels,
302+
historical,
303+
});
299304
if (logging)
300305
console.log(
301306
`Fetched ${Object.keys(fetchedEntities.items).length} entities ${fetchedEntities.next_cursor}`
302307
);
303308

304309
setEntities(fetchedEntities.items, components, logging);
305310

311+
if (
312+
fetchedEntities.items.length < limit &&
313+
!fetchedEntities.next_cursor
314+
) {
315+
continueFetching = false;
316+
continue;
317+
}
318+
306319
if (Object.keys(fetchedEntities.items).length < limit) {
307320
continueFetching = false;
308321
} else {

0 commit comments

Comments
 (0)