Skip to content

fix(mobile): align Greek PR review terminology and merge request copy - #8842

Merged
iscekic merged 3 commits into
mainfrom
drain/el-pr-review-terminology
Oct 24, 2026
Merged

iscekic merged 3 commits into
mainfrom
drain/el-pr-review-terminology

Conversation

@iscekic

@iscekic iscekic commented Oct 23, 2026

Copy link
Copy Markdown
Collaborator

Evidence

Evidence: demonstrated — on the Android emulator in Greek, the real pull-request review overview rendered «Αξιολόγηση», «Αξιολογητές» and «Σε αναμονή αξιολόγησης», the review-submit sheet rendered «Υποβολή αξιολόγησης», and a failing merge-request read rendered «Μη διαθέσιμο αίτημα συγχώνευσης» with the informal «μπορεί να μην έχεις πρόσβαση σε αυτό» and a load-error title without a trailing full stop. Current main (1568126) carries «Έλεγχος», «Ελεγκτές», «Σε αναμονή ελέγχου», «Υποβολή ελέγχου», the formal «έχετε» and the trailing full stop, read from the catalog at that commit.

Change

  • prReview.review, prReview.overview.reviewers, prReview.overview.reviewPending and prReview.submit.submitReview now use the one Greek review term the surrounding review strings already use. The visible Review button text is therefore part of its accessibility label, and the reviewers heading and the pending-state label agree with the review-required state label.
  • CI checks keep their own term: no check string changes in this pull request.
  • prReview.terms.couldNotLoadMergeRequest drops its trailing full stop, matching the English title and the sibling merge-request title.
  • prReview.terms.unavailableDescription addresses the reader in the informal singular, like the neighbouring error copy.
  • Record the Greek wording exception for the English string those three review surfaces share, because one of them is out-of-scope product copy that must not change.
  • Extend the development-only pull-request review copy fixture with overview, review-submit and provider-error surfaces, so the copy can be read in the app's own language without a forge connection.

Verification

  • pnpm --filter kilo-app check:i18n — 87 catalogs match en.json.
  • pnpm --filter kilo-app exec vitest run src/i18n src/components/pr-review src/lib/pr-review — 155 files, 3111 tests pass.
  • pnpm --filter kilo-app typecheck, lint, format:check — pass on the head commit.
  • Android emulator, app language Greek, development build from Metro on this VM, real PrReviewOverview, PrReviewReviewSubmitScreen and provider error states over fake reads:
    • overview: «Ανοιχτό · Απαιτείται αξιολόγηση», «ΑΞΙΟΛΟΓΗΤΕΣ», reviewer states «Εγκρίθηκε» and «Σε αναμονή αξιολόγησης», section «ΑΞΙΟΛΟΓΗΣΗ» whose button reports the accessibility name «Αξιολόγηση αιτήματος ενσωμάτωσης» while showing «Αξιολόγηση».
    • review-submit sheet: title «Υποβολή αξιολόγησης», event section «ΕΝΕΡΓΕΙΑ ΑΞΙΟΛΟΓΗΣΗΣ», submit action «Υποβολή αξιολόγησης».
    • merge-request not-found state: «Μη διαθέσιμο αίτημα συγχώνευσης» / «Μπορεί να έχει διαγραφεί, ή μπορεί να μην έχεις πρόσβαση σε αυτό.»
    • merge-request load-error state: «Δεν ήταν δυνατή η φόρτωση του αιτήματος συγχώνευσης» with no trailing full stop.
    • Captures are published in a comment on this pull request.

Runtime boundary

Real components, hooks and i18next resolution with development-only fake reads. No forge traffic and no backend are involved; a live GitHub or GitLab read is not exercised by this change, which touches catalog values only.

Proxy answers

The owner's proxy gave these answers in the owner's place.

  1. Question: E2E surface: The brief asks to verify three states on the Android emulator in Greek: the PR overview Review button, the reviewers section, and a GitLab merge-request load error. The dev-only copy fixture merged by the dependency (PR fix(mobile): correct Greek PR review copy #8652) covers checks/navigator/files/merge only; the overview needs a GitHub PR read and the GitLab error needs a failing provider read, both of which a fresh VM cannot produce without a fake forge. How should I get the proof?
    Answer: Extend the merged dev fixture with overview + GitLab error surfaces
    Confidence: 0.78 · Precedent: Proof and verification: use fixtures for hard-to-capture states, dev-only, faithful and committed for reuse; fixture rules.
  2. Question: Catalog check: pnpm check:i18n enforces one Greek wording per identical English string. English "Review" is shared by this review flag, a code-reviewer settings title and an excluded-feature onboarding key that must not be touched. Changing only prReview.review therefore fails the check. How should I resolve it?
    Answer: Add "Review" to the el wording exceptions
    Confidence: 0.80 · Precedent: Product scope: never touch the excluded features; Git and PRs: keep each PR diff to files the feature needs, and CI must pass for human ready.

Use one Greek review term across the pull-request review surface and make
the merge-request error copy match the catalog conventions.

- prReview.review, overview.reviewers, overview.reviewPending and
  submit.submitReview now share the review term already used by the
  neighbouring review strings, so the visible Review button text is part
  of its accessibility label.
- terms.couldNotLoadMergeRequest no longer ends with a full stop, like the
  other merge-request titles.
- terms.unavailableDescription addresses the reader in the informal
  singular, matching the neighbouring error copy.
- Extend the development-only PR review copy fixture with overview, submit
  and provider error surfaces so the copy can be read without a forge.
@iscekic iscekic added drain Work item from the findings drain janitor:i18n Janitor finding: mobile copy and catalog checks labels Oct 23, 2026
@iscekic

iscekic commented Oct 23, 2026

Copy link
Copy Markdown
Collaborator Author

bot: Android emulator, Greek app language, head fd619cc. Development build from Metro on the work VM; the real overview, review-submit screen and provider error states mounted over development-only fake reads (no forge, no backend). Observed copy:

  • Overview state chip «Ανοιχτό · Απαιτείται αξιολόγηση», reviewers heading «ΑΞΙΟΛΟΓΗΤΕΣ», reviewer states «Εγκρίθηκε» and «Σε αναμονή αξιολόγησης».
  • Review section «ΑΞΙΟΛΟΓΗΣΗ»; the button shows «Αξιολόγηση» and reports the accessibility name «Αξιολόγηση αιτήματος ενσωμάτωσης» in the view hierarchy dump.
  • Review-submit sheet: title «Υποβολή αξιολόγησης», event section «ΕΝΕΡΓΕΙΑ ΑΞΙΟΛΟΓΗΣΗΣ», submit action «Υποβολή αξιολόγησης».
  • Merge-request not-found: «Μη διαθέσιμο αίτημα συγχώνευσης» with «Μπορεί να έχει διαγραφεί, ή μπορεί να μην έχεις πρόσβαση σε αυτό.»
  • Merge-request load error: «Δεν ήταν δυνατή η φόρτωση του αιτήματος συγχώνευσης», no trailing full stop.

Greek overview reviewers section with approved and pending reviewer states

Greek overview review section with its review button

Greek merge request unavailable state with retry and connection check actions

Greek merge request load error title with a retry action

Greek review submit sheet with title, event section and submit action

Comment thread apps/mobile/src/app/+native-intent.tsx Resolved
The checks fixture is only read from its own module, so it does not need
to be exported.
@kilo-code-bot

kilo-code-bot Bot commented Oct 23, 2026 •

Copy link
Copy Markdown
Contributor

Code Review Summary

Status: No Issues Found | Recommendation: Merge

Executive Summary

The only change since the previous review is the native-intent fixture regex at apps/mobile/src/app/+native-intent.tsx:41, which now accepts an optional query and an optional fragment, resolving the earlier fragment-only feedback; no new correctness, security, or performance issues found.

Assumptions: [INFERENCE] validation commands (check:i18n, vitest, typecheck, lint) were not executed in this read-only review and are taken from the PR description.

Files Reviewed (5 files)
  • apps/mobile/src/app/+native-intent.tsx - regex now handles query plus fragment; prior suggestion resolved
  • apps/mobile/src/components/pr-review/pr-review-copy-fixture.tsx - unchanged since previous review
  • apps/mobile/src/components/pr-review/pr-review-overview-copy-fixture.tsx - unchanged since previous review
  • apps/mobile/src/i18n/locales/el.json - unchanged since previous review
  • tools/i18n/wording-exceptions.json - unchanged since previous review
Previous Review Summary (commit e812911)

Current summary above is authoritative. Previous snapshots are kept for context only.

Previous review (commit e812911)

Status: No Issues Found | Recommendation: Merge

Executive Summary

No new issues in this run: the Greek catalog edits, the wording exception, and the dev-only fixture surfaces are consistent with the changed consumers; the earlier suggestion about fragment-only fixture links (+native-intent.tsx:41) remains open in its existing inline comment. Validation commands (check:i18n, vitest, typecheck, lint) were not executed in this read-only review and are taken from the PR description.

Assumptions: [INFERENCE] the fixture's provider-error response shape and the githubPrReview/providerReview read split were verified by reading provider-pr-queries.ts; runtime behavior relies on the PR's emulator evidence.

Files Reviewed (5 files)
  • apps/mobile/src/app/+native-intent.tsx - no new issues (prior fragment suggestion stands)
  • apps/mobile/src/components/pr-review/pr-review-copy-fixture.tsx - no issues
  • apps/mobile/src/components/pr-review/pr-review-overview-copy-fixture.tsx - no issues
  • apps/mobile/src/i18n/locales/el.json - no issues
  • tools/i18n/wording-exceptions.json - no issues

Reviewed by deepseek-flash-latest · Input: 28.8K · Output: 1.9K · Cached: 145.4K

Review guidance: REVIEW.md from base branch main

The pattern now accepts an optional fragment after the optional query, so
a fragment-only link still opens the fixture and a link that carries both
keeps its query.
@iscekic

iscekic commented Oct 23, 2026

Copy link
Copy Markdown
Collaborator Author

bot: Captures re-taken at head b468911 (the earlier set was from fd619cc; the copy on screen is the same, and this set matches the current head). Same method: Android emulator, Greek app language, development build from Metro on the work VM, real overview, review-submit screen and provider error states over development-only fake reads.

Observed in the view hierarchy at this head:

  • Overview: «Ανοιχτό · Απαιτείται αξιολόγηση», «ΑΞΙΟΛΟΓΗΤΕΣ», «Εγκρίθηκε», «Σε αναμονή αξιολόγησης», «ΑΞΙΟΛΟΓΗΣΗ» with the button's accessibility name «Αξιολόγηση αιτήματος ενσωμάτωσης» and the visible text «Αξιολόγηση».
  • Review submit: «Υποβολή αξιολόγησης» (title and action), «ΕΝΕΡΓΕΙΑ ΑΞΙΟΛΟΓΗΣΗΣ».
  • Merge-request not found: «Μη διαθέσιμο αίτημα συγχώνευσης» / «Μπορεί να έχει διαγραφεί, ή μπορεί να μην έχεις πρόσβαση σε αυτό.»
  • Merge-request load error: «Δεν ήταν δυνατή η φόρτωση του αιτήματος συγχώνευσης» (no trailing full stop).
  • Fixture links that carry a fragment now resolve again: the fragment-only link opened the overview, and the query-plus-fragment link opened the submit sheet with the pull-request identity from the query.

Greek overview reviewers section at the current head

Greek overview review section at the current head

Greek merge request unavailable state at the current head

Greek merge request load error title at the current head

Greek review submit sheet at the current head

@iscekic iscekic added the merge:bot Bot-owned review; merge when ready once readiness passes and a review approves. label Oct 23, 2026
@iscekic
iscekic enabled auto-merge October 23, 2026 16:48
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

drain Work item from the findings drain janitor:i18n Janitor finding: mobile copy and catalog checks merge:bot Bot-owned review; merge when ready once readiness passes and a review approves.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants