Repository navigation
fix(apps): store.updates.available plural forms use %lld (base red from #30288) - #30493
Conversation
…ence the number (base red from #30288) Xcode's string catalog compiler refuses a plural variation that doesn't reference its number ("Plural variation requires referencing the number in the string", ar: store.updates.available), so the CmuxNext package test build failed at e6bfd26 and every Swift suite run after it went red before any test ran. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Agent-Session: https://cmux.com/deeplink/agent?id=aid-3a05ae6e302bba4a7be8
teamleaderleo
left a comment
There was a problem hiding this comment.
Review (claude-sonnet-5-5): SHIP at 3d32fe3
… page formatter now fills Xcode's catalog compiler wants an integer specifier in every plural variation, not %@: the package build failed on ar, then on bs, for every language of the key. formatString substitutes %d, %ld and %lld (and %N$lld) like %@. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Agent-Session: https://cmux.com/deeplink/agent?id=aid-3a05ae6e302bba4a7be8
teamleaderleo
left a comment
There was a problem hiding this comment.
Review (claude-sonnet-5-5): SHIP at 1f7c1d2
…p the store.updates.available fix, #30493) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…store.updates.available fix, #30493) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
cmux status (one comment, edited in place; each line is updated by the job that owns it) Not verified: macOS jobs did not run: compile and app tests were skipped on CI passes on Written by Shipped in:
|
Base red from #30288 (e6bfd26). Building the CmuxNext package fails on its string catalog:
so every
package-test-lane.shSwift suite run on a base at or after e6bfd26 fails before any test runs (seen in fleet step 894810ef811a93fabb693cc7, at a commit whose only changes are Home avatar files). That hides the signal of every Swift suite.Xcode's catalog compiler wants every plural form to reference an integer specifier.
%@doesn't count, so the error names whichever language it checks first:arin one run,bsin the next.Fix:
store.updates.available, in every language, uses%lldinstead of%@. The Arabiczero,oneandtwoforms, which had no specifier at all, end in(%lld).formatString(webviews/src/pages/shared/i18n.ts), the Apps page's formatter, fills%d,%ldand%lld(and%N$lld) the same way it fills%@. A new i18n.test.ts case covers it.Observed / Not run
bun test src/pages/shared/i18n.test.ts src/pages/apps/UpdatesView.test.tsxpasses (7 tests).gen-strings.mjs appswrites the table with no errors.scripts/web-lint.shpasses. After this change, every form of the key contains%lld(checked by script).package-test-lane.shbuild at this head. Its result goes in a comment.Risk: low (one string catalog).
Changelog
none
Agent session: agent session
🤖 Generated with Claude Code