죽어도 안고쳐줘서.. 사실 죽어도 안 고쳐줄것 같아서 직접 고쳣다 흑흑

대 AI 시대. claude, cursor, gemini에 aws q까지 (솔직히… 싸서…😁) 골고루 쓰고 있다. 특히 Q 는 주력으로 쓰는편.
CLI 위주로 쓰지만, VSCode/IDEA 플러그인도 붙여서 쓴다. 나는 WSL 를 아주 사랑하므로.. WSL 에 프로젝트 만들고, 이걸 vscode 나 IDEA에서 여는데. 이론상 완벽하지만... IDEA 는 문제가 좀 많다.
[Intellj] WSL 쓸 때 generated Path 를 C:\\ 에서 찾는 문제 억지로 고치기 이런거..
WSL 에 윈도우 ide 붙여서 쓰는 사람이 별로없어서 이런 세상의 억까를 버티면서 살아야한다.
암튼.. 적당히 타협하면서 쓰면 되는데, aws q 의 idea 플러그인은 위 환경처럼 쓰면 걍 동작이 안된다..

기능 몇가지가 정상동작을 안한다 이런 수준이 아니라 걍 시작부터 암것도 안되서... 로그인말고는 쓸수있는 기능이 없음 ㅠㅠ
github 에 이슈달려고하니까 이미 이슈레이징이 좀 되어있어서 버타고 버티면 고쳐줄꺼라고 생각하고 cli + idea mcp 붙여서 사용하고 있었는데, 버전업이 되도 안고쳐주드라..
그래서 걍 고쳣다
고친 코드는 몇줄 안되는데, 원인을 모르겠어서 좀 오래 걸렸다. (플러그인이라, 디버깅 하기도 상당히 귀찮음..)
IDEA 자체는 VirtualFile 을 내부적으로 사용하는데, Q 에게 쏘기 위해서 이걸 URI 로 변경한다.
근데 URI 를 이렇게 변경하더라
return URI("file", "", file.absoluteFile.toURI().path, null)
근데 이러면 이미 UNC 경로인 WSL 경로는
file:////wsl.localhost/Ubuntu/...
이렇게 된다
file://// 은 비표준적인 URI 이다. (윈도우 환경에서는 대충 다 처리해주는데, 엄격하게 검사하면 잘못된 URI)
그래서 Q (Q 인지 Q lsp 서버인지 그외인지 모르겠지만) 에서 바로 URI exception 이 나서, 안되는 문제..
이게, Chat 을 시작하자마자, Open 한 프로젝트 정보를 넘겨주는데 여기에 파일들도 있어서 그냥 Chat 시작하자마자 깨져버림;;
그래서 이런 authority 가 없는 URI 를 미리 체크하고, 잘못됫으면
file.toPath().toAbsolutePath().normalize().toUri()
요걸로 fallback 시키도록 수정했다.
내 개인적인 생각으로는, 걍 저 방식만써도 될것같긴한데.. 뭔가 의도적으로 manually 하게 조립한것 같아서 (코드 history 를 파보면 원래 nio 의 path 함수를 이용하다가 변경됨) fallback 하는 방식으로 했다. 그게 backward compatibility 가 완벽하게 보장되기도 하고..
오픈소스 아니었으면, 이런 마이너 환경에서의 오류 평생 안고쳐줄 삘인데.... 오픈소스라 직접 고칠수 있으니까 오히려 좋다..
fix(amazonq): Prevents Q UriError : Validate file URI and fallback to Path.toUri() for WSL by Lee-WonJun · Pull Request #5960
Types of changes Bug fix (non-breaking change which fixes an issue) New feature (non-breaking change which adds functionality) Description Summary Fix repeated UriError when Amazon Q starts wit...
github.com
gradle check가 lint까지 체크해주는데, test code 성공한 걸 보고 gradle 성공인 줄 알고 lint까지 다 돈 줄 알았는데, 알고 보니까 lint는 깨져 있더라.. 메인테이너가 직접 돌려서 고쳐주었다 크흠..
여담) 아직 머지 안된 다른 PR 도 하나 올렸는데, 윈도우 환경에서 C 드라이브에서 안키면 놀랍게도 test code 가 실패함.. 아마존 개발자들도 하드코딩으로 박아두는 구나..

'프로그래밍 기록 > OSS | 컨트리뷰션' 카테고리의 다른 글
| [Microsoft/PowerToys CmdPal] 야호 나도 MS 파워토이 CmdPal WindowWalker 컨트리뷰터! (0) | 2025.10.21 |
|---|---|
| [Gemini-CLI] 야호 Key Binding 리펙터링으로 구글 Gemini-cli 컨트리뷰터 (2) | 2025.08.10 |
| [Gemini-CLI] 야호 나도 구글 Gemini 컨트리뷰터 (0) | 2025.07.17 |
| [Spring AI] 야호 나도 Spring AI 컨트리뷰터 (0) | 2024.12.22 |
| [Azure/Functions OpenAPI Extensions] 야호 나도 애저 Function 컨트리뷰터 (0) | 2021.11.03 |