Skip to content

Meetups: a refused join reads in the phone's language - #319

Merged
renrenmimi merged 1 commit into
mainfrom
ios/meetup-refusal-words
Oct 14, 2026
Merged

renrenmimi merged 1 commit into
mainfrom
ios/meetup-refusal-words

Conversation

@renrenmimi

Copy link
Copy Markdown
Owner

The server refuses a join in English sentences, one or several of a meetup's rules at once. The app showed them as they came, so a phone set to Chinese read "Meetup is full." in English. The 200-person meetup race in the scenario script brought this up.

MeetupRefusal puts each sentence the server can send into the phone's language:

  • The rules ("Dogs only.", "Requires at least 3 followed pets.", ...) are the lines the meetup screen already shows before joining, with their existing translations.
  • The server's own three refusals are new to the catalog: full, no longer taking people, and pick a pet.
  • A sentence it does not know is shown as the server wrote it.

In English nothing changes.

Tests. Five new unit tests run against the built app's Chinese bundle:

  • the three refusals;
  • several rules in one answer;
  • English unchanged;
  • one followed pet said in the singular;
  • an unknown sentence passed through.

The full unit suite passes on the simulator: 1077 tests in 94 suites. That includes the check that every catalog translation reached the built app.

🤖 Generated with Claude Code

The server refuses a join in English sentences, one or several of a
meetup's rules at once, and the app showed them as they came: a phone
set to Chinese read "Meetup is full." in English. MeetupRefusal puts each
sentence the server can send into the phone's language. The rules are
the lines the meetup screen already shows before joining, with their
translations; three refusals of the server's own are new to the catalog.
A sentence it does not know is shown as the server wrote it.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Copilot AI balanced review requested due to automatic review settings October 14, 2026 20:29
@vercel

vercel Bot commented Oct 14, 2026 •

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated
pet-note Ready Ready Preview Oct 14, 2026 8:29pm UTC

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Oct 14, 2026 •

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ✅ Completed 2026-10-14T20:30:54.986258Z 3382b06 PR opened
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 3382b06e93

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

/// into the phone's language one by one. A sentence this does not know is
/// shown as the server wrote it, rather than not at all.
enum MeetupRefusal {
static func localized(_ reason: String, bundle: Bundle = .main, locale: Locale = .current) -> String {

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Derive the locale from the app localization

When PetNote is set to Chinese independently in Settings while the device locale remains English, the default .current selects English even though Bundle.main.preferredLocalizations selects Chinese, so these refusals still disagree with the rest of the interface. The repository already accounts for this distinction in PostAge.interfaceLocale; derive the default locale from the bundle (or let normal bundle localization choose it). The new tests miss this production path because they always inject zh-Hans explicitly.

Useful? React with 👍 / 👎.

@renrenmimi
renrenmimi merged commit eb4d49a into main Oct 14, 2026
7 checks passed
@renrenmimi
renrenmimi deleted the ios/meetup-refusal-words branch October 14, 2026 20:39

This branch was successfully deployed

1 active deployment
Preview — 3382b06e Deployed Oct 14, 2026 by vercel[bot]
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.

2 participants