Conversation
Code Review SummaryStatus: No Issues Found | Recommendation: Merge Executive SummaryThe incremental commits after the previous review remove the stale Files Reviewed (8 files)
Notes
Previous Review Summaries (2 snapshots, latest commit 0adf25c)Current summary above is authoritative. Previous snapshots are kept for context only. Previous review (commit 0adf25c)Status: 1 Issue Found | Recommendation: Address before merge Executive SummaryOne stale, no-op mock in the manual-review-screen mounted test references a module that does not exist in the repo; the i18n catalog changes themselves are correct. Overview
Issue Details (click to expand)SUGGESTION
Files Reviewed (92 files)
Fix these issues in Kilo Cloud Previous review (commit ce15188)Status: No Issues Found | Recommendation: Merge Executive SummaryAll 86 non-English catalogs translate the three feature-flag row keys (verified individually for the Files Reviewed (95 files)
Reviewed by deepseek-v4.1-flash · Input: 0 · Output: 0 · Cached: 0 Review guidance: REVIEW.md from base branch |
a33b1af to
0adf25c
Compare
cb598c8 to
a6b2626
Compare
|
This description names a scenario the proof did not capture:
A repeated proof run rebuilds the same evidence, so no proof run is dispatched for a named gap. Merging with this gap open is your decision. |
…ly-arabic-prefer-b8a7f-7e51
Changelog for users
Changelog for maintainers
preferences.featureFlagApplied,preferences.featureFlagSkipped, andpreferences.featureFlagNotLoaded; each keeps the{{min}}placeholder and the·separator.ENGLISH_IDENTICAL_ALLOWLISTintools/i18n/check-catalogs.mjs, sopnpm check:i18nnow rejects a catalog that keeps them in English.apps/mobile/src/i18n/catalog-parity.test.tsadds a case asserting every non-English catalog's value differs from English for those keys.apps/mobile/src/components/feature-flags-section.mounted.test.tsxrenders the section in Arabic and fails when a row line contains an ASCII letter.t()for these keys; only its doc comment changed, so there is no runtime code change.objectContaining/arrayContaining; the manual-review-screen mounted test mocks the keyboard-padding modules; the RTL eyebrow test now matches the LTR-only display treatment intext.tsx; the tabs-layout mounted test is renamed with unchanged content.numberOfLines={1}JSX attribute on the segmented-control label was removed; the label still renders on one line.pnpm check:i18nplus the mobile tests.E2E proof
[e1] In Arabic the feature-flag rows render their reason copy in Arabic — Android emulator-5554:
SCENE e1 OKin e1-scene.log shows the Arabic Preferences digest withأعلام الميزاتand the rowsمفعّل · افتراضي · لم يتم التحميل/معطّل · افتراضي · لم يتم التحميل, and the scene's absent steps for not loaded/default/remote passed, so no raw English reason copy is left (screenshot e1.png is for the visual reviewer).[e2] Switching back to English leaves the feature-flag rows exactly as they were before the change (English notation, unchanged en.json copy) and leaves the device in English again: from the Arabic… — Android emulator-5554:
SCENE e2 OKin e2-scene.log shows the English Preferences digest withEnabled · default · not loadedandOff · default · not loadedand the LTR tab bar, leaving the device in English (screenshot e2.png is for the visual reviewer).E2E proof — log excerpts
/home/igor_kilocode_ai/.local/share/kwf/sections/explorer-language-switch-blank-in-the-fully-arabic-prefer-b8a7f-7e51/e2e-mobile-app/e1-scene.log/home/igor_kilocode_ai/.local/share/kwf/sections/explorer-language-switch-blank-in-the-fully-arabic-prefer-b8a7f-7e51/e2e-mobile-app/e2-scene.logOwner request
Follow-ups (not changed here)
مفعّل · default · not loaded): the scenario switches the app language in-app (Preferences -> Account -> Language -> العربية), lands back on the Arabic Preferences and asserts the section, a flag row and the value words with nonot loaded,defaultorremoteprose left in the rows. It ends on the Arabic screen (still + digest are the fix's proof); the app's language preference staysar(SecureStore, the harness cannot reset it), which scenario 2 switches back. (no capture cited it)Open findings (not fixed here)