뉴스
Tactic Remote 1.6.1: 터미널 네이티브 텍스트 선택과 더 빠른 첫 설정
터미널 출력을 네이티브로 선택하고, `npx tacticremote`로 새 머신을 더 빨리 연결하고, 더 강한 서버 보안도 함께 제공합니다.
이 카테고리의 제품 및 엔지니어링 업데이트를 확인하세요.
카테고리 보기v1.6.1은 첫인상을 결정하는 두 영역에 집중합니다. 하나는 터미널 상호작용이고, 다른 하나는 첫 설정입니다. 목표는 분명했습니다. 터미널이 iOS의 네이티브 표면처럼 동작하게 만들고, 새 머신 연결이 긴 설정 체크리스트 없이 끝나게 하는 것입니다.
네이티브 텍스트 선택
이번 릴리스에서 사용자에게 가장 직접적으로 보이는 변화입니다.
이전에는 Tactic Remote의 터미널 출력이 정적 텍스트로 렌더링되었습니다. 읽을 수는 있었지만 선택하거나 복사할 수는 없었습니다. Claude가 명령, URL, 혹은 재사용할 코드 조각을 출력할 때 꽤 큰 마찰이었습니다.
이제 터미널 어디서든 길게 누르면 텍스트 선택이 시작됩니다. iOS 기본 선택 핸들이 나타나고, 다른 iOS 앱에서 하듯이 선택한 텍스트를 복사할 수 있습니다. Messages, Notes, 원하는 편집기 등에 붙여넣는 것도 가능합니다.
구현을 위해 터미널 렌더러를 다시 만들었습니다. 이전 구현은 SwiftUI Text 뷰를 사용했는데, 레이아웃 유연성은 좋지만 텍스트 선택은 지원하지 않았습니다. 새 렌더러는 커스텀 ANSI 이스케이프 코드 파서와 함께 UIKit UITextView 위에 구축되었고, 16색, 256색, 완전한 24-bit truecolor 시퀀스를 처리합니다. 그래서 색이 들어간 출력과 diff도 올바르게 렌더링하면서 완전히 선택 가능합니다.
30초 안에 시작하기
또 하나의 큰 변화는 새 서버를 연결하는 방식입니다.
서버가 하나도 설정되지 않은 상태로 서버 목록을 열면 이제 "Connect Your Computer" 카드가 보입니다. 앱 안에서 바로 실행할 명령인 npx tacticremote가 표시되므로, 따로 문서를 찾거나 패키지 이름을 외울 필요가 없습니다. Mac이나 Linux 머신에서 그 명령을 실행하면 서버가 시작되고, 터미널에 QR 코드가 출력됩니다.
Tactic Remote로 그 QR 코드를 스캔하면 서버가 자동으로 저장됩니다. 끝입니다.
v1.6.0에서 도입한 CLI 경로와 합쳐지면, 새 온보딩 흐름은 단순합니다. 한 번 명령을 실행하고, QR 코드 하나를 스캔하면 연결됩니다. 계정 생성도 필요 없고, 수동 IP 입력도 없고, 로컬 네트워크 밖에서 접근하려는 경우가 아니라면 포트 포워딩도 필요 없습니다.
이미 서버가 추가되어 있다면 이 카드는 방해가 되지 않습니다. 서버 목록이 비어 있을 때만 나타납니다.
보안 개선
이번 릴리스에는 서버 측 하드닝 변경이 몇 가지 포함되어 있습니다.
git_info요청의 경로 검증이 더 엄격해져, 작업 디렉터리 밖으로의 traversal을 방지합니다.- 병렬 업로드 요청으로 리소스가 고갈되지 않도록 업로드 동시 실행 수를 제한했습니다.
- shell 실행 전에 hook 스크립트 입력을 정리합니다.
보안 관련 전체 변경 사항은 1.6.1 changelog에서 확인할 수 있습니다.
버그 수정
- Chat 화면을 떠날 때 마이크 접근이 이제 제대로 해제됩니다. 이전에는 화면을 벗어난 뒤에도 마이크 세션이 열려 있을 수 있었고, 그 때문에 iOS 상태 표시줄에 마이크 사용 표시가 계속 남아 있었습니다.
- 서로 다른 서버 사이를 빠르게 전환할 때 연결 상태가 이제 올바르게 동기화됩니다. 이전에는 전환 후에도 UI가 예전의 연결 상태를 계속 보여주는 경쟁 조건이 있었습니다.
v1.6.1은 현재 /download 페이지에서 이용할 수 있습니다. CLI 경로를 사용하는 경우 npx tacticremote를 다시 실행하면 첫 실행 시에는 해당 바이너리를 다운로드하고, 이후에는 캐시된 복사본을 재사용합니다.