What happened?
The first table selection replaces the current window content. After a second tab is added, every later table selection opens a new tab instead of replacing the active one. The behavior should be predictable.
Steps to reproduce
- Open a connection, click a table (replaces current window)
- Add a new tab
- Click another table
- It opens yet another new tab instead of replacing the active tab
Expected behavior
Table selection follows one consistent rule. Single-click reuses/replaces the active tab (preview style); only an explicit action opens a new tab.
Code pointer
TablePro/Views/Main/Extensions/MainContentCoordinator+Navigation.swift openTableTab. The preview-vs-new-tab branch changes after the first extra tab is created. See the tab replacement guard noted in CLAUDE.md.
Database type
N/A
What happened?
The first table selection replaces the current window content. After a second tab is added, every later table selection opens a new tab instead of replacing the active one. The behavior should be predictable.
Steps to reproduce
Expected behavior
Table selection follows one consistent rule. Single-click reuses/replaces the active tab (preview style); only an explicit action opens a new tab.
Code pointer
TablePro/Views/Main/Extensions/MainContentCoordinator+Navigation.swiftopenTableTab. The preview-vs-new-tab branch changes after the first extra tab is created. See the tab replacement guard noted in CLAUDE.md.Database type
N/A