fix: 템플릿 프리뷰 이미지 왼쪽 치우침 등 4가지 QA#106
Merged
Conversation
- 부모 VStack(alignment: .leading)에 의해 templatePreview가 leading 정렬되던 문제 - .frame(maxWidth: .infinity) 추가로 해결
- 배경/카라비너 시트 올라온상태에서 화면 탭하면 닫기 - 키링 걸기 +버튼 누름 -> 뒤에 배경/카라비너 시트가 올라가있으면 내림
- 시트를 if 조건부 렌더링에서 offset 기반으로 전환하여 열기 반응 속도 향상 - matchedGeometryEffect로 셀렉터 버튼 전환 애니메이션 잔상 제거 - 배경/카라비너 콘텐츠를 ZStack+opacity로 유지하여 탭 전환 시 로딩 깜빡임 제거 - 시트 열릴 때 sheetHeight 리셋으로 드래그 후 재오픈 버그 수정 - 키링 +버튼 클릭 시 배경/카라비너 시트 자동 닫힘 - 화면 탭으로 시트 닫기 기능 추가
- 배경/카라비너 데이터 로드 후 ImagePrefetcher로 썸네일을 Nuke 캐시에 미리 로드하여 최초 시트 오픈 시 렉 감소 (약간 체감 미미하긴 한듯)
qs's arrayLimit bypass in comma parsing allows denial of service - GHSA-w7fw-mjwx-w883
Member
|
좋다좋다 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
🎯 PR 내용
앞으론 문법도 조금 PR에 녹여서 정리해보겠습니다
1. fix: 템플릿 프리뷰 이미지 왼쪽 치우침 수정
원인: 부모 VStack이 .leading 정렬이라 이미지도 왼쪽으로 밀림
.frame(maxWidth: .infinity, maxHeight: 500)// 가로 전체 채우기2. feat: 키링 +버튼 → 배경/카라비너 시트 자동 닫힘
원인: 키링 시트와 아이템 시트가 공존 가능해서 2중 시트 발생
3. perf: 배경/카라비너 시트 렌더링 최적화 (이건 없던 이슈인데, 추가 개선)
원인: if 조건부 렌더링은 매번 뷰를 새로 만들어서 느림 + 탭 전환마다 로딩 깜빡임
그리고,
matchedGeometryEffect를 활용해서 보다 부드럽게 탭이 올라가고 내려오도록 개선했습니다.// 시트: 항상 존재, 위치만 이동
DraggableSheet(...).offset(y: showItemSheet ? 0 : sheetHeight)// 탭 전환: 두 시트 항상 유지, 투명도만 전환
SelectBackgroundSheet(...).opacity(isBackgroundMode ? 1 : 0)matchedGeometryEffect
서로 다른 위치에 있는 두 뷰를 "같은 뷰"로 인식시켜서,
SwiftUI가 자동으로 위치/크기 전환 애니메이션을 만들어주는 건데
자료 한 번 가볍게 찾아보시면 좋을듯합니다!
4. perf: 시트 썸네일 프리패칭
원인: 시트를 처음 열 때 이미지 다운로드가 시작돼서 최초 1회 렉 발생
ImagePrefetcher().startPrefetching(with: bgURLs + cbURLs)5. fix: 무료 템플릿에 "보유" 태그 표시되던 문제
원인: 조건이 ||(또는)라서 무료 아이템도 뱃지가 보임
6. fix: 뭉치 생성 시 위젯 이미지 누락
원인: 뭉치 "편집" 시에만 위젯용 이미지를 만들고, "생성" 시에는 안 만들고 있었음
// 배경 없이 캡처 → 위젯용 투명 이미지
captureBundleImage(backgroundImageURL: nil, trimTransparentEdges: true)7. fix: npm 보안 이슈 해결
이건 너무 자주뜨네 ㄱ-
암튼
npm audit fix했고 해결완.📱 스크린샷 (UI 변경 시)
default.MP4
default.mov
🔗 관련 이슈
✅ 체크리스트