Floorp 주소창에 텍스트가 두 번 붙여넣어진 화면

Floorp에 정착한 뒤로 잘 쓰고 있었는데, 언젠가부터 주소창에 붙여넣기를 하면 텍스트가 두 번씩 들어갔다. github.com을 붙여넣으면 github.comgithub.com이 되는 식이다. 웹페이지 입력창에서는 멀쩡하고, 딱 주소창에서만 그랬다.

별것 아닌 것 같지만 주소창은 하루에도 수십 번 쓰는 곳이라 그때마다 지우고 다시 치게 된다. 잡기로 했다.

범인은 클립보드 매니저인 줄 알았다

제일 먼저 의심한 건 클립보드 매니저였다. 마침 Maccy랑 Raycast 클립보드 히스토리를 같이 쓰고 있었는데, 이 둘이 겹치면 붙여넣기가 꼬인다는 얘기를 들은 적이 있었다.

일단 클립보드 내용부터 확인했다. 복사한 게 두 번 들어간 건 아닌지.

pbpaste | wc -c

클립보드 자체는 멀쩡했다. 그러니까 “복사가 두 번” 된 게 아니라 “붙여넣기가 두 번” 실행되는 문제였다.

Maccy를 껐다. 그대로였다. Raycast까지 껐다. 그러니까 정상으로 돌아왔다. “범인은 Raycast구나” 하고 확신했는데, 다시 테스트해보니 Raycast를 완전히 꺼도 두 번씩 들어갔다. 방금 정상이었던 게 재현이 안 됐다.

여기서 뭔가 이상하다는 걸 눈치챘어야 했는데, 그러지 못하고 한참을 헤맸다.

안전 모드에서도, 새 프로필에서는 멀쩡했다

클립보드 매니저가 아니라면 확장 프로그램인가 싶었다. Floorp를 확장 전부 끄는 안전 모드로 켜봤다.

/Applications/Floorp.app/Contents/MacOS/floorp --safe-mode

여전히 두 번. 확장도 아니었다.

그다음엔 아예 새 프로필로 켜봤다.

/Applications/Floorp.app/Contents/MacOS/floorp --profile /tmp/floorp_test

새 프로필에서는 멀쩡했다. 그러니까 브라우저 자체 버그도, 확장도, 클립보드 매니저도 아니고, 내 프로필 안의 어떤 설정 하나가 범인이라는 뜻이었다.

진짜 원인은 내 측정 방법이었다

프로필 설정을 하나씩 끄면서 좁혀 들어가는데, 결과가 계속 왔다 갔다 했다. 같은 조건인데 어떤 때는 두 번, 어떤 때는 한 번. 이러면 아무리 좁혀도 답이 안 나온다.

문제는 내가 결과를 읽는 방식에 있었다. 주소창에 붙여넣고 그 내용을 다시 복사해서 확인했는데, 주소창은 입력하는 순간 자동완성 추천이 뜨면서 이전에 남아 있던 텍스트가 섞여 들어갔다. 측정값 자체가 오염됐던 거다.

주소창을 먼저 비우고 붙여넣도록 바꿨더니 그제야 결과가 딱 떨어졌다. 같은 조건에서 세 번 다 똑같이 나왔다. 제멋대로인 것처럼 보였던 건 문제가 아니라 내 자 눈금이 틀렸던 거다.

여기서 앞선 삽질도 설명이 됐다. Maccy를 껐을 때 “정상”으로 나온 건 Raycast 덕이 아니라, 그냥 그때 주소창에 잔여 텍스트가 없어서 우연히 숫자가 맞아떨어진 것뿐이었다. 애먼 클립보드 매니저만 잡을 뻔했다.

측정이 안정되니 그다음은 빨랐다. 프로필 설정을 절반씩 잘라가며 이분 탐색으로 좁혀 들어갔고, 마지막에 이 설정 하나가 남았다.

floorp.design.configs → uiCustomization.navbar.position = "bottom"

주소창을 화면 아래쪽에 두는 옵션이었다. 이 값만 top으로 바꾸면 세 번 다 정상, bottom으로 두면 세 번 다 두 번씩. 완벽하게 재현됐다.

왜 이게 문제인지도 납득이 갔다. Floorp는 파이어폭스 기반이고, 파이어폭스의 원래 UI는 주소창이 위에 있다는 전제로 만들어져 있다. 주소창을 아래로 내리는 건 표준 동작이 아니라 Floorp가 UI를 다시 배치하는 커스텀 처리인데, 이 과정에서 붙여넣기 이벤트 핸들러가 한 번 더 붙는 것으로 보였다. 그래서 Cmd+V 한 번에 붙여넣기가 두 번 실행된 거다.

  • 붙여넣기 이벤트 발생 → 원래 핸들러가 텍스트 삽입 (1번째)
  • 재배치로 중복된 핸들러가 같은 이벤트를 또 처리 → 텍스트 삽입 (2번째)

주소창에서만 문제가 났던 것도 이걸로 설명된다. 재배치되는 건 브라우저 UI인 주소창뿐이니까. 웹페이지 입력창은 애초에 건드리지 않으니 멀쩡했던 거다.

정리

설정에서 주소창을 다시 위로 올리니 문제는 바로 사라졌다.

원인은 허무할 만큼 단순했지만, 거기까지 가는 길은 꽤 돌았다. 클립보드 매니저를 의심하고, 확장을 의심하고, 프로필을 뒤지다가, 결국 발목을 잡은 건 문제가 아니라 내 측정 방법이었다.

디버깅하다 결과가 오락가락하면 대상을 더 파기 전에 측정부터 의심하자. 이번에 제대로 배웠다.

주소창을 꼭 아래에 두고 싶다면 이건 Floorp 쪽 버그이니 이슈로 올리는 게 맞다. 나는 그냥 위로 올려서 쓰기로 했다. (Floorp 12.17.1@154.0.2, macOS)