Skip to content

fix(mobile): show remote CLI copy without literal markdown backticks - #6403

Closed
iscekic wants to merge 1 commit into
mainfrom
kwf/explorer-tour-runwhere-the-your-computer-card-renders-lit-c14a6-1027
Closed

iscekic wants to merge 1 commit into
mainfrom
kwf/explorer-tour-runwhere-the-your-computer-card-renders-lit-c14a6-1027

Conversation

@iscekic

@iscekic iscekic commented Sep 19, 2026

Copy link
Copy Markdown
Collaborator

Changelog for users

  • The Quick tour's "Your computer" card reads "Run Kilo on your own machine through the kilo remote CLI." with no visible backticks.
  • The no-computer empty state under that card reads "Run kilo remote on your computer to connect it." with no backticks.
  • The new-session remote hint and the connected-CLI picker description now show kilo remote and /remote as plain text.

Changelog for maintainers

  • English is the source catalog other locales translate from; only the four affected values changed.
  • A new unit test pins those four strings exactly and fails if any English catalog value contains a backtick.
  • The app renders catalog copy as plain text, so markdown syntax reaches the reader literally; keep markdown out of copy.
  • Review hint: only English changed, so check whether translated catalogs carry the same backticks or need regeneration before release.
  • No other behavior, data, config, or migration changes.

E2E proof

[e1] First-run account: Quick tour 'Your computer' card copy — On android emulator-5554 as fresh first-run account e2e-empty-1789856472@example.com, tour opened via Profile > Tutorial; e1-digest.log shows SCENE e1 OK with TextView Run Kilo on your own machine through the kilo remote CLI. (no backticks), matching catalog-check.log remoteOptionBody value and (no matches) for backticks in apps/mobile/src/i18n/locales/en.json; e1.png captured for the visual reviewer; no UX-DEFECT.

[e1] First-run account: Quick tour 'Your computer' card copy — e2e-mobile-app/e1.png

[e2] Tour fork 'Your computer' with no connected computer: empty state copy — On android emulator-5554, tapping Your computer on the tour fork as the same empty account shows No computer connected yet and TextView Run kilo remote on your computer to connect it. (no backticks) plus the hint TextView Run kilo remote on your computer, or /remote in a running CLI session, to control a local kilo process.; e2-digest.log SCENE e2 OK, empty state labeled and complete with no loader or layout shift; e2.png captured for the visual reviewer; no UX-DEFECT.

[e2] Tour fork 'Your computer' with no connected computer: empty state copy — e2e-mobile-app/e2.png

E2E proof — log excerpts

[e1] First-run account: Quick tour 'Your computer' card copy -> pass :: On android emulator-5554 as fresh first-run account e2e-empty-1789856472@example.com, tour opened via Profile > Tutorial; e1-digest.log shows SCENE e1 OK with TextView Run Kilo on your own machine through the kilo remote CLI. (no backticks), matching catalog-check.log remoteOptionBody value and (no matches) for backticks in apps/mobile/src/i18n/locales/en.json; e1.png captured for the visual reviewer; no UX-DEFECT.
[e2] Tour fork 'Your computer' with no connected computer: empty state copy -> pass :: On android emulator-5554, tapping Your computer on the tour fork as the same empty account shows No computer connected yet and TextView Run kilo remote on your computer to connect it. (no backticks) plus the hint TextView Run kilo remote on your computer, or /remote in a running CLI session, to control a local kilo process.; e2-digest.log SCENE e2 OK, empty state labeled and complete with no loader or layout shift; e2.png captured for the visual reviewer; no UX-DEFECT.
/home/igor_kilocode_ai/.local/share/kwf/sections/explorer-tour-runwhere-the-your-computer-card-renders-lit-c14a6-1027/e2e-mobile-app/e1-digest.log
SCENE e1 OK
android.widget.LinearLayout com.kilocode.kiloapp:id/action_bar_root tappable [0,0][1080,2400]
android.widget.FrameLayout android:id/content tappable [0,0][1080,2400]
android.widget.TextView QUICK TOUR tappable [37,149][1045,186]
android.view.View Where would you like to run Kilo? tappable [147,988][933,1062]
android.widget.TextView Pick where Kilo runs for your first session. tappable [191,1071][888,1127]
android.widget.RadioButton Cloud Agent, Run Kilo in a sandboxed cloud environment with nothing to install. tappable [55,1200][1025,1413]
android.widget.TextView Cloud Agent tappable [223,1230][911,1286]
android.widget.TextView Run Kilo in a sandboxed cloud environment with nothing to install. tappable [223,1290][911,1382]
android.widget.RadioButton Your computer, Run Kilo on your own machine through the kilo remote CLI. tappable [55,1441][1025,1654]
android.widget.TextView Your computer tappable [223,1471][911,1527]
android.widget.TextView Run Kilo on your own machine through the kilo remote CLI. tappable [223,1531][911,1623]
android.widget.Button Skip tour tappable [55,2221][1025,2336]
android.widget.TextView Skip tour tappable [473,2255][606,2301]
/home/igor_kilocode_ai/.local/share/kwf/sections/explorer-tour-runwhere-the-your-computer-card-renders-lit-c14a6-1027/e2e-mobile-app/catalog-check.log
# catalog copy check (apps/mobile/src/i18n/locales/en.json)
$ rg -n 'remoteOptionBody|remoteEmptyBody' apps/mobile/src/i18n/locales/en.json
3183:    "remoteOptionBody": "Run Kilo on your own machine through the kilo remote CLI.",
3190:    "remoteEmptyBody": "Run kilo remote on your computer to connect it.",
$ rg -n '`' apps/mobile/src/i18n/locales/en.json   # markdown backticks
(no matches)
/home/igor_kilocode_ai/.local/share/kwf/sections/explorer-tour-runwhere-the-your-computer-card-renders-lit-c14a6-1027/e2e-mobile-app/e2-digest.log
SCENE e2 OK
android.widget.LinearLayout com.kilocode.kiloapp:id/action_bar_root tappable [0,0][1080,2400]
android.widget.FrameLayout android:id/content tappable [0,0][1080,2400]
android.widget.Button Go back tappable [0,149][101,250]
android.widget.TextView QUICK TOUR tappable [111,179][1044,216]
android.view.View Start your first remote session tappable [178,920][903,994]
android.widget.TextView Connect your computer, then choose it below to start a new session. tappable [56,1003][1025,1115]
android.widget.TextView No computer connected yet tappable [279,1261][800,1326]
android.widget.TextView Run kilo remote on your computer to connect it. tappable [189,1335][891,1381]
android.widget.TextView Run kilo remote on your computer, or /remote in a running CLI session, to control a local kilo process. tappable [55,1417][1024,1555]
android.widget.Button busy tappable [410,1593][670,1709]
android.widget.TextView Check again tappable [449,1627][631,1673]
android.widget.Button Skip tour tappable [55,2221][1025,2336]
android.widget.TextView Skip tour tappable [473,2255][606,2301]
Owner request

Explorer finding: tour-runwhere: The 'Your computer' card renders literal markdown backticks around kilo remote in user-facing copy.

The user-agent explorer found this while using the app like a user.
One finding per item; the explorer never edits product code.

Flow: tour-runwhere
Found on revision: fd04ca1

Repro:

  1. set this state first: brand-new first-run account e2e-firstrun-1789794214@example.com with $10 credits, a second organization, 3 Code Reviewer pull requests, one top-level session question (ses_f47e65f26ffeo07Rjk0jgg7YM5); device portrait, system day mode, default font.
  2. open the app on emulator-5602
  3. reach the screen the capture names (tour-runwhere)
  4. the capture shows the defect named below

Observed: The 'Your computer' card renders literal markdown backticks around kilo remote in user-facing copy.
Expected: the screen renders without this defect

Evidence (from the device run):

Production record (automatic, 2026-09-19):

Production record for ses_f47e65f26ffeo07Rjk0jgg7YM5

Axiom, last 72 h

No line carries this term in: vercel, cloudflare-logpush, supabase-production.

The session row, read replica

No row in cli_sessions_v2 carries ses_f47e65f26ffeo07Rjk0jgg7YM5.

Log archives, R2 kilocode-sessions

NOT READ: R2 keys are indexed by the agent id, not the session id; take the agent_* from the worker logs above and query that.

Sentry, last 72h

No Sentry issue carries this term.

Follow-ups (not changed here)

  • not proved live: First-run account on the built app: open the Quick tour and read the 'Your computer' card — it says 'Run Kilo on your own machine through the kilo remote CLI.' with no backticks. (no capture cited it)
  • not proved live: From the tour fork tap 'Your computer' with no connected computer: the empty state says 'Run kilo remote on your computer to connect it.' with no backticks. (no capture cited it)

Open findings (not fixed here)

  • not proved live: tour-runwhere.png is no longer on the host that took it, so no publish can carry it

Explorer finding: tour-runwhere: The 'Your computer' card renders literal markdown backticks around `kilo remote` in user-facing copy.

The user-agent explorer found this while using the app like a user.
One finding per item; the explorer never edits product code.

Flow: tour-runwhere
Found on revision: fd04ca1

Repro:
1. set this state first: brand-new first-run account e2e-firstrun-1789794214@example.com with $10 credits, a second organization, 3 Code Reviewer pull requests, one top-level session `question` (ses_f47e65f26ffeo07Rjk0jgg7YM5); device portrait, system day mode, default font.
2. open the app on emulator-5602
3. reach the screen the capture names (tour-runwhere)
4. the capture shows the defect named below

Observed: The 'Your computer' card renders literal markdown backticks around `kilo remote` in user-facing copy.
Expected: the screen renders without this defect

Evidence (from the device run):
- ~/.local/share/kwf/findings/explorer-tour-runwhere-the-your-computer-card-renders-lit-c14a6b3a/tour-runwhere.png

Production record (automatic, 2026-09-19):
## Production record for `ses_f47e65f26ffeo07Rjk0jgg7YM5`

### Axiom, last 72 h
No line carries this term in: `vercel`, `cloudflare-logpush`, `supabase-production`.

### The session row, read replica
No row in `cli_sessions_v2` carries `ses_f47e65f26ffeo07Rjk0jgg7YM5`.

### Log archives, R2 `kilocode-sessions`
NOT READ: R2 keys are indexed by the agent id, not the session id; take the agent_* from the worker logs
Comment thread apps/mobile/src/i18n/plain-text-copy.test.ts
@kilo-code-bot

kilo-code-bot Bot commented Sep 19, 2026 •

Copy link
Copy Markdown
Contributor

Code Review Summary

Status: 1 Issues Found | Recommendation: Address before merge

Executive Summary

Removing the literal backticks from the four English catalog strings is correct and now guarded by a unit test; the single finding is a redundant assertion inside that test.

Overview

Severity Count
CRITICAL 0
WARNING 0
SUGGESTION 1
Issue Details (click to expand)

SUGGESTION

File Line Issue
apps/mobile/src/i18n/plain-text-copy.test.ts 47 Assertion checks the test fixture constant rather than the catalog, so it can never fail.
Files Reviewed (2 files)
  • apps/mobile/src/i18n/locales/en.json - 0 issues
  • apps/mobile/src/i18n/plain-text-copy.test.ts - 1 issue

Fix these issues in Kilo Cloud


Reviewed by deepseek-v4.1-flash · Input: 0 · Output: 0 · Cached: 0

Review guidance: REVIEW.md from base branch main

@iscekic
iscekic marked this pull request as draft September 19, 2026 22:51
@iscekic
iscekic marked this pull request as ready for review September 19, 2026 23:01
@iscekic

iscekic commented Sep 19, 2026

Copy link
Copy Markdown
Collaborator Author

This description names a scenario the proof did not capture:

  • not proved live: First-run account on the built app: open the Quick tour and read the 'Your computer' card — it says 'Run Kilo on your own machine through the kilo remote CLI.' with no backticks. (no capture cited it)

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.

@iscekic

iscekic commented Sep 20, 2026

Copy link
Copy Markdown
Collaborator Author

Duplicate of #6433, which carries this PR's change. Closing to keep one item per defect.

This PR and #6433 remove the same backticks from the same four English catalog values. The en.json hunks are identical in effect:

  • agentChat.newSession.remoteHint
  • agentChat.newSession.noCliInstancesDescription
  • tour.remoteOptionBody
  • tour.remoteEmptyBody

#6433 differs only in also covering the translated catalogs, which is where the defect is still live: the explorer captured it in Urdu (new-session hint, run-on picker) and in Swedish (tour computer step), and ur.json / sv.json carry the same markers. This PR's own review hint said as much ("only English changed, so check whether translated catalogs carry the same backticks").

This PR was the first of three items for one defect (#6403, #6432, #6433 — the last two filed 6 minutes apart from one explorer round). #6433 is the one kept because it is the only one covering every shipped locale.

@iscekic

iscekic commented Sep 20, 2026

Copy link
Copy Markdown
Collaborator Author

Closed as a duplicate of #6433, which carries this PR's en.json change.

@iscekic iscekic closed this Sep 20, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

human-ready The PR is ready for human review.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant