Safari/iOS(아이폰 8, 최신 iOS 버전)의 ‘뒤로’ 기능이 신뢰할 수 없습니다. 주제 목록에서 특정 주제로 이동한 뒤 뒤로 갈 때, 주제 목록의 원래 위치로 돌아가지 않는 경우가 많습니다. 제 포럼에서는 거의 항상 이런 문제가 발생하며, 메타(Meta)에서는 가끔은 정상 작동하지만 더 자주 실패합니다. ‘뒤로’ 버튼을 누를 때나 오른쪽으로 스와이프할 때 모두 동일한 문제가 발생합니다.
궁금해서 여쭤보는데, 안전 모드에서도 작동하나요?
죄송합니다, 언급을 잊었습니다: 제 포럼과 메타에서 모두 안전 모드를 테스트해 보았지만 결과는 동일했습니다.
iOS 허브 앱에서인가요, 아니면 네이티브 모바일 사파리에서인가요? 여기 메타에서 토픽 목록에서 뒤로 가기 버튼이나 뒤로 스와이프를 사용해도 문제를 재현할 수 없습니다.
구체적인 재현 단계를 알고 계신가요?
아, 잠깐. 뒤로 _스와이프_로는 재현이 되는데, 뒤로 _버튼_으로는 재현이 안 됩니다. 뒤로 스와이프는 토픽 목록의 실제 스크롤 위치를 기억하지 못하는 것 같은데, 뒤로 _버튼_은 항상 기억하네요.
네이티브 모바일 Safari에서 발생하는 문제입니다. 처음에는 주제 목록 새로고침과 관련이 있다고 짐작했지만, 그런 것 같지는 않습니다. 현재 Meta에서 100% 재현됩니다.
재현 방법:
- Meta에 로그인
- Meta 홈 페이지 새로고침 (이 단계는 필수적이지 않은 것 같지만, 주제 목록 새로고침 문제를 배제하기 위해 실행)
- 한 페이지 아래로 스크롤
- 주제 선택
- 오른쪽으로 스와이프 또는 뒤로 버튼 클릭
다음 사항들도 시도해 보았으나, 모두 동일한 결과가 나왔습니다:
- 콘텐츠 차단에서 Crystal 광고 차단기 비활성화
- 로그인하지 않은 상태로 개인 탭에서 Meta 열기
- iPhone SE에서 테스트
- Galaxy S6의 Chrome에서 테스트
저도 @eviltrout 님이 말씀하신 대로 재현되는 것 같습니다. 혹시 여기서 회귀(regression)가 생긴 건 아닐까요? @j.jaffeux 님?
이것으로 수정될 것입니다:
세부 사항은 커밋 메시지에 있으며, 다음 주에 robin의 승인을 기다린 후 병합할 예정입니다. 자세한 보고 감사합니다 ![]()
병합되었습니다. 진행 상황을 알려주세요.
이 주제는 마지막 답변 후 3일 자동으로 닫혔습니다. 더 이상 새 답변을 남길 수 없습니다.
@bartv와 논의한 후 더 조사해 보니 실제로 회귀(regression)가 존재하는 것을 확인했습니다.
아래 커밋에서 발생한다고 생각합니다:
기본적으로 이 경우 scrollOnLoad가 undefined입니다:
https://github.com/discourse/discourse/blob/master/app/assets/javascripts/discourse/components/topic-list.js.es6#L71
아래와 같은 수정을 제안합니다:
@markvanlan, 다음 주에 리뷰해 주시겠어요?
@bartv 두 번째 수정 사항을 병합했습니다. 시간이 나시면 어떻게 되는지 알려주세요.
참고로, 이 로직을 더 개선할 수 있지 않을까요? 현재는 각 페이지 스크롤 시 하나의 주제 위치를 저장하는데, 특히 모바일에서는 다시 돌아왔을 때 클릭한 주제가 뷰포트에 표시되지 않을 수 있습니다. 아주 멀리 있는 것은 아니지만요.
방금 메타에서 테스트해 봤는데 제 환경에서는 작동하지 않아요. 주제에서 ‘뒤로’ 버튼을 누르면 주제 목록의 맨 위로 돌아가거든요.
주제 목록에서 정확히 있던 위치로 돌아가는 기능에 +1입니다.
제게는 잘 작동합니다. 시간이 나실 때 영상 하나 올려주세요.
내 게시물에 추가했어요. 도움이 되길 바라며, 다른 것도 포함해야 한다면 알려주세요.
영상에 보이는 것은 예상된 결과입니다. 페이지 스크롤을 하지 않았기 때문에 추가적인 주제가 로드되지 않았고, 따라서 마지막으로 확인한 주제 위치가 업데이트되지 않았습니다.
이것은 제가 사이드 노트에서 개선하도록 제안한 내용입니다.
아, 충분히 아래로 스크롤하여 새 주제 로딩을 강제하면 실제로 작동한다는 것을 확인할 수 있습니다. 그런 제한이 있을 줄은 몰랐는데, 사용자 입장에서 보면 약간 혼란스럽고 일관성이 없는 것 같습니다.
네, 저도 그렇게 좋아하지 않아요. 그래서 개선하자고 제안한 거예요. 하지만 제가 고친 다른 것들과는 달리, AFAIK(제가 아는 한) 이건 회귀 버그(regression)가 아닙니다.
젠장, 이 커밋에서 또 다른 회귀 문제가 있었던 것 같네요. 이번엔 해결될 것 같습니다:
그리고 우리가 이야기했던 동작을 가져올 것입니다!