Fix search-only omnibar margin leaking onto the Duck.ai input - #9409
Merged
Conversation
malmstein
self-requested a review
August 5, 2026 19:58
malmstein
approved these changes
Aug 6, 2026
malmstein
left a comment
Contributor
There was a problem hiding this comment.
Nice work, thanks @YoussefKeyrouz !
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.

Task/Issue URL: https://app.asana.com/1/137249556945/project/1212810093780571/task/1217145379104435?focus=true
Tech Design URL (if applicable):
API Proposals URL(s) (if applicable):
Description
In search-only address-bar mode, the Duck.ai input field showed an extra ~16dp gap on its leading (start) side. The native input's shared card was picking up the browser omnibar's start margin and keeping it when the same widget re-rendered as the Duck.ai input.
applyOmnibarShape()sets the browser omnibar's margin on the shared input card, but had no reset path when shared with other places.Fix:
In
applyOmnibarShape():elsebranch now resetsmarginStartto its resting value (0) for any non-omnibar state, so the margin can't leak onto the shared Duck.ai card.Test the omnibar in each location (top, bottom, split) in Search only mode:
Regression spot-checks
UI changes
Note
Low Risk
Localized UI layout logic in
NativeInputModeWidgetwith no auth, data, or API changes; risk is limited to omnibar/Duck.ai card positioning regressions.Overview
Fixes search-only omnibar horizontal margin leaking onto the shared Duck.ai input card when both widgets observe the same per-tab state.
applyOmnibarShape()no longer exits early for non-browser, bottom, or toggle-visible states. It now applies the wide top search-only browser shape (radius + margins) only whenBROWSER, toggle hidden, and not bottom; every other state clearsmarginStarton the parentMaterialCardViewso omnibar margins don’t stick on Duck.ai layouts. Layout params are always updated after that branch.Reviewed by Cursor Bugbot for commit d8e7328. Bugbot is set up for automated code reviews on this repo. Configure here.