Skip to content

[eas-cli] Lint the App Store review demo password length - #4242

Open
dennytosp wants to merge 1 commit into
expo:mainfrom
dennytosp:fix/metadata-lint-demo-password-length
Open

[eas-cli] Lint the App Store review demo password length#4242
dennytosp wants to merge 1 commit into
expo:mainfrom
dennytosp:fix/metadata-lint-demo-password-length

Conversation

@dennytosp

Copy link
Copy Markdown

Why

Fixes #2785.

apple.review.demoPassword has no length constraint in the metadata schema, so eas metadata:lint passes on a password App Store Connect will reject. The failure only shows up part-way through eas metadata:push, after other entities have already been synced:

x Failed creating store review details for 1.0

Store configuration upload encountered an error.

An attribute value is too long. - Password cannot be longer than 100 characters.

How

Add "maxLength": 100 to demoPassword in packages/eas-cli/schema/metadata-0.json, matching the limit Apple's API enforces, so the lint reports it before the push starts.

Note the App Store Connect web UI caps the field at 50 characters (see the screenshot in #2785), but the API accepts up to 100. Linting to the API limit avoids rejecting configs that push successfully today.

Test Plan

New packages/eas-cli/src/metadata/config/__tests__/validate-test.ts asserts a 100-character password validates and a 101-character one is reported against apple.review.demoPassword.

$ yarn test
Test Suites: 289 passed, 289 total
Tests:       4 skipped, 2444 passed, 2448 total

yarn typecheck, yarn lint (0 warnings), and yarn fmt:check are clean.

@github-actions

Copy link
Copy Markdown

Subscribed to pull request

File Patterns Mentions
packages/eas-cli/** @douglowder
packages/eas-cli/schema/** @byCedric
packages/eas-cli/src/metadata/** @byCedric

Generated by CodeMention

Warning: The preamble and epilogue options in commentConfiguration are deprecated. Use template instead.

@dennytosp
dennytosp force-pushed the fix/metadata-lint-demo-password-length branch from 8d1ae0e to 41cd8d3 Compare August 21, 2026 06:43
@dennytosp
dennytosp force-pushed the fix/metadata-lint-demo-password-length branch from fb61236 to e8a3d92 Compare September 3, 2026 10:31
App Store Connect rejects a demo password over 100 characters, but the
metadata schema had no limit, so `eas metadata:lint` passed and the error
only surfaced part-way through `eas metadata:push`.

Fixes expo#2785
@dennytosp
dennytosp force-pushed the fix/metadata-lint-demo-password-length branch from e8a3d92 to 83dc3a9 Compare September 5, 2026 20:06
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

eas metadata:lint does not catch too long passwords

1 participant