CombinedError: Each update is limited to a maximum of 700 assets

managed workflow
eas-cli version 0.60.0
sdk 46

Hi, I have published my app with runtime version 42 and want to create an update for it. But I get the following error:

npx eas update --branch production --message "Updating the app"
...
...
...
✔ Built bundle!
✔ Uploading assets skipped -- no new assets found!
✖ Failed to published updates
    CombinedError: [GraphQL] Each update is limited to a maximum of 700 assets (attempted to publish 1286). You must reduce the 
    number of assets in your update.

I have not changed any asset in the update. So I thought the update would not contain any assets.

Or does eas update only work for apps with less than 700 assets in total?

Hi @denniske1001, yeah that is correct. EAS Updates only work for apps with less than 700 assets in total. We do not have a concrete timeline as of now to update the limit.

Thanks for the fast answer. In that case it would be good to change the error message to something like “You must reduce the number of assets in your app.” (instead update).

Do you have any tips how I can reduce the number of assets?
I was thinking about using a sprite sheet for my 250 country icons. But it seems using sprite sheet is not so easy with react native: sprite sheet - How can I use my spritesheet of icons in react native? - Stack Overflow
Also I am unsure about performance implications of sprite sheet approach (like loading a bigger sprite sheet image into memory just for a little icon).

I have a feeling there might be a way to get a sprite sheet to work. e.g. maybe with an SVG that references the PNG and adjusts the ViewBox depending on the icon you want.

The normal way to do icons on React Native is with a font.

Another workaround hinted at by the person who asked that Stack Overflow question is to turn each icon into a “data” url and store them in a JavaScript array.

1 Like

I have now solved it by using a Image with the sprite sheet that is absolutely positioned inside a View with overflow: ‘hidden’:

I think a font does not work for me because I do not really have icons but colored flag images instead.

But I like the idea of converting the images into data urls. Maybe that would be better for performance.

2 Likes

I changed the implementation to use data urls now:

1 Like

Would emoji flags work? Actually, now that I’ve looked at some of your flags I think you probably won’t want to use emoji. e.g. I’m not sure what “ZZ” is. Yours looks like a “3”? So maybe there’s no appropriate emoji flag for that one, and of course there might be others that you can’t find an emoji flag for.

const flagList = {
  'AD': '🇦🇩',
  'AE': '🇦🇪',
  'AF': '🇦🇫',
  'AG': '🇦🇬',
[...]
  'ZA': '🇿🇦',
  'ZM': '🇿🇲',
  'ZW': '🇿🇼',
  'ZZ': '🏴󠁣󠁩󠁺󠁺󠁿',  // ???
}

ZZ was just a dummy flag that I used for checking different screen densities. Thats why there are numbers of the screen densities on them. So ZZ would no longer be needed.

I will check if there is an emoji for every flag and if the emoji design fits to the current app design.

This topic was automatically closed 20 days after the last reply. New replies are no longer allowed.