expo / expo/eas-cli

Store screenshots break when duplicate names are used in App Store

Open
#3,715 0 comments 0 reactions 0 assignees View on GitHub
needs review
Dominant language
TypeScript
Stars
1.4k
Forks
236
Avg merge
3d 1h
Merged PRs (30d)
91

Description

### Build/Submit details page URL

_No response_

### Summary

When using `eas metadata:pull`, the file names of screenshots are preserved from what was manually uploaded to the App Store. However, if different screenshots are uploaded with the same file name, it breaks the metadata.

### Managed or bare?

Bare (CNG)

### Environment

18/18 checks passed. No issues detected!

expo-env-info 2.0.12 environment info:
System:
OS: macOS 26.4.1
Shell: 5.9 - /bin/zsh
Binaries:
Node: 24.14.0 - /opt/homebrew/bin/node
npm: 11.9.0 - /opt/homebrew/bin/npm
Managers:
CocoaPods: 1.16.2 - /opt/homebrew/bin/pod
SDKs:
iOS SDK:
Platforms: DriverKit 25.4, iOS 26.4, macOS 26.4, tvOS 26.4, visionOS 26.4, watchOS 26.4
IDEs:
Android Studio: 2025.3 AI-253.30387.90.2532.14935130
Xcode: 26.4.1/17E202 - /usr/bin/xcodebuild
npmPackages:
expo: ~55.0.23 => 55.0.23
expo-router: ~55.0.14 => 55.0.14
expo-updates: ~55.0.21 => 55.0.21
react: 19.2.0 => 19.2.0
react-dom: 19.2.0 => 19.2.0
react-native: 0.83.6 => 0.83.6
react-native-web: ~0.21.2 => 0.21.2
npmGlobalPackages:
eas-cli: 18.12.0
expo-cli: 6.3.12
Expo Workflow: bare

### Error output

_No response_

### Reproducible demo or steps to reproduce from a blank project

1. Upload a screenshot titled `iPhone 5.5 - 2.png` to App Store Connect
2. Upload another different screenshot with same same name
3. Run `eas metadata:pull`

The generated JSON correctly avoids duplicates:
```
"store/apple/screenshot/en-US/APP_IPHONE_55/iPhone 5.5 - 2.png",
"store/apple/screenshot/en-US/APP_IPHONE_55/iPhone 5.5 - 2-2.png",
"store/apple/screenshot/en-US/APP_IPHONE_55/iPhone 5.5 - 2-3.png",
```

However, the screenshots folder only contains `iPhone 5.5 - 2.png` and not the other two. It seems that the later screenshot overwrites the earlier.

When trying to push this metadata to the app store, I also got an error that eas tried to upload more than 10 screenshots, so maybe in such cases the deletion is also broken?

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.