Skip to content

Releases: boostcampwm2023/web14-gomterview

v1.2.0 🌈

19 Dec 02:21
4d1d637
Compare
Choose a tag to compare

Changes

  • [NDD-372] 카카오 인앱 브라우저 접근 시 다른 브라우저를 키도록 하는 hooks 개발 (2h/2h) @adultlee (#201)
  • [NDD-363] 문제집이 하나도 없을 때 생성 유도, QuestionSelectionBox 에서 면접세트 보러가기 페이지 유도(1.5h / 2h) @milk717 (#199)
  • [NDD-365] README 수정 @milk717 (#200)
  • [NDD-355] media stream을 전역적으로 관리하기 (3h/2h) @milk717 (#197)
  • [NDD-364] 문제 선택 페이지 헤더추가, 버튼 하단고정, 토스트 잔상 이슈 해결 (2h) @milk717 (#191)
  • [NDD-367] 에러처리 계층 구조 완료(1h/2h) @Yoon-Hae-Min (#194)
  • [NDD-350] QuestionSelectionBox에서 사이드바 반응형 대응 (1.5 / 2h) @milk717 (#186)

Bug Fixes

  • [NDD-356]: 로깅 기능 추가 && 토큰 관련 이슈 해결(이제 그만좀) (5h / 2h) @JangAJang (#204)
  • [NDD-357]: 문제집 정렬 로직 수정 && 버그픽스 (1h / 1h) @JangAJang (#203)
  • [NDD-371] 토스트 업데이트 함수 추가, 영상 인코딩 과정 표시 (5h/5h) @milk717 (#202)
  • [NDD-368]: 해시로 비디오 조회 시 다른 비디오가 조회되는 문제 해결 & 테스트를 위한 ioredis-mock 사용 (6h / 4h) @quiet-honey (#196)
  • [NDD-311] useModal 오류 해결 및 hook 적용하기 (4h/2h) @Yoon-Hae-Min (#189)
  • Hotfix: 토요일에 작업한 410 무한 루프 해결 @Yoon-Hae-Min (#190)
  • Be/hotfix @JangAJang (#188)
  • [NDD-354] 어딜보시는거죠 그건 토스트의 잔상입니다만 해결 완료 (0.1h / 1h) @milk717 (#187)

New Features

  • [NDD-356]: 로깅 기능 추가 && 토큰 관련 이슈 해결(이제 그만좀) (5h / 2h) @JangAJang (#204)
  • [NDD-348]: AccessToken이 계속해서 Redis에 남아있는 경우 해결 (5h / 2h) @quiet-honey (#179)
  • [NDD-342]: 비즈니스로직 트랜잭션화 && DB서버와 메인 서버에 관한 헬스체크 기능 구현 (5h / 2h) @JangAJang (#193)
  • [NDD-369] Modal 레이아웃에서 transtion 적용 (0.5h/0.5h) @adultlee (#198)
  • [NDD-361] 🎉 클라이언트 측에서 webm to mp4 인코딩 구현 🎉 (8h/8h) @adultlee (#195)
  • [NDD-358]: 클라이언트 측의 비디오 인코딩 작업에 맞게 API 수정 (0.1h / 1h) @quiet-honey (#192)

Documentation

Chore

  • [NDD-368]: 해시로 비디오 조회 시 다른 비디오가 조회되는 문제 해결 & 테스트를 위한 ioredis-mock 사용 (6h / 4h) @quiet-honey (#196)

v1.4.2 🌈

17 Apr 12:34
4d1d637
Compare
Choose a tag to compare

배포 레포지토리

https://github.com/the-NDD/Gomterview-FE

Changes

Bug Fixes

New Features

v1.1.0 🌈

11 Dec 02:09
Compare
Choose a tag to compare

Changes

  • [Hotfix 1.1.1] 수정사항 반영 @adultlee (#184)
  • Hotfix/be @JangAJang (#181)
  • [NDD-340] 탭 컴포넌트 리펙터링, console.log에 뜨는 경고들 해결 (1.5h / 2h) @milk717 (#175)
  • [NDD-338] lint-staged추가 (1h/2h) @Yoon-Hae-Min (#158)
  • [NDD-330]: 테스트 커버리지 측정 && 누락된 테스트 전체적으로 추가 (2h / 1h) @JangAJang (#165)
  • [NDD-328]: Answer API 쿼리 기능 개선 && 인덱싱 추가 (1h / 1h) @JangAJang (#164)
  • [NDD-326]: Question API 리포지토리 로직 수정 && 인덱싱 확인 (1h / 1h) @JangAJang (#162)
  • [NDD-339]: Member Service API 테스트 (1h / 1h) @quiet-honey (#160)
  • [NDD-337]: 면접용 닉네임 반환 API Controller 테스트 (1h / 1h) @quiet-honey (#159)
  • [NDD-324]: Workbook API에 대한 불필요한 쿼리문을 위한 최적화 && 인덱스 등록 (1h / 1h) @JangAJang (#157)
  • [NDD-156] babel-webpack 책임분리를 위해서 중복되는 기능 분리 [0.5h/0.5h] @adultlee (#149)
  • [NDD-322]: Question 엔드포인트의 예외 HttpCustomException으로 수정 (0.5h / 1h) @JangAJang (#151)
  • [NDD-321]: Workbook예외 핸들링 커스터마이징 (0.5h / 1h) @JangAJang (#150)
  • [NDD-332]: 게시물 수정시에 공개여부 설정 기능 추가 && 조회시 공개여부를 통한 필터링 추가 (1h / 1h) @JangAJang (#148)
  • Hotfix/be @JangAJang (#145)
  • [NDD-290]: Video Service 통합 테스트 (3h / 3h) @quiet-honey (#124)
  • [hotfix] merge 과정중 사라진 workbook card 이슈 해결 @adultlee (#125)
  • [NDD-289] QuestionSelectionBox API 명세서 변경에 따른 값 변경 (1h/2h) @Yoon-Hae-Min (#119)
  • [NDD-185]: Video API Controller 통합 테스트 (5h / 3h) @quiet-honey (#120)
  • [NDD-288] workbook 관련 api MSW, react query 작업 완료(2h/2h) @milk717 (#115)
  • [NDD-234] 프론트엔드 전반적인 리펙토링 (3h/???) @Yoon-Hae-Min (#112)
  • [NDD-184]: Video Service 단위 테스트 (4h / 3h) @quiet-honey (#111)

Bug Fixes

  • Be/hotfix @JangAJang (#188)
  • [NDD-354] 어딜보시는거죠 그건 토스트의 잔상입니다만 해결 완료 (0.1h / 1h) @milk717 (#187)
  • [NDD-353] QuestionSelectionBox 문제 해결 (0.5h / 1h) @milk717 (#182)
  • fix: reissue에 달려있는 guard로 인해 사용하지 못하는 오류 해결 @quiet-honey (#180)
  • [NDD-349] 모달과 헤더 겹침 문제 해결하고 zIndex 테마로 지정해서 관리 (0.5h / 1h) @milk717 (#173)
  • [NDD-347]: accessToken strategy를 사용하는 경우 만료된 토큰에 대한 확인이 불가능한 문제 해결 (3h / 2h) @quiet-honey (#176)
  • [NDD-263] 마이페이지에서 권한 없는 영상 조회시 무한로딩 문제 해결 (3h/2h) @milk717 (#163)
  • [NDD-335] 문제집 페이지에서 All 탭이 없는 이슈 해결 (0.5h / 0.5h) @adultlee (#147)
  • Hotfix/be @JangAJang (#146)
  • Hotfix: 1차 QA설정안 해결 @Yoon-Hae-Min (#144)
  • [NDD-316]: CD 스크립트에서 환경 변수 불러오도록 변경 (0.1h / 1h) @JangAJang (#143)
  • [NDD-315]: 파일명에 ? 등의 문자가 들어가 동영상을 읽지 못하는 문제 해결 @quiet-honey (#142)
  • [NDD-295] QuestionSelectionBox에 면접 세트 추가, 수정 모달 연결 (7h/5h) @milk717 (#137)
  • [NDD-256]: DB에 다른 비디오 링크를 넣을 수 없도록 변경 (0.5h / 1h) @quiet-honey (#134)
  • [NDD-261] question 문제 선택 해제시 다음 버튼 비활성화 되는 버그 해결 (0.1h/1h) @Yoon-Hae-Min (#109)
  • [NDD-255]: 해시로 조회 시 originUrl이 null일 때 핸들링이 안 되는 현상 픽스 (1h / 1h) @quiet-honey (#107)

New Features

  • [NDD-305] 프론트엔드 에러 처리하기 (15h/8h) @Yoon-Hae-Min (#174)
  • [NDD-308] 문제집에서 문제 선택해서 바로 면접 연습을 시작할 수 있는 기능 개발하기 (5h / 3h) @adultlee (#177)
  • [NDD-351] 문제집 공개 여부 설정 추가 (1h/2h) @milk717 (#178)
  • [NDD-312] Toast 개발 완료 (10h / 8h) @milk717 (#171)
  • [NDD-347]: accessToken strategy를 사용하는 경우 만료된 토큰에 대한 확인이 불가능한 문제 해결 (3h / 2h) @quiet-honey (#176)
  • [NDD-334]: accessToken, refreshToken을 RDB가 아닌 Redis에 저장하도록 변경 (2h / 3h) @quiet-honey (#172)
  • [NDD-341]: 인코딩부터 클라우드 저장후 테이블에 스키마 추가까지 기능 구현 (3h / 3h) @JangAJang (#170)
  • [NDD-307] 비회원도 문제집을 추가, 수정, 삭제. 문제집 내부의 문제도 추가, 삭제하도록 기능 구현 (5h/5h) @milk717 (#167)
  • [NDD-264] 카메라가 꺼짐에 대한 리로딩 기능이 추가 되어야함(3h/3h) @adultlee (#168)
  • [NDD-309] 목소리 사운드 바 기능 추가 (4h/3h) @adultlee (#161)
  • [NDD-344] MSW 에러 모킹하기, 더미데이터 json으로 변경 (2h/3h) @milk717 (#169)
  • [NDD-331]: 비디오/회원 API 쿼리 최적화 (3h / 3h) @quiet-honey (#166)
  • [NDD-313] tooltip 컴포넌트 생성 (1h/2h) @Yoon-Hae-Min (#156)
  • [NDD-276] 면접 세트 삭제, 면접 세트에서 문제 삭제 기능 구현 (6h/2h) @milk717 (#153)
  • [NDD-258] useModal 훅 추가 (8h/8h) @Yoon-Hae-Min (#138)
  • [NDD-298]: 비디오, 회원 API 에러 케이스 Swagger 작성 (1h / 1h) @quiet-honey (#154)
  • [NDD-297] QuestionSelectionBox 높이 높이기 (0.3h/1h) @milk717 (#139)
  • [NDD-295] QuestionSelectionBox에 면접 세트 추가, 수정 모달 연결 (7h/5h) @milk717 (#137)
  • [NDD-271] 질문 리스트 페이지 완성 (그리드와 버튼) @adultlee (#136)
  • [NDD-287]: 질문 복제 로직 구현 (1h / 1h) @JangAJang (#130)
  • [NDD-285]: 문제집 삭제 로직 구현 (1h / 1h) @JangAJang (#128)
  • [NDD-294] 새로운 면접 세트 생성하는 모달 만들기 (2h/3h) @milk717 (#135)
  • [NDD-268] 질문 리스트 페이지의 SideMenu 컴포넌트 개발(반응형 포함) (7h/5h) @adultlee (#133)
  • [NDD-293] 약관 동의 페이지 추가 (0.5h/1h) @Yoon-Hae-Min (#131)
  • [NDD-262] 에러 페이지 생성 후 라우터에서 errorElement 정의 (2h/2h) @milk717 (#132)
  • [NDD-270] 문제집 세부 정보페이지 개발하기 (4h/5h) @Yoon-Hae-Min (#129)
  • [NDD-274] 문제집에 새로운 문제를 추가하는 InterviewSetQuestionList 컴포넌트 구현(1.5h/3h) @milk717 (#126)
  • [NDD-272] InterviewSetForm 컴포넌트 생성 (3h/3h) @milk717 (#118)
  • [NDD-269] AddworkbookListModal 컴포넌트 생성 (3h/3h) @Yoon-Hae-Min (#117)
  • [NDD-265] 공용으로 사용할 헤더 작업 필요! (Header의 패딩은 기존의 랜딩을 맞출것) (3h/1h) @adultlee (#116)
  • [NDD-266] 질문리스트 카드 컴포넌트 (common) 개발하기 (1h/1h) @adultlee (#122)
  • [NDD-284]: 문제집 수정 로직 구현 (2h / 1h) @JangAJang (#123)
  • [NDD-282]: 문제집에 대한 조회 기능 구현 (3h / 1h) @JangAJang (#121)
  • [NDD-281]: 문제집 객체를 생성한다 (2h / 1h) @JangAJang (#113)
  • [NDD-267] checkbox 컴포넌트 생성 (0.5h/1h) @Yoon-Hae-Min (#114)
  • [NDD-279]: Workbook 엔티티 추가 및 기존의 Category의 전체적 수정을 위한 테스트 리펙토링 (3h / 1h) @JangAJang (#110)
  • [NDD-242] 🎉경축 DX 개선!! 드디어 골칫덩어리 쿠키를 물리쳤다🎉 (1h/2h) @milk717 (#108)
  • [NDD-254]: 개발용 토큰 반환 API 구현 (0.5h / 0.5h) @quiet-honey (#106)

Documentation

  • Be/hotfix @JangAJang (#188)
  • [NDD-323]: 스웨거 예외 문서처리 && Answer와 Auth API에 대한 에러코드 추가 && delete /question에서 Param수정 (1h / 1h) @JangAJang (#155)
  • [NDD-298]: 비디오, 회원 API 에러 케이스 Swagger 작성 (1h / 1h) @quiet-honey (#154)
  • [NDD-292] react-query 훅에 JSDocs 설명 추가 (0.5h / 1h) @milk717 (#127)

Chore

v1.0.0 🌈

24 Nov 14:35
Compare
Choose a tag to compare

Changes

  • [NDD-251] sentry 세팅 추가 @Yoon-Hae-Min (#102)
  • feat: atom 상태를 전부 관리하는 hook 생성 @Yoon-Hae-Min (#100)
  • [NDD-241]: 카테고리 리스트 응답 dto 구조 변경 && 테스트 실패 케이스 수정 (2h / 1h) @JangAJang (#92)
  • [NDD-183]: Video API Controller 단위 테스트 (3h / 3h) @quiet-honey (#75)
  • [NDD-172]: 카테고리 삭제 기능 구현 (2h / 1h) @JangAJang (#54)

Bug Fixes

  • [NDD-249]: CI/CD스크립트 추가 && 프론트랑 dto 구조 매칭 (2h / 2h) @JangAJang (#101)
  • Hotfix v1.0.0 @Yoon-Hae-Min (#104)
  • [NDD-238] 라우터 로더에서 에러 발생 시 리다이랙션 되지 않고 에러 페이지 표시되는 문제 해결 (0.3/1h) @milk717 (#91)

New Features

  • [NDD-249]: CI/CD스크립트 추가 && 프론트랑 dto 구조 매칭 (2h / 2h) @JangAJang (#101)
  • [NDD-246] 동영상 업로드 시나리오 완료, 면접 페이지에서 면접자 이름 불러오기 (1h/1h) @milk717 (#103)
  • [NDD-243] 마이페이지 탭에 질문 선택 박스 연결 (0.5h / 1h) @milk717 (#99)
  • [NDD-189] Interview 페이지의 interview 관련 로직을 hooks로 분리 (4h / 3h) @adultlee (#97)
  • [NDD-240] settingpage 라우터 처리 (1h/2h) @Yoon-Hae-Min (#98)
  • [NDD-116, NDD-117]: 질문 단건에 대한 답변 리스트 반환 로직 구현 & 답변 삭제 로직 구현 (1+1h / 1+1h) @JangAJang (#94)
  • [NDD-235]: Redis를 이용한 비디오 URL 해싱 (6h / 5h) @quiet-honey (#90)
  • [NDD-147] 마이페이지 영상 삭제 기능 구현 (1h/2h) @milk717 (#96)
  • [NDD-140] 화면 소리연결 페이지 구현 (1h/2h) @Yoon-Hae-Min (#95)
  • [NDD-239] 나만의 질문 입력창 구현하기 (3h/3h) @Yoon-Hae-Min (#93)
  • [NDD-115]: 대표답변을 설정하는 기능 구현 (1h / 1h) @JangAJang (#89)
  • [NDD-146] 마이페이지 화면 api 연결 (1h/1h) @milk717 (#87)
  • [NDD-139] 문제 선택 페이지 생성 (2h/2h) @Yoon-Hae-Min (#88)
  • [NDD-237] Interview 페이지의 useMedia hooks 개발 (2h/2h) @adultlee (#86)
  • [NDD-114]: 문제에 대한 답변 추가 로직 구현 (1h / 1h) @JangAJang (#85)
  • [NDD-141] 녹화 설정 페이지 구현하기 (2h/3h) @Yoon-Hae-Min (#84)
  • [NDD-149] 마이페이지 영상 개별보기 페이지 완료 (8h/3h) @milk717 (#81)
  • [NDD-236]: 비디오 DB에 등록 시 비디오 길이와 썸네일 URL도 저장할 수 있도록 API 변경 (1h / 1h) @quiet-honey (#83)
  • [NDD-231] 답변 선택 모달과 질문 선택 box 연동 (4h/3h) @Yoon-Hae-Min (#80)
  • [NDD-113] Answer 객체 구현 및 기존 로직에서 DefaultAnswer를 가지는 부분을 위한 추가 구현 (1h / 1h) @JangAJang (#82)
  • [NDD-233]: 면접 화면 전용 사용자 이름 조회 시 기업 이름도 Prefix로 추가되도록 API 변경 (0.5h / 1h) @quiet-honey (#79)
  • [NDD-229]: 질문 삭제 로직 구현 && 테스트 (2h / 1h) @JangAJang (#78)
  • [NDD-193] question setting page 페이지 흐름 작성 (4h/3h) @Yoon-Hae-Min (#74)
  • [NDD-190] Interview 페이지에서 Questions 순서에 따른 질문변경을 반영(마지막 질문의 경우 Mypage로 이동하도록 변경) (10h / 8h) @adultlee (#77)
  • [NDD-232] 비디오 ID/HASH로 단건 조회 시 사용자의 닉네임도 포함하도록 API 변경 (1h / 1h) @quiet-honey (#76)
  • �[NDD-228]: 카테고리별 질문 조회 기능 구현 (1h / 1h) @JangAJang (#73)
  • [NDD-227]: 질문 추가 기능 구현 (2h / 1h) @JangAJang (#72)
  • [NDD-145] video api 관련 react-query hooks 추가 (1h/2h) @milk717 (#71)
  • [NDD-134] question select box 컴포넌트 구현하기 (8h/5h) @Yoon-Hae-Min (#69)
  • [NDD-130] 구글 로그인 구현하기, router loader를 통해 리다이랙션 처리하기 (10h/3h) @milk717 (#45)
  • [NDD-225]: 질문 객체, 리포지토리 구현 (1h / 2h) @JangAJang (#70)
  • [NDD-129]: DELETE : /video/${videoId} 구현 (1h / 1h) @quiet-honey (#67)
  • [NDD-153]: PATCH : /api/video/{videoId} 구현 (1h / 1h) @quiet-honey (#66)
  • [NDD-178]: 회원 이름 반환 시 DTO로 반환하도록 변경 (0.3h / 1h) @quiet-honey (#63)

Documentation

v0.1.1 🌈

17 Nov 02:02
Compare
Choose a tag to compare

Changes

New Features

  • [Release] 231116 week2 배포 @milk717 (#64)
  • [NDD-144] 마이페이지 부분 기능 없이 마크업만 완료 (4h/3h) @milk717 (#60)
  • [NDD-135] Interview 페이지 UI 구현 @adultlee (#57)
  • [NDD-179]: 파일 저장을 위한 키를 .mp4에서 .webm으로 변경 (0.2h / 1h) @quiet-honey (#62)
  • [NDD-152]: GET: /video/hash/${hash} 구현 (1h / 1h) @quiet-honey (#61)
  • [NDD-172]: 로그인 완료 시 마이페이지로 리다이렉트 되도록 구현 (1h / 1h) @quiet-honey (#58)
  • [NDD-128]: GET : /video/${videoId} 구현 (2h / 1h) @quiet-honey (#53)
  • [NDD-161]: 회원/비회원의 카테고리 조회 기능 구현 && 비즈니스/컨트롤러 단위/통합 테스트 추가(2h/2h) @JangAJang (#52)
  • [NDD-167] tabs foundation 컴포넌트 구현 완료 (5h/3h) @milk717 (#50)
  • [NDD-169] svg sprite를 통한 Icon 컴포넌트 개발 (4h/ 3h) @adultlee (#51)
  • [NDD-160]: 카테고리 추가 기능 구현 (2h / 1h) @JangAJang (#49)
  • [NDD-127] GET : /video/all API 구현 (1h / 1h) @quiet-honey (#46)
  • [NDD-137] 답변 변경하기 Modal 컴포넌트 구현 (5h/5h) @Yoon-Hae-Min (#44)
  • [NDD-132] video api mocking 추가 (2h / 2h) @milk717 (#39)
  • [NDD-150] 구글 애널리틱스 설정 완료 (0.5h/1h) @milk717 (#48)
  • [NDD-168] Selection Box 컴포넌트 생성 (2h/2h) @Yoon-Hae-Min (#47)
  • [NDD-159]: Category 객체, 리포지토리 구현 (1h / 1h) @JangAJang (#43)
  • [NDD-148] modal 컴포넌트 구현하기 (4h/3h) @Yoon-Hae-Min (#37)
  • [NDD-119]: 면접 화면에 나타나는 이름 반환 API 구현 (1h / 1h) @quiet-honey (#36)
  • [NDD-111]: Question API에서 질문을 등록하고, 삭제하는 기능 구현(2/2) @JangAJang (#34)
  • [NDD-126]: Auth API 리팩터링 (2h / 1h) @quiet-honey (#35)

Chore

  • [NDD-150] 구글 애널리틱스 설정 완료 (0.5h/1h) @milk717 (#48)

v0.1.0 🌈

11 Nov 10:36
715de35
Compare
Choose a tag to compare

Changes

  • [NDD-103] Member API E2E 테스트 (1h / 1h) @quiet-honey (#29)
  • [NDD-86] 상태관리 라이브러리 추가 (순수 세팅 시간 1h/8h) (상태 관리 고민시간 4h/???) @Yoon-Hae-Min (#25)
  • [NDD-97]: CORS를 위한 모듈 추가(1h/1h) @JangAJang (#26)
  • [NDD-83] : Member API 리팩터링 및 테스트 (3h / 3h) @quiet-honey (#24)
  • [NDD-89]: Question API 리펙토링(1h / 3h) @JangAJang (#23)
  • [NDD-78] PR 템플릿 및 PR티켓 자동으로 할당 (0.5h/1h) @Yoon-Hae-Min (#20)
  • [NDD-57] MSW로 서버 mocking하기 (5h/5h) @Yoon-Hae-Min (#12)
  • [NDD-76] 테마 시스템에 그림자 추가 (0.3 / 1h) @milk717 (#10)
  • [NDD-33]: 백엔드 CI 스크립트 작성 (1h / 1h) - 커밋 사항 올바른 브랜치로 이동 @quiet-honey (#7)
  • [NDD-33]: 백엔드 CI 스크립트 작성 (1h / 1h) @JangAJang (#5)
  • [NDD-73]: router 별 상대 경로 설정 (0.5h /1h) @adultlee (#6)

New Features

  • [NDD-87] Interview 페이지 camera 컴포넌트 기능 부여 (7h/8h) @adultlee (#30)
  • [NDD-85] 랜딩 페이지 구현, 웹팩 file-loader, svgr 설정 (9h/8h) @milk717 (#27)
  • [NDD-61]: createBrowserRouter를 통한 Router기능 추가 (8h / 3h) @adultlee (#19)
  • [NDD-79]: BE 재사용성 있는 코드 분리 && 활용성 확장 (1h / 1h) @JangAJang (#21)
  • [NDD-37]: Question API 구현 (1h / 1h) @JangAJang (#18)
  • [NDD-36] Member API 구현 (2h / 1h) @quiet-honey (#17)
  • [NDD-29]: QuestionItem 컴포넌트 구현, 이에 필요한 foundation 컴포넌트 구현 (6h / 5h) @milk717 (#14)
  • [NDD-35] Auth api 구현( 8h/5h ) @JangAJang (#16)
  • [NDD-75] foundation 컴포넌트 디자인 구현 (1h/1h) @Yoon-Hae-Min (#11)
  • [NDD-58] 테마 시스템 정의 (3h/3h) @milk717 (#9)
  • [NDD-22] FE 초기 셋팅 (5h / 5h) @adultlee (#2)

Chore