>)
+
+ await act(async () => {
+ render()
+ })
+
+ const firstTab = screen.getByText('First Session').closest('[draggable="true"]')
+ const secondTab = screen.getByText('Second Session').closest('[draggable="true"]')
+
+ expect(firstTab).toBeTruthy()
+ expect(secondTab).toBeTruthy()
+
+ fireEvent.dragStart(firstTab!)
+ fireEvent.dragOver(secondTab!)
+ fireEvent.drop(secondTab!)
+ fireEvent.dragEnd(firstTab!)
+
+ expect(useTabStore.getState().tabs.map((tab) => tab.sessionId)).toEqual(['tab-2', 'tab-1'])
+ })
})
diff --git a/desktop/src/components/layout/TabBar.tsx b/desktop/src/components/layout/TabBar.tsx
index b4089000..5b6595f6 100644
--- a/desktop/src/components/layout/TabBar.tsx
+++ b/desktop/src/components/layout/TabBar.tsx
@@ -169,7 +169,6 @@ export function TabBar() {
return (
@@ -202,6 +201,15 @@ export function TabBar() {
))}
+ {isTauri && (
+
+ )}
+
{canScrollRight && (