Skip to content

LGC-2026-06-25T045433

@joshliebe joshliebe tagged this 24 Jun 22:41
Task/Issue URL:
https://app.asana.com/1/137249556945/project/1200204095367872/task/1215924137523437?focus=true
Tech Design URL (if applicable): 

### Description

- Adds a customize responses option to the native input when using
Duck.ai

### Steps to test this PR

- [ ] Start a chat
- [ ] Tap the option icon in the native input
- [ ] Tap “Customize Responses"
- [ ] Verify that the Customize Repsonses screen is opened
- [ ] Verify that the keyboard is hidden
- [ ] Dismiss the screen
- [ ] Verify that the keyboard is shown
- [ ] Verify that the option is only visible in Duck.ai
- [ ] Disable customizeResponses feature flag
- [ ] Verify that customize responses is no longer visible

### UI changes
| Before  | After |
| ------ | ----- |
<img width="284" height="123" alt="Screenshot 2026-06-22 at 16 01 53"
src="https://github.com/user-attachments/assets/2202b271-d8c9-4960-90b0-80c4e1d95481"
/>|<img width="295" height="192" alt="Screenshot 2026-06-22 at 17 12 01"
src="https://github.com/user-attachments/assets/64086450-b56f-4654-81ff-b0641ff44300"
/>



<!-- CURSOR_SUMMARY -->
---

> [!NOTE]
> **Medium Risk**
> Touches native-to-web subscription events and broad keyboard/IME
timing across browser and contextual native input; regressions could
affect input focus or keyboard visibility when submitting or navigating.
> 
> **Overview**
> Adds a **Customize Responses** entry to the Duck.ai native unified
input options menu (behind the new `customizeResponses` feature flag,
Duck.ai context only). Tapping it fires count/daily pixels and emits
`submitCustomizeResponsesAction` to the Duck.ai web layer via the
existing native-action subscription path (`BrowserTabViewModel` →
`DuckChatJSHelper`).
> 
> Wires the action through `NativeInputHost` / `NativeInputCallbacks`
from browser and contextual native input managers. Includes pixel
definitions and unit tests for JS helper, view model, pixels, and
browser view model.
> 
> **Keyboard behavior:** Stops forcing IME hide on chat submit, back,
exit/enter animation cancel, and contextual search submit;
`NativeInputModeWidget` now shows/hides the keyboard with
`InputMethodManager` on the widget window instead of activity helpers,
and drops the extra hide-on-focus-loss on Duck.ai pages.
> 
> <sup>Reviewed by [Cursor Bugbot](https://cursor.com/bugbot) for commit
0ad566cc43a23ae9577bbac20a99a1b07f2d69dc. Bugbot is set up for automated
code reviews on this repo. Configure
[here](https://www.cursor.com/dashboard/bugbot).</sup>
<!-- /CURSOR_SUMMARY -->
Assets 2
Loading