Skip to content

fix(mobile): keep new-session mode and model pills above the keyboard - #6487

Merged
iscekic merged 1 commit into
mainfrom
kwf/explorer-new-session-kb-up-the-mode-code-and-model-deepse-69930-9909
Sep 22, 2026
Merged

iscekic merged 1 commit into
mainfrom
kwf/explorer-new-session-kb-up-the-mode-code-and-model-deepse-69930-9909

Conversation

@iscekic

@iscekic iscekic commented Sep 21, 2026 •

Copy link
Copy Markdown
Collaborator

Changelog for users

  • On a short or landscape phone viewport, the keyboard no longer cuts through the Mode and model pills in the new-session composer.
  • With an attachment staged or a prompt near its character limit, the composer reserves those extra rows, so the Mode and model pills stay above the keyboard.
  • The Mode and model pills wrap onto a second row on narrow viewports, so the full model name stays readable.
  • The prompt input gives up lines while the keyboard is up and takes them back when it closes.
  • The new-session connect card no longer paints over the repository picker while it expands.

Changelog for maintainers

  • apps/mobile/src/components/agents/chat-composer-input-height.ts:76 — accepted: the input floor now reserves the rows the card renders only in some states. resolveNewSessionPromptCardChromeRowsAboveToolbar adds the attachment strip (72), the metadata-failure notice (24), and the near-limit counter (20) to the fixed rows, and the resolver applies each under the same condition the card renders it.
  • apps/mobile/src/components/agents/new-session-prompt.tsx:343 — accepted: a non-positive toolbar layout no longer stores 0. The handler keeps the last measurement (or the null that selects the static budget), and resolveNewSessionPromptCardChrome treats a missing, zero, or negative height as not measured. The models-error block, which renders in the toolbar's place, also forces the static budget via toolbarRendered: !showsModelsError, so a previously measured wrapped toolbar cannot stand in for a row that is not there.
  • The composer input min-height floor is computed from the frame the composer scrolls in; the window-based floor remains only for the first frame before the host reports that frame, and the frame-based floor drops the window subtraction that double-counted the safe areas, keyboard, and session header.
  • The mode/model toolbar takes opt-in wrap and onLayout; only the new-session prompt and its clone opt in, so the chat composer keeps its one-line row (fix(mobile): keep the composer toolbar on one line #5983).
  • The card chrome budget uses the static font-scale estimate until the toolbar lays out, then the measured toolbar height plus the reserved rows above it.
  • Only the pill text line scales with the system font scale; scaling the fixed rows over-reserved and cost the input lines at large text sizes.
  • The disclosure layout accepts an animateLayout opt-out; the repository connect card uses it because the transition interpolates its frame against already-snapped siblings.
  • Review hint: check the first frame before the toolbar height is known, and that a staged attachment or near-limit prompt lowers the input floor instead of pushing the pills under the IME.

E2E proof

Collected 2026-09-21 on the repaired build. The default-portrait captures below re-prove the empty composer and add the attachment-strip and near-limit-counter states, replacing the earlier keyboard-up captures. Owner-manual, skipped pending owner verification: the short-viewport (density 560) and large-system-text checks, because the owner assigns display geometry, zoom, and font size to manual verification; the default-portrait captures here are the automatic proof.

New-session composer, default portrait, one image attachment staged, empty prompt, keyboard up: the attachment strip renders above the input and the Code / model pill row is whole above the IME

Attachment-strip composer hierarchy on the default portrait device

New-session composer, default portrait, near-limit prompt so the characters-remaining counter renders, keyboard up: the counter row sits above the control row and the Code / model pill row below it, all inside the composer frame

New-session composer, default portrait, no attachment, keyboard up: the prompt auto-focuses and the Code / model pill row stays whole above the IME

Owner request

Explorer finding: new-session-kb-up: The Mode (Code) and model (DeepSeek V4.1 Flash · Low) pills at the bottom of the composer are cut through by the keyboard, which the composer does not clear.

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

Flow: new-session-kb-up
Found on revision: f2181ae

Repro:

  1. set this state first: credits 30; reviews 5; org; density 560; uimode day; battery 18 discharging; relaunch; the device in light mode
  2. open the app on emulator-5602
  3. reach new-session-kb-up
  4. the capture shows the defect named below

Observed: The Mode (Code) and model (DeepSeek V4.1 Flash · Low) pills at the bottom of the composer are cut through by the keyboard, which the composer does not clear.
Expected: the screen renders without this defect

Evidence (from the device run):

E2E proof — log excerpts

[e1] New-session composer, default portrait device, one image attachment staged, -> pass :: android emulator-5554 portrait 1080x2400 density 420: e1-scene.log 'SCENE e1 OK' shows the image chip '1000000019.png, Uploaded tappable [43,256][222,397]' above the input 'EditText What would you like to work on? tappable [58,436][1024,667]' and the pill row whole at 'Mode: Code tappable [68,808][301,881]' / 'Auto Efficient tappable [319,808][623,881]'; the IME was up (e1-ime.log 'IME_INSETS_SHOW_ANIMATION::0@1@com.kilocode.kiloapp') — the composer frame is [0,213][1080,2274] with the IME up and [0,213][1080,2337] with it down, where 'Start session' [37,2313][1043,2337] is present (e1-hierarchy.txt, e1-kbd-down.txt, capture e1-hierarchy.png); the input stays at the 3-line floor 88 dp/231 px
[e2] New-session composer, default portrait device, near-limit prompt so the cha -> pass :: android emulator-5554 portrait 1080x2400 density 420: e2-scene.log 'SCENE e2 OK' shows the counter row directly above the control row — '880 characters remaining tappable [965,691][1013,728]' then 'Add attachment tappable [58,743][140,826]' / 'Start voice input' — with the 'Mode: Code tappable [68,877][301,951]' / 'Auto Efficient' pill row below them, all inside the composer frame [0,213][1080,2274] and the input grown to 'bounds="[58,271][1024,691]"' (e2-hierarchy.txt) while the IME is up (e2-ime.log 'IME_INSETS_SHOW_ANIMATION::0@1@com.kilocode.kiloapp'; 'Start session' absent, capture e2-hierarchy.png); UX audit: no UX-DEFECT, counter and metadata sit above the control row with no shift or
/home/igor_kilocode_ai/.local/share/kwf/sections/kwf-fix-review-618b/e2e-mobile-app/e1-scene.log
android.widget.TextView Run on tappable [37,792][1045,838]
android.widget.Button Run on: Cloud Agent tappable [37,856][909,972]
android.widget.TextView Cloud Agent tappable [67,886][844,942]
android.widget.Button Refresh tappable [928,856][1043,972]
android.widget.TextView Run `kilo remote` on your computer, or `/remote` in a running CLI session, to control a local kilo process. tappable [36,991][1044,1065]
android.widget.TextView Repository tappable [37,1111][1045,1157]
android.widget.Button Repository: Select repository tappable [37,1175][1043,1291]
android.widget.TextView Select repository tappable [67,1205][978,1261]
android.widget.Button Connect GitLab tappable [76,1358][1004,1404]
android.widget.TextView Connect GitLab tappable [76,1358][944,1404]
android.widget.TextView Connect GitLab in your browser, then return here to pick a repository. tappable [76,1432][1004,1524]
android.widget.Button Open GitLab tappable [76,1552][870,1667]
android.widget.TextView Open GitLab tappable [412,1586][594,1632]
android.widget.Button Refresh repositories tappable [888,1552][1004,1667]
android.widget.TextView Changes tappable [37,1753][1045,1799]
android.view.View Changes tappable [37,1817][1043,1936]
android.widget.RadioButton Leave changes tappable [46,1826][540,1927]
android.widget.TextView Leave changes tappable [182,1853][403,1899]
android.widget.RadioButton Commit and push tappable [540,1826][1034,1927]
android.widget.TextView Commit and push tappable [656,1853][917,1899]
android.widget.TextView Environment tappable [37,1982][1045,2028]
android.widget.TextView Default environment tappable [37,2046][1045,2092]
android.widget.Button Start session [37,2148][1043,2264]
android.widget.TextView Start session tappable [442,2182][638,2228]
/home/igor_kilocode_ai/.local/share/kwf/sections/kwf-fix-review-618b/e2e-mobile-app/e1-ime.log
# android emulator-5554 — device logcat tail captured with the sim_browser_console_messages
# device tool during this run, while the new-session composer held the staged image
# attachment and the prompt input was focused. The harness exposes no command that prints
# the IME window frame (see the verdict gap note); these are the decisive IME lines.
# the IME showing for the app under test (com.kilocode.kiloapp), 1 s before the e1 digest:
09-21 14:54:30.641 19658 19658 E FrameTracker: force finish cuj, time out: J<IME_INSETS_SHOW_ANIMATION::0@1@com.kilocode.kiloapp>
# the IME hiding for the app on the keyboard-down control step:
09-21 14:52:34.069 19658 19658 E FrameTracker: force finish cuj, time out: J<IME_INSETS_HIDE_ANIMATION::1@1@com.kilocode.kiloapp>
# the soft keyboard process (pid 1316) building its view for this app's window, density 420,
# portrait (global_orientation=1) — i.e. the on-screen keyboard is up, not a hardware one:
09-21 14:52:36.374 1316 1316 W Keyboard: Keyboard.getKeyboardViewHelper():574 null helper is returned: keyboardDef=kuo{processedConditions={}, globalConditions={global_theme_key=theme_border_styleshee
09-21 14:52:36.374 1316 1316 W Keyboard: Keyboard.getKeyboardViewHelper():574 null helper is returned: keyboardDef=kuo{... global_density_dpi=420, global_orientation=1}, ..., type=WIDGET, ...
09-21 14:54:20.013 1316 1316 W Keyboard: Keyboard.getKeyboardViewHelper():574 null helper is returned: keyboardDef=kuo{... global_density_dpi=420, global_orientation=1}, ..., type=WIDGET, ...
# the app window the keyboard belongs to (from the same keyboard line):
#   context.getResources().getConfiguration(): {1.0 310mcc260mnc [en_US] ldltr sw411dp w411dp h914dp 420dpi nrml long port finger qwerty/v/v dpad/v
/home/igor_kilocode_ai/.local/share/kwf/sections/kwf-fix-review-618b/e2e-mobile-app/e1-hierarchy.txt
<redacted>
                                      </android.widget.RadioButton>
<redacted>
<redacted>
                                    </android.view.ViewGroup>
                                  </android.widget.ScrollView>
                                </android.view.ViewGroup>
                              </android.view.ViewGroup>
                            </android.widget.ScrollView>
                          </android.view.ViewGroup>
                        </android.view.ViewGroup>
                      </android.view.ViewGroup>
<redacted>
                    </android.view.ViewGroup>
                  </android.view.ViewGroup>
                </android.view.ViewGroup>
              </android.widget.FrameLayout>
            </android.widget.FrameLayout>
          </android.widget.FrameLayout>
        </android.widget.LinearLayout>
      </android.widget.FrameLayout>
    </android.widget.LinearLayout>
  </android.widget.FrameLayout>
</hierarchy>
/home/igor_kilocode_ai/.local/share/kwf/sections/kwf-fix-review-618b/e2e-mobile-app/e1-kbd-down.txt
                                      </android.widget.RadioButton>
<redacted>
<redacted>
<redacted>
                                    </android.view.ViewGroup>
                                  </android.widget.ScrollView>
                                </android.view.ViewGroup>
                              </android.view.ViewGroup>
                            </android.widget.ScrollView>
                          </android.view.ViewGroup>
                        </android.view.ViewGroup>
                      </android.view.ViewGroup>
<redacted>
                    </android.view.ViewGroup>
                  </android.view.ViewGroup>
                </android.view.ViewGroup>
              </android.widget.FrameLayout>
            </android.widget.FrameLayout>
          </android.widget.FrameLayout>
        </android.widget.LinearLayout>
      </android.widget.FrameLayout>
    </android.widget.LinearLayout>
  </android.widget.FrameLayout>
</hierarchy>
/home/igor_kilocode_ai/.local/share/kwf/sections/kwf-fix-review-618b/e2e-mobile-app/e2-scene.log
android.widget.TextView Code tappable [146,890][223,936]
android.widget.Button Auto Efficient tappable [319,877][623,951]
android.widget.TextView Auto Efficient tappable [347,891][546,937]
android.widget.TextView Run on tappable [37,1027][1045,1073]
android.widget.Button Run on: Cloud Agent tappable [37,1091][909,1207]
android.widget.TextView Cloud Agent tappable [67,1121][844,1177]
android.widget.Button Refresh tappable [928,1091][1043,1206]
android.widget.TextView Run `kilo remote` on your computer, or `/remote` in a running CLI session, to control a local kilo process. tappable [36,1226][1044,1300]
android.widget.TextView Repository tappable [37,1346][1045,1392]
android.widget.Button Repository: Select repository tappable [37,1410][1043,1527]
android.widget.TextView Select repository tappable [67,1440][978,1496]
android.widget.Button Connect GitLab tappable [76,1593][1004,1639]
android.widget.TextView Connect GitLab tappable [76,1593][944,1639]
android.widget.TextView Connect GitLab in your browser, then return here to pick a repository. tappable [76,1667][1004,1759]
android.widget.Button Open GitLab tappable [76,1787][870,1902]
android.widget.TextView Open GitLab tappable [412,1821][594,1867]
android.widget.Button Refresh repositories tappable [888,1787][1004,1902]
android.widget.TextView Changes tappable [37,1988][1045,2034]
android.view.View Changes tappable [37,2052][1043,2171]
android.widget.RadioButton Leave changes tappable [46,2061][540,2162]
android.widget.TextView Leave changes tappable [182,2088][403,2134]
android.widget.RadioButton Commit and push tappable [540,2061][1034,2162]
android.widget.TextView Commit and push tappable [656,2088][917,2134]
android.widget.TextView Environment tappable [37,2218][1045,2264]
/home/igor_kilocode_ai/.local/share/kwf/sections/kwf-fix-review-618b/e2e-mobile-app/e2-hierarchy.txt
<redacted>
<redacted>
                                      </android.widget.RadioButton>
<redacted>
                                    </android.view.ViewGroup>
                                  </android.widget.ScrollView>
                                </android.view.ViewGroup>
                              </android.view.ViewGroup>
                            </android.widget.ScrollView>
                          </android.view.ViewGroup>
                        </android.view.ViewGroup>
                      </android.view.ViewGroup>
<redacted>
                    </android.view.ViewGroup>
                  </android.view.ViewGroup>
                </android.view.ViewGroup>
              </android.widget.FrameLayout>
            </android.widget.FrameLayout>
          </android.widget.FrameLayout>
        </android.widget.LinearLayout>
      </android.widget.FrameLayout>
    </android.widget.LinearLayout>
  </android.widget.FrameLayout>
</hierarchy>
/home/igor_kilocode_ai/.local/share/kwf/sections/kwf-fix-review-618b/e2e-mobile-app/e2-ime.log
# android emulator-5554 — device logcat tail captured with the sim_browser_console_messages
# device tool during this run, while the new-session composer held the seeded near-limit prompt
# ("880 characters remaining") and the keyboard was up. The harness exposes no command that
# prints the IME window frame (see the verdict gap note); these are the decisive IME lines.
# the IME showing for the app under test (com.kilocode.kiloapp) with the seeded composer up:
09-21 15:03:27.268 19658 19658 E FrameTracker: force finish cuj, time out: J<IME_INSETS_SHOW_ANIMATION::0@1@com.kilocode.kiloapp>
# the soft keyboard process (pid 1316) building its view for this app's window — density 420,
# portrait (global_orientation=1), i.e. the on-screen keyboard is up, not a hardware one:
09-21 15:03:16.561 1316 1316 W Keyboard: Keyboard.getKeyboardViewHelper():574 null helper is returned: keyboardDef=kuo{processedConditions={}, globalConditions={global_theme_key=theme_border_styleshee

@kilo-code-bot

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

Copy link
Copy Markdown
Contributor

Code Review Summary

Status: 2 Issues Found | Recommendation: Address before merge

Executive Summary

The incremental changes since cae45fb add no new defects: the composer-floor logic is unchanged and the only new edits are comment/mock churn, while two previously raised test-redundancy suggestions remain present on the current head.

Overview

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

SUGGESTION

File Line Issue
apps/mobile/src/components/agents/new-session-configure-form.test.ts 133 vi.mock('@/components/ui/skeleton', ...) is registered four times (80, 133, 139, 152); three of the registrations are redundant
apps/mobile/src/components/profile-screen.signout.mounted.test.tsx 38 The added comment repeats the @/lib/screen-insets rationale already stated in the three nearby comment blocks (and the file also mocks react-native-safe-area-context twice)

Both items carry active inline comments from the prior review and remain unresolved; no new inline comments were posted.

Files Reviewed (16 files)
  • apps/mobile/plugins/branded-splash.test.ts
  • apps/mobile/src/components/agents/chat-composer-input-height.test.ts
  • apps/mobile/src/components/agents/chat-composer-input-height.ts
  • apps/mobile/src/components/agents/chat-toolbar.test.ts
  • apps/mobile/src/components/agents/chat-toolbar.tsx
  • apps/mobile/src/components/agents/new-session-configure-form.test.ts - 1 suggestion
  • apps/mobile/src/components/agents/new-session-configure-form.tsx
  • apps/mobile/src/components/agents/new-session-prompt-clone.tsx
  • apps/mobile/src/components/agents/new-session-prompt-initial-prompt.test.ts
  • apps/mobile/src/components/agents/new-session-prompt-types.ts
  • apps/mobile/src/components/agents/new-session-prompt.tsx
  • apps/mobile/src/components/agents/new-session-repository-section.tsx
  • apps/mobile/src/components/agents/session-list-header-actions.tsx
  • apps/mobile/src/components/profile-screen.signout.mounted.test.tsx - 1 suggestion
  • apps/mobile/src/components/security-agent/collapsible-section.tsx
  • apps/mobile/src/components/ui/text.rtl-tracking.mounted.test.tsx

Fix these issues in Kilo Cloud

Previous Review Summaries (4 snapshots, latest commit cae45fb)

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

Previous review (commit cae45fb)

Status: 2 Issues Found | Recommendation: Address before merge

Executive Summary

No new issues in the incremental changes since 916d405: the previously reported doc inconsistency in the new-session card-chrome budget is fixed, while two previously raised test-redundancy suggestions remain present on the current head.

Overview

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

SUGGESTION

File Line Issue
apps/mobile/src/components/agents/new-session-configure-form.test.ts 127 vi.mock('@/components/ui/skeleton', ...) is registered three times (127, 131, 144); the added registration is redundant
apps/mobile/src/components/profile-screen.signout.mounted.test.tsx 35 The added comment repeats the @/lib/screen-insets rationale already stated on the lines below

Both items were re-verified on the current head and already carry active inline comments from the prior review, so no new inline comments were posted.

Files Reviewed (9 files)
  • apps/mobile/plugins/branded-splash.test.ts
  • apps/mobile/src/components/agents/chat-composer-input-height.ts - 1 resolved (stale chrome doc)
  • apps/mobile/src/components/agents/new-session-configure-form.test.ts - 1 suggestion
  • apps/mobile/src/components/agents/new-session-repository-section.tsx
  • apps/mobile/src/components/code-reviewer/manual-review-screen.mounted.test.tsx
  • apps/mobile/src/components/profile-screen.signout.mounted.test.tsx - 1 suggestion
  • apps/mobile/src/components/security-agent/collapsible-section.tsx
  • apps/mobile/src/components/ui/segmented-control.tsx
  • apps/mobile/src/components/ui/text.rtl-tracking.mounted.test.tsx

Fix these issues in Kilo Cloud

Previous review (commit 916d405)

Status: 3 Issues Found | Recommendation: Address before merge

Executive Summary

The composer input-height fix is intact on the current head; the two previously accepted toolbar/chrome findings are resolved, leaving three low-severity documentation and test-redundancy suggestions.

Overview

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

SUGGESTION

File Line Issue
apps/mobile/src/components/agents/chat-composer-input-height.ts 57 Doc says NEW_SESSION_PROMPT_CHROME_HEIGHT reserves the starter row, which its own doc at line 45 denies
apps/mobile/src/components/agents/new-session-configure-form.test.ts 127 Added vi.mock('@/components/ui/skeleton') duplicates the identical mocks at lines 131 and 143
apps/mobile/src/components/profile-screen.signout.mounted.test.tsx 35 Added comment duplicates the existing comments on the lines below
Files Reviewed (14 files)
  • apps/mobile/src/components/agents/chat-composer-input-height.ts - 1 suggestion
  • apps/mobile/src/components/agents/chat-composer-input-height.test.ts
  • apps/mobile/src/components/agents/chat-toolbar.tsx
  • apps/mobile/src/components/agents/chat-toolbar.test.ts
  • apps/mobile/src/components/agents/new-session-configure-form.tsx
  • apps/mobile/src/components/agents/new-session-configure-form.test.ts - 1 suggestion
  • apps/mobile/src/components/agents/new-session-prompt-clone.tsx
  • apps/mobile/src/components/agents/new-session-prompt-initial-prompt.test.ts
  • apps/mobile/src/components/agents/new-session-prompt-types.ts
  • apps/mobile/src/components/agents/new-session-prompt.tsx
  • apps/mobile/src/components/agents/new-session-repository-section.tsx
  • apps/mobile/src/components/agents/session-list-header-actions.tsx
  • apps/mobile/src/components/profile-screen.signout.mounted.test.tsx - 1 suggestion
  • apps/mobile/src/components/security-agent/collapsible-section.tsx

Fix these issues in Kilo Cloud

Previous review (commit 04113ef)

Status: 3 Issues Found | Recommendation: Address before merge

Executive Summary

The composer input-height fix and both prior suggestions are resolved; the remaining findings are three low-severity documentation and test-redundancy issues on lines added since the last review.

Overview

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

SUGGESTION

File Line Issue
apps/mobile/src/components/agents/chat-composer-input-height.ts 57 Doc claims NEW_SESSION_PROMPT_CHROME_HEIGHT reserves the starter row, which its own doc denies
apps/mobile/src/components/agents/new-session-configure-form.test.ts 126 Added vi.mock('@/components/ui/skeleton') duplicates an identical mock below
apps/mobile/src/components/profile-screen.signout.mounted.test.tsx 35 Added comment duplicates the existing comment below it
Files Reviewed (changed since the last review)
  • apps/mobile/src/components/agents/chat-composer-input-height.ts - 1 suggestion
  • apps/mobile/src/components/agents/chat-composer-input-height.test.ts
  • apps/mobile/src/components/agents/new-session-prompt.tsx
  • apps/mobile/src/components/agents/new-session-prompt-initial-prompt.test.ts
  • apps/mobile/src/components/agents/new-session-configure-form.test.ts - 1 suggestion
  • apps/mobile/src/components/profile-screen.signout.mounted.test.tsx - 1 suggestion

Fix these issues in Kilo Cloud

Previous review (commit cce350d)

Status: 2 Issues Found | Recommendation: Address before merge

Overview

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

SUGGESTION

File Line Issue
apps/mobile/src/components/agents/chat-composer-input-height.ts 76 Chrome budget omits the attachment strip and character counter above the toolbar
apps/mobile/src/components/agents/new-session-prompt.tsx 343 toolbarHeight is never invalidated; a zero or stale measurement feeds the floor
Files Reviewed (11 files)
  • apps/mobile/src/components/agents/chat-composer-input-height.ts - 1 suggestion
  • apps/mobile/src/components/agents/new-session-prompt.tsx - 1 suggestion
  • apps/mobile/src/components/agents/chat-composer-input-height.test.ts
  • apps/mobile/src/components/agents/chat-toolbar.tsx
  • apps/mobile/src/components/agents/chat-toolbar.test.ts
  • apps/mobile/src/components/agents/new-session-configure-form.tsx
  • apps/mobile/src/components/agents/new-session-prompt-clone.tsx
  • apps/mobile/src/components/agents/new-session-prompt-types.ts
  • apps/mobile/src/components/agents/new-session-prompt-initial-prompt.test.ts
  • apps/mobile/src/components/agents/new-session-repository-section.tsx
  • apps/mobile/src/components/security-agent/collapsible-section.tsx

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 21, 2026 14:14
@iscekic
iscekic force-pushed the kwf/explorer-new-session-kb-up-the-mode-code-and-model-deepse-69930-9909 branch from c93d08f to 04113ef Compare September 22, 2026 00:02
@iscekic
iscekic marked this pull request as ready for review September 22, 2026 00:21
@iscekic
iscekic force-pushed the kwf/explorer-new-session-kb-up-the-mode-code-and-model-deepse-69930-9909 branch from 94c18bb to 916d405 Compare September 22, 2026 01:16
@iscekic
iscekic marked this pull request as draft September 22, 2026 01:24
@iscekic

iscekic commented Sep 22, 2026

Copy link
Copy Markdown
Collaborator Author

bot: rejected: a suggestion, not a defect. A typed review read 2 of these findings as needing no code change before merge; the code stays as is. Say so here if one of them does change behaviour and it will be repaired.

  • apps/mobile/src/components/agents/new-session-configure-form.test.ts:127 — Added vi.mock('@/components/ui/skeleton') duplicates the identical mocks at lines 131 and 143 (p=0.82)
  • apps/mobile/src/components/profile-screen.signout.mounted.test.tsx:35 — Added comment duplicates the existing comments on the lines below (p=0.90)

@iscekic
iscekic force-pushed the kwf/explorer-new-session-kb-up-the-mode-code-and-model-deepse-69930-9909 branch from f2f5ef5 to cae45fb Compare September 22, 2026 02:57
@iscekic
iscekic marked this pull request as ready for review September 22, 2026 03:17
@iscekic iscekic added the human-ready The PR is ready for human review. label Sep 22, 2026
@iscekic iscekic self-assigned this Sep 22, 2026
@iscekic iscekic removed the human-ready The PR is ready for human review. label Sep 22, 2026
@iscekic
iscekic marked this pull request as draft September 22, 2026 12:20
@iscekic
iscekic force-pushed the kwf/explorer-new-session-kb-up-the-mode-code-and-model-deepse-69930-9909 branch from e7fe0b6 to b2a2ca9 Compare September 22, 2026 16:15
@iscekic
iscekic marked this pull request as ready for review September 22, 2026 16:37
@iscekic iscekic added the human-ready The PR is ready for human review. label Sep 22, 2026
@iscekic
iscekic requested a review from eshurakov September 22, 2026 16:57
@iscekic
iscekic merged commit 2725b46 into main Sep 22, 2026
29 checks passed
@iscekic
iscekic deleted the kwf/explorer-new-session-kb-up-the-mode-code-and-model-deepse-69930-9909 branch September 22, 2026 17:02
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.

2 participants