Skip to content

Conversation

@morajabi
Copy link
Contributor

@morajabi morajabi commented Nov 22, 2025

Note

Overhauls the macOS app UI with a new window stack, tabbed spaces navigation, revamped sidebar, and a persistent Nav2 router, replacing legacy controllers.

  • macOS UI overhaul:
    • Window architecture: Introduces MainWindowController, MainWindowView, MainWindowBg, and MainSplitView with separate tabsArea, sideArea, and contentArea.
    • Tabbed navigation: Adds MainTabBar, TabCollectionViewItem, TabCloseOverlayView, TabSurfaceButton, and helpers; supports dynamic sizing, closeable tabs (except Home), and a Spaces menu with avatar initials.
    • Sidebar refresh: Implements MainSidebar, MainSidebarList, MainSidebarHeaderView, and item cell/collection item with diffable data source, unread/pin badges, and context actions.
    • Routing: Adds Nav2 (tabs, routes, history, persistence) and MainSplitView+Routes for view resolution; integrates nav2 into AppDependencies and usage across views; disables legacy NavigationModel.setUpForRoute hook.
    • Placeholders & assets: Adds PlaceholderContentViewController and inline-logo-bg asset.
  • App wiring:
    • Updates AppDelegate to use new MainWindowController, refined delegate signatures, notification/URL handling; enables NSObservationTrackingEnabled in Info.plist.
    • Simplifies ChatIconSwiftUIBridge constraints.
  • Cleanup:
    • Removes old Windows/MainWindowController.swift; comments out legacy split-view controller.
  • Theming & config:
    • Adds tab bar and split view constants in Theme.
    • Bumps MACOSX_DEPLOYMENT_TARGET to 15.2 in project settings.

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

Copy link

@cursor cursor bot left a comment

Choose a reason for hiding this comment

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

This is the final PR Bugbot will review for you during this billing cycle

Your free Bugbot reviews will reset on December 3

Details

You are on the Bugbot Free tier. On this plan, Bugbot will review limited PRs each billing cycle.

To receive Bugbot reviews on all of your PRs, visit the Cursor dashboard to activate Pro and start your 14-day free trial.

@morajabi morajabi force-pushed the new-tabs-side-custom-layout branch from 0963e40 to 2b337a9 Compare November 23, 2025 14:07
}

saveStateLowPriority()
}
Copy link

Choose a reason for hiding this comment

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

Bug: History not updated after tab removal

The removeTab function adjusts activeTabIndex when a tab is removed but doesn't update the navigation history or call activateTab to synchronize state. After removing a tab, currentRoute and activeSpaceId may return stale values from the history that reference the removed tab or wrong tab, causing navigation inconsistencies. The function should call activateTab after adjusting the index to properly update history.

Fix in Cursor Fix in Web

@morajabi morajabi force-pushed the new-tabs-side-custom-layout branch from c6e3140 to 6ca8945 Compare November 30, 2025 09:58
log.trace("Navigating to \(route)")
lastRoutes[activeTab] = route
history.append(Nav2Entry(route: route, tab: activeTab))
}
Copy link

Choose a reason for hiding this comment

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

Bug: Forward history not cleared on navigation

The navigate(to:) function appends to history but doesn't clear forwardHistory. This breaks standard browser-like navigation behavior where navigating to a new route should invalidate the forward history stack. Compare with activateTab which correctly clears forwardHistory on line 208 when adding new history entries. Users may experience unexpected behavior if they navigate backward, then to a new route, and try to go forward again.

Fix in Cursor Fix in Web

@morajabi morajabi force-pushed the new-tabs-side-custom-layout branch 2 times, most recently from 4d44fde to ab9699c Compare December 6, 2025 10:21
@morajabi morajabi force-pushed the new-tabs-side-custom-layout branch from ab9699c to 2a7b69f Compare December 10, 2025 13:51
@morajabi morajabi force-pushed the new-tabs-side-custom-layout branch from 89b5bde to 8905c21 Compare December 20, 2025 15:01
@morajabi morajabi merged commit 9476f90 into main Dec 20, 2025
4 checks passed
@morajabi morajabi deleted the new-tabs-side-custom-layout branch December 20, 2025 16:39
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