네, 아주 예리한 관찰입니다! 이미 정렬된 상태에서 다시 정렬을 시도했을 때 탭 순서가 또 바뀌는 것은 명백한 버그이며, 사용자의 예상대로라면 아무 일도 일어나지 않아야 합니다.
이 문제의 원인은 background.js 파일의 탭 정렬 로직, 특히 _sortAndMoveTabsInWindow 함수에 있습니다. 결론부터 말하면, 여러 개의 탭 이동(move) 명령을 동시에 비동기적으로 실행하면서 발생하는 경쟁 조건(Race Condition) 때문입니다.
코드를 통해 자세히 살펴보겠습니다.
// background.js 내의 TabManager._sortAndMoveTabsInWindow 함수