Skip to content

Conversation

@Bunn
Copy link
Contributor

@Bunn Bunn commented Nov 29, 2025

Task/Issue URL: https://app.asana.com/1/137249556945/project/1204167627774280/task/1212223846179381?focus=true

Description

Fixes:

  • Do not show bookmark button when URL is focused
  • Increase address bar input size
  • Only display the "Press tab then enter" placeholder on the new tab page
  • Shift + Enter injects new line on duck.ai
  • Going back to duck.ai does not removes the new lines

Testing Steps

Do not show bookmark button when URL is focused

  1. Select the address bar, make sure no bookmark button is visible if the aiChatOmnibarToggle is ON
  2. Test this on a page that is and is not bookmarked

Only display the "Press tab then enter" placeholder on the new tab page

  1. Check that we are only displaying this placeholder on the new tab page and if the aiChatOmnibarToggle is ON

Shift + Enter injects new line on duck.ai

  1. On search mode, type something then press SHIFT + ENTER
  2. Check that you're on duck.ai with a new line already added

Going back to duck.ai does not removes the new lines

  1. Type text on duck.ai, add a few new lines and more text with Shift + Enter
  2. Go to search then back to duck.ai
  3. Make sure the text has the new lines on IF you didn't change the text when on search mode

Impact and Risks

Low: Minor visual changes, small bug fixes, improvement to existing features

What could go wrong?

Regressions


Note

Refines AI Chat omnibar UX (layout, keyboard, state sharing) and improves suggestion selection syncing and address bar behavior.

  • AI Chat Omnibar (UI/UX & Layout)
    • Reduce minimum heights/padding and tweak divider offsets in AIChatOmnibarTextContainerViewController and MainView (min height now 60; bottom padding 34; divider top offset -10).
    • Adjust container/top constraints and panel height calculation; show scroller/divider only when needed.
    • Add insertNewline() to programmatically add newline in AIChatOmnibarTextContainerViewController.
  • Keyboard behavior
    • In MainViewController, Shift/Option+Enter toggles to Duck AI; if switching to AI chat, inject a newline automatically.
  • Address Bar behavior & state sharing
    • AddressBarSharedTextState: track hasUserInteractedWithTextAfterSwitchingModes with setters/resets; set on text updates.
    • AddressBarViewController: placeholder/hint only on new tab; on mode toggle, restore/share text only if user interacted after switching; force layout after refocus; reset the new interaction flag.
    • AddressBarButtonsViewController: hide bookmark button when the text field is focused and AI Chat toggle is enabled; related visibility updates.
  • Suggestions selection syncing
    • SuggestionViewController: replace direct index subscription with sync method; prevent re-entrancy; sync table selection with view model (including default row); guard tableViewSelectionDidChange.
    • SuggestionContainerViewModel: make row-selection APIs robust (bounds checks, no-ops on same selection, coordinated selectedRowIndex/selectionIndex, optimized clears).
  • Visual polish
    • Slightly reduce focused top/bottom paddings in CurrentAddressBarStyleProvider (from 4 to 3).

Written by Cursor Bugbot for commit cdd44f6. This will update automatically on new commits. Configure here.

@Bunn Bunn requested review from aataraxiaa and Copilot November 29, 2025 14:45
Copilot finished reviewing on behalf of Bunn November 29, 2025 14:47
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR implements design feedback fixes for the AI Chat omnibar feature on macOS, focusing on visual refinements and bug fixes to improve the user experience.

  • Hides the bookmark button when the address bar is focused with AI Chat omnibar enabled
  • Adjusts padding and spacing constants to increase input field size
  • Fixes placeholder text to only show on the new tab page
  • Implements Shift+Enter functionality to insert newlines in duck.ai mode

Reviewed changes

Copilot reviewed 9 out of 9 changed files in this pull request and generated 5 comments.

Show a summary per file
File Description
AddressBarStyleProviding.swift Reduced top and bottom padding from 4pt to 3pt for AI Chat focused state to increase input field size
SuggestionContainerViewModel.swift Added early return guards in selectRow and clearRowSelection to prevent unnecessary updates
SuggestionViewController.swift Implemented re-entrancy protection for table selection synchronization to prevent infinite loops
AddressBarViewController.swift Updated placeholder logic to only show AI hint on new tab page; added mode switching interaction tracking
AddressBarButtonsViewController.swift Hidden bookmark button when text field is focused with AI Chat omnibar enabled
AddressBarSharedTextState.swift Added tracking for user interaction after mode switching to preserve newlines correctly
MainViewController.swift Implemented Shift+Enter to insert newline when switching to AI Chat mode
MainView.swift Reduced AI Chat omnibar container minimum height from 100pt to 60pt
AIChatOmnibarTextContainerViewController.swift Adjusted spacing constants and fixed height calculation by removing duplicate inset addition

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Copy link
Contributor

@aataraxiaa aataraxiaa left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Tested all scenarios and they work as expected. Left one comment re: reducing some some duplication.

Comment on lines +925 to +934
if case .editing(.aiChat) = controllerMode {
bookmarkButton.isShown = false
updateAIChatDividerVisibility()
return
}

if isTextFieldEditorFirstResponder && featureFlagger.isFeatureOn(.aiChatOmnibarToggle) {
bookmarkButton.isShown = false
updateAIChatDividerVisibility()
return
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should we combine these into one conditional OR statement?

@Bunn Bunn merged commit 5a77d61 into main Dec 1, 2025
33 checks passed
@Bunn Bunn deleted the bunn/macos/toggle-design-feedback branch December 1, 2025 09:11
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants