refactor: remove device Pairing feature entirely (issue #645) (#650)

* refactor: remove device Pairing feature entirely (issue #645)

- Delete Pairing.kt model + pairing API endpoints (get/approve/revoke/clear)
- Delete PairingScreen/PairingViewModel + PairingCodeEntryScreen/ViewModel
- Remove NavKeys, ScreenRegistry drawer entry, Navigation.kt entry + Landing pairing button
- Remove pairing string resources (en + ko); keep connect_* config-parse strings
- Keep Telegram onboarding pairing_id flow (separate concept, per issue)
- Fix related doc comments + remaining test reference

* test: fix racy CONNECTED read in gated-mode WS test (issue #635 test)

testGatedMode_attemptsTicketFetchWithoutBareCookie asserted CONNECTED
immediately after the server-side onOpen latch fired, racing the client
handshake (WsListenerImpl sets CONNECTED on receipt of the 101). Await the
real status transition via connectionStatus.first{==CONNECTED} like the
other connect tests do. No product behavior changed.

---------

Co-authored-by: M57 <Hy4ri@users.noreply.github.com>
This commit is contained in:
M57andM57 authored and GitHub committed 2026-07-20 23:23:29 +03:00
1 parent e44a53366b
commit a62bc7e16c
19 files changed
+13 -892

No files matched your search

-17
View File
@@ -79,7 +79,6 @@
<string name="screen_config">설정</string>
<string name="screen_mcp_servers">MCP 서버</string>
<string name="screen_models">모델</string>
<string name="screen_pairing">페어링</string>
<string name="screen_keys">키</string>
<string name="screen_channels">채널</string>
<string name="screen_logs">로그</string>
@@ -400,16 +399,6 @@
<string name="webhooks_no_matching">일치하는 구독 없음</string>
<string name="webhooks_no_matching_desc">검색어를 조정해보세요.</string>
<!-- Pairing Screen -->
<string name="pairing_screen_title">기기 페어링</string>
<string name="pairing_sec_pending">승인 대기</string>
<string name="pairing_action_clear_all">전체 지우기</string>
<string name="pairing_action_approve">승인</string>
<string name="pairing_sec_approved">승인된 기기</string>
<string name="pairing_empty_approved">승인된 기기가 없습니다.</string>
<string name="pairing_label_user_id">사용자 ID: %1$s</string>
<string name="pairing_action_revoke">철회</string>
<!-- Config Screen -->
<string name="config_screen_title">설정</string>
<string name="config_action_reset">초기화</string>
@@ -683,12 +672,6 @@
<string name="landing_title">헤르메스 모바일</string>
<string name="landing_subtitle">Hermes Agent 제어판</string>
<string name="landing_action_auth_login">인증 로그인</string>
<string name="landing_action_pairing_login">페어링 로그인</string>
<!-- Pairing Code Entry Screen -->
<string name="pairing_code_entry_title">페어링 로그인</string>
<string name="pairing_code_entry_manual_desc">아래에 Hermes 대시보드의 페어링 문자열을 붙여넣으세요.</string>
<string name="pairing_code_entry_code_label">페어링 코드</string>
<!-- Loading State -->
<string name="loading_state_subtitle_models">모델 제공자 확인 중…</string>