fimuxd / GITGET

GitHub의 Contributions를 iOS의 Widget으로 보여주는 App
157 stars 21 forks source link

bug: 설정해놨던 GITGET이 `invalid username` 이란 문구와 함께 조회가 정상적으로 되지 않는 현상 #66

Closed yomni closed 1 year ago

yomni commented 1 year ago

안녕하세요. 우선 GITGET 잘 사용하고 있습니다 감사합니다. :)

특정 시점부터 설정해놨던 GITGET 위젯이 invalid username 라는 문구와 함께 조회가 정상적으로 되지 않네요.

제가 GITGET 사용하고 있는 환경 공유드립니다.

machine : iPhone se 2세대 iOS : 16.2

machine : iPad Pro 5세대 12.9' iPadOS : 16.2

machine : Mac mini M1 macOS : Ventura 13.1

image

추가로 필요한 정보가 있으시면 알려주세요. 감사합니다.

ing9990 commented 1 year ago
Screenshot 2023-01-07 at 5 45 48 PM

저도 같은 증상이네요.. 깃허브를 사용하는 다른 앱도 동일 버그가 발생하는걸로 봐서는 Git API 오류인거 같습니다!!

yomni commented 1 year ago

@ing9990 현상 확인 감사합니다 :)

저도 추가로 확인한 결과 공유드립니다

  1. 현재 기준으로 github docs rest api 를 살펴보았습니다.
    (https://docs.github.com/ko/rest/users/users?apiVersion=2022-11-28)

  1. GITGET 소스코드 일부 분석
    • 제가 swift는 문외한이라 rest api 호출부분을 집중적으로 분석해 보았습니다.
    • contributions 에 대한 조회는 아래의 요청 url 로 호출하는 것 같습니다.
    • https://api.github.com/users/{username}/contributions
    • 해당 api endpoint로 테스트 해보면 Not Found 에러가 발생합니다.

  1. 기존 버전의 docs를 찾을 수 없어 사실 유무는 판단이 안됩니다만,
    contributions의 경우 Rest API --> GraphQL API 로 전환된 것으로 보여집니다.
    (https://docs.github.com/ko/graphql/reference/objects 에서 자세한 내용 확인)
yomni commented 1 year ago

아, 일시적으로 API가 오류일 수도 있을 것 같다는 생각에 제일 먼저 status.github.com 로 Github API 서버에 오류가 없는 지 확인했었습니다.

status에는 이상이 없음에도 불구하고, GITGET 에는 오류가 발생하고 있어, 위와 같은 절차로 추가 확인을 해봤습니다.

kangddong commented 1 year ago
<rect width="10" height="10" x="-33" y="65" class="ContributionCalendar-day" data-date="2022-12-09" data-level="1" rx="2" ry="2">
          1 contribution on December 9, 2022
 </rect> 

https://github.com/users/\(username)/contributions 으로 호출하는 getContributions(of: String)에서 parseContributions 메소드에서 "data-count"를 파싱하고 guard let 으로 옵셔널 바인딩을 해주고 있는데 변수 Int(dataCount); dataCount = ""가 Int로 캐스팅이 실패하면서 retrun nil이 되면서 생긴 문제같습니당

pr 보내고 싶은데 제가 html 파싱을 할 줄 몰라가지고 코멘트만 남겨둡니다 !

https://github.com/fimuxd/GITGET/blob/fa6eb290e0f200bb1fc11791d4d647df06b1150c/CONTRIBUTIONS/Network/GitHubNetwork.swift#L112-L126

kangddong commented 1 year ago

Pull requset 생성

kesumin commented 1 year ago

Thanks @kangddong

minjune8506 commented 1 year ago

app store에는 버그가 수정되었다고 나와서 재설치해봐도 똑같은 증상입니다. 한번 확인가능할까요?

morigs commented 1 year ago

Is this going to be fixed? Is any help needed?

fimuxd commented 1 year ago

23.15.0 이상 버전에서 @kangddong 님의 PR #67 이 반영될 예정입니다. 다만 해당 버전은 AppStore 가 아니라 TestFlight 링크를 통해 외부테스터로써 사용하실 수 있게 조치하겠습니다. 링크는 외부테스터 초대를 위한 심사가 완료되는대로 이 이슈 코멘트를 포함한 이곳저곳에 남겨두겠습니다. 너무 늦어져서 죄송하고 이렇게 논의를 진행해주셔서 감사합니다.

fimuxd commented 1 year ago

TESTFLIGHT 링크입니다. 자세한 사정은 Wiki에 적어두었습니다. 🙇🏽

minor-coder commented 1 year ago

macOS sonoma 버전부터 바탕화면에 위젯 배치가 가능해졌는데 혹시 macOS용 TESTFLIGHT도 추가하실 계획은 없으실까요?