fix(tui): 모델 로그인 취소 판정 수정 - #5
Closed
Mineru98 wants to merge 1 commit into
Closed
Conversation
- ESC 포함 여부 대신 KeyReader 이벤트로 취소 입력을 판정 - SGR mouse/CSI arrow/incomplete ESC가 device login을 취소하지 않도록 테스트 추가 - Ctrl-C와 standalone Escape 취소 동작은 유지
|
Closing because this PR was opened against the wrong repository. The target repository is Q00/ourocode. |
1 similar comment
Owner
Author
|
Closing because this PR was opened against the wrong repository. The target repository is Q00/ourocode. |
Mineru98
added a commit
that referenced
this pull request
Jul 21, 2026
Three Windows-only mix test failures surfaced by windows-ci.yml, none of which are production bugs: - Ports (#1 StdioTest, #5 HelperPortTest): the port test helper spawned `elixir` (elixir.bat on Windows), whose batch shim breaks the port stdout pipe ("The pipe is being closed") and adds boot latency. Drive the echo/ shell programs with `erl` directly instead, passing operations as a base64 term (no escaping). Behaviour is identical on Linux (41 tests, 0 failures). - Registry skill paths (#2/#3/#4): the code returns Path.expand'd skill paths (forward slashes, lowercased drive on Windows); tests compared against raw Path.join values. Wrap the expected values in Path.expand, matching the existing source_id assertions. Idempotent on Linux. - Frontmatter CRLF (Ouro-labs#6): the parser already handles CRLF; the failure came from the .exs fixture being checked out CRLF on Windows. Add .gitattributes (eol=lf) so text files are LF on every platform. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
문제
기존
/model→codex (ChatGPT)로그인 플로우는 device login card가 뜬 직후, 사용자가 명시적으로 취소하지 않아도Login cancelled.로 닫힐 수 있었습니다.원인은 login polling 중 terminal input에 raw
ESCbyte가 포함되면 전부 cancel로 처리하던 조건입니다. TUI 환경에서는 실제 Escape 키뿐 아니라 arrow/ANSI/SGR mouse report도ESC로 시작하므로, 마우스/터미널 잡음만으로 ChatGPT device 로그인 화면이 사라질 수 있었습니다.변경
TuiLogin.wait_or_cancel에서 rawESC포함 여부 대신 기존KeyReader.decode/1결과로 cancel 여부를 판단합니다.Ctrl-CEscapetui_login_test.exs에 회귀 테스트로 고정했습니다.Before / After 캡처
캡처는 device code를 마스킹한 상태로 생성했습니다.
/model→ Codex device login 중 SGR mouse input 이후Login cancelled.표시Connect ChatGPTcard와auth.openai.com/codex/device가 유지됨로컬 캡처 아티팩트:
검증
mix test test/ourocode/terminal/tui_login_test.exs \ test/ourocode/terminal/tui_model_selection_test.exs \ test/ourocode/terminal/tui_frame_test.exsResult:
41 passed추가 수동 QA:
Login cancelled.재현Connect ChatGPTcard 유지 확인범위
/modelcatalog/order 변경 없음