Skip to content

Comments

fix: 이미지 업로드 프로세스 개선을 위한 비동기 처리 방식 수정#158

Merged
Seojunhwan merged 1 commit intomainfrom
fix/cheer-upload-promise
Aug 23, 2025
Merged

fix: 이미지 업로드 프로세스 개선을 위한 비동기 처리 방식 수정#158
Seojunhwan merged 1 commit intomainfrom
fix/cheer-upload-promise

Conversation

@Seojunhwan
Copy link
Member

@Seojunhwan Seojunhwan commented Aug 23, 2025

✅ 이슈 번호

close x


🪄 작업 내용 (변경 사항)

  • image upload promise 보장하게끔 수정

📸 스크린샷


💡 설명


🗣️ 리뷰어에게 전달 사항


📍 트러블 슈팅

Summary by CodeRabbit

  • 버그 수정
    • 이미지 등록 단계에서 일부 업로드가 누락되거나 완료 전 단계가 진행되던 문제를 수정했습니다.
    • 모든 이미지 업로드가 실제로 완료될 때까지 정확히 대기하도록 개선하여, 업로드 완료 후에만 다음 단계로 진행됩니다.
    • 업로드 실패 시 오류가 올바르게 전파되어 사용자에게 문제 상황이 명확히 반영됩니다.
    • 결과적으로 이미지 업로드의 안정성과 일관성이 향상되었습니다.

@vercel
Copy link
Contributor

vercel bot commented Aug 23, 2025

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Preview Comments Updated (UTC)
26th-web-team-1-fe Building Building Preview Comment Aug 23, 2025 4:10am

@coderabbitai
Copy link

coderabbitai bot commented Aug 23, 2025

Caution

Review failed

The pull request is closed.

Walkthrough

이미지 업로드 단계에서 uploadImageToS3 호출을 명시적으로 수집해 Promise.all로 동시 대기하도록 수정되었으며, 이전의 반환 없는 map 사용으로 인해 업로드가 대기되지 않던 문제를 해결했습니다. 업로드 완료 후에만 후속 imageData 구성이 진행됩니다.

Changes

Cohort / File(s) Change Summary
이미지 업로드 동시처리 수정
src/app/(store)/stores/register/_components/RegisterFunnel/_components/ImagesStep/ImagesStep.tsx
presignedUrls.map에서 uploadImageToS3 호출을 배열로 수집하여 Promise.all(uploadPromises)로 대기하도록 변경. 이전의 블록 바디 map로 인해 업로드 프로미스가 반환되지 않던 흐름을 수정.

Sequence Diagram(s)

sequenceDiagram
    autonumber
    actor U as User
    participant I as ImagesStep
    participant PS as Presigned URL Service
    participant S3 as S3

    U->>I: 이미지 선택/업로드 트리거
    I->>PS: 업로드용 presigned URLs 요청
    PS-->>I: presignedUrls [{url, order}, ...]

    rect rgba(200,235,255,0.3)
    note over I: 각 URL과 이미지로 업로드 프로미스 생성
    I->>S3: uploadImageToS3(url, image) x N (병렬)
    end

    I-->>I: await Promise.all(uploadPromises)

    I->>I: 업로드 결과 기반 imageData 구성
    I-->>U: 다음 단계 진행/완료
Loading

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

Poem

풀밭 위 토끼가 말했지, "업로드, 준비됐니?"
약속들 쏙쏙 모아서, 한 번에 딱 기다리기.
바람처럼 병렬로, 구름처럼 가볍게—
모두 끝난 뒤에 뛰지, 깡충! 안정되게.
S3 하늘 아래, 오늘도 버그 없이 🐇✨

Tip

🔌 Remote MCP (Model Context Protocol) integration is now available!

Pro plan users can now connect to remote MCP servers from the Integrations page. Connect with popular remote MCPs such as Notion and Linear to add more context to your reviews and chats.


📜 Recent review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

💡 Knowledge Base configuration:

  • MCP integration is disabled by default for public repositories
  • Jira integration is disabled by default for public repositories
  • Linear integration is disabled by default for public repositories

You can enable these sources in your CodeRabbit configuration.

📥 Commits

Reviewing files that changed from the base of the PR and between 7d7b4a5 and 49b7292.

📒 Files selected for processing (1)
  • src/app/(store)/stores/register/_components/RegisterFunnel/_components/ImagesStep/ImagesStep.tsx (1 hunks)
✨ Finishing Touches
  • 📝 Generate Docstrings
🧪 Generate unit tests
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch fix/cheer-upload-promise

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share
🪧 Tips

Chat

There are 3 ways to chat with CodeRabbit:

  • Review comments: Directly reply to a review comment made by CodeRabbit. Example:
    • I pushed a fix in commit <commit_id>, please review it.
    • Open a follow-up GitHub issue for this discussion.
  • Files and specific lines of code (under the "Files changed" tab): Tag @coderabbitai in a new review comment at the desired location with your query.
  • PR comments: Tag @coderabbitai in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
    • @coderabbitai gather interesting stats about this repository and render them as a table. Additionally, render a pie chart showing the language distribution in the codebase.
    • @coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.

Support

Need help? Create a ticket on our support page for assistance with any issues or questions.

CodeRabbit Commands (Invoked using PR/Issue comments)

Type @coderabbitai help to get the list of available commands.

Other keywords and placeholders

  • Add @coderabbitai ignore anywhere in the PR description to prevent this PR from being reviewed.
  • Add @coderabbitai summary to generate the high-level summary at a specific location in the PR description.
  • Add @coderabbitai anywhere in the PR title to generate the title automatically.

CodeRabbit Configuration File (.coderabbit.yaml)

  • You can programmatically configure CodeRabbit by adding a .coderabbit.yaml file to the root of your repository.
  • Please see the configuration documentation for more information.
  • If your editor has YAML language server enabled, you can add the path at the top of this file to enable auto-completion and validation: # yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json

Status, Documentation and Community

  • Visit our Status Page to check the current availability of CodeRabbit.
  • Visit our Documentation for detailed information on how to use CodeRabbit.
  • Join our Discord Community to get help, request features, and share feedback.
  • Follow us on X/Twitter for updates and announcements.

@github-actions github-actions bot requested a review from wkdtnqls0506 August 23, 2025 04:10
@Seojunhwan Seojunhwan merged commit b57f37c into main Aug 23, 2025
5 of 7 checks passed
@Seojunhwan Seojunhwan deleted the fix/cheer-upload-promise branch August 23, 2025 04:11
@github-actions
Copy link

🎨 Storybook Preview: https://685a32a1c0bbd269fdb67af4-kdnwkhiuex.chromatic.com/
🔗 Chromatic Build: https://www.chromatic.com/build?appId=685a32a1c0bbd269fdb67af4&number=246
🕖 Updated at: 2025년 08월 23일 13시 11분 13초

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant