Skip to content

study-helper v26.05.01

Choose a tag to compare

@github-actions github-actions released this 20 May 05:53
· 7 commits to main since this release

study-helper v26.05.01

숭실대학교 LMS 강의 영상 재생 · 다운로드 · AI 요약 도구.


패치노트

수정

  • learningx API 401 세션 만료 시 자동 재로그인 후 재시도 (src/player/background_player.py)
    • 원인: 자동 모드에서 장시간 재생 후 learningx API 토큰이 만료되면 다음 강의의 attendance_items 호출이 401을 반환해 재생 실패 — 기존 코드는 즉시 오류 반환만 처리
    • _play_via_learningx_api()에 lecture_url, is_retry 파라미터 추가
    • 401 수신 시 ensure_logged_in()으로 재인증 후 lecture_url로 재이동해 LTI 세션을 새로 획득하고 1회 자동 재시도
    • is_retry 가드로 무한 재귀 방지 / lecture_url 미전달 시 기존 오류 반환으로 하위 호환 유지
    • 참고: learningx API 세션은 Canvas 세션과 독립적으로 만료될 수 있어 기존 _needs_login() 체크만으로는 감지 불가
  • vendors.js 502 발생 시 페이지 새로고침 후 재시도 (src/player/background_player.py)
    • 원인: learningx 플레이어 초기화에 필수인 vendors.js가 502를 반환하면 commons frame이 생성되지 않아 Plan A 사용 불가 → Plan B(learningx API)로 강제 진입 — 위의 401 문제와 결합 시 재생 완전 실패
    • page.on("response") 스니퍼로 vendors.js 502를 감지, commons frame 탐색 실패 시 페이지를 1회 새로고침해 정상 로드 유도
    • 재시도 후에도 frame이 없으면 기존 Plan B 경로로 진행하여 하위 호환 유지


사전 요구사항


설치 및 실행

  1. 아래 첨부 파일(docker-compose.yml, .env.example) 다운로드

  2. .env.example → .env로 이름 변경 후 필요한 값 설정 (학번/비밀번호는 첫 실행 시 자동 저장)

  3. 이미지 pull 및 실행

docker compose pull
docker compose run --rm study-helper

docker compose up 사용 금지 — 로그 멀티플렉싱으로 TUI가 깨집니다. run --rm만 사용하세요.


Docker Hub

docker pull igor0670/study-helper:v26.05.01