apple listing: asking for the version that is in review says it is locked (it said "already exists; a new version needs a higher number"); play images: a listing language missing from languages[] is skipped with the fix instead of stopping the run (play listing pushes its text). Both found by the live dry-run sweep; tests
This commit is contained in:
parent
9d6f741092
commit
b29f1c407c
4 changed files with 28 additions and 1 deletions
|
|
@ -75,6 +75,10 @@ export function planVersion(rows: { id: string; attributes: Record<string, unkno
|
|||
const base = { existing, first, changes: [] as FieldDiff[], attributes: {} as Record<string, string> };
|
||||
const refuse = (reason: string): VersionPlan => ({ ...base, action: 'refuse', reason });
|
||||
const taken = others.find(v => v.versionString === want);
|
||||
// the version asked for is in review / pending release: it exists and is locked; "needs a higher number" would send
|
||||
// the owner off to make a second version while the first is still in review
|
||||
if (taken && IN_PROGRESS.has(taken.state))
|
||||
return refuse(`version ${want} is ${taken.state}: App Store Connect locks its texts and build while it is in review or pending release (remove it from review in App Store Connect to change it, or wait for the release and then make the next version)`);
|
||||
if (taken) return refuse(`version ${want} already exists (${taken.state}); a new version needs a higher number`);
|
||||
const higher = others.filter(v => compareVersions(v.versionString, want) >= 0).sort((a, b) => compareVersions(b.versionString, a.versionString))[0];
|
||||
if (higher && (!editable || editable.versionString !== want))
|
||||
|
|
|
|||
|
|
@ -141,7 +141,9 @@ export async function run(ctx: Ctx): Promise<void> {
|
|||
const errors: string[] = [];
|
||||
for (const code of codes) {
|
||||
const l = langOf.get(code);
|
||||
if (!l) throw new Error(`${code}: no entry in languages[] has this Play code`);
|
||||
// the listing file has a section for a language the config does not list (play listing still pushes its text):
|
||||
// there is no renders folder for it, so its images are skipped with the fix, not the whole run stopped
|
||||
if (!l) { skipped.push(`skipped ${code}: in the listing file but no entry in languages[] has play: '${code}' (add it to upload its images)`); continue; }
|
||||
const li = langImages(code, join(src, l.id), icon, tablets);
|
||||
errors.push(...li.errors);
|
||||
sets.set(code, li);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue