Skip to content

Release#112

Merged
suminb99 merged 8 commits into
mainfrom
develop
Mar 27, 2026
Merged

Release#112
suminb99 merged 8 commits into
mainfrom
develop

Conversation

@suminb99
Copy link
Copy Markdown
Contributor

⚙️ Related ISSUE Number



📄 Work Description



📷 Screenshot



💬 To Reviewers



🔗 Reference

@vercel
Copy link
Copy Markdown

vercel Bot commented Mar 27, 2026

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

Project Deployment Actions Updated (UTC)
snow-code-client Ready Ready Preview, Comment Mar 27, 2026 1:47am

@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented Mar 27, 2026

Caution

Review failed

The pull request is closed.

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: a189a0af-6b90-4485-a730-a7789c71a808

📥 Commits

Reviewing files that changed from the base of the PR and between 7f37776 and 6766725.

📒 Files selected for processing (4)
  • src/entities/student/ui/AssignmentProgressCard.tsx
  • src/features/assignment/run-assignment/lib/useCodeExecution.ts
  • src/pages/submit-assignment/AssignmentSubmitPage.tsx
  • src/pages/submit-assignment/ui/CodeEditor.tsx

📝 Walkthrough

Summary by CodeRabbit

릴리스 노트

  • 새 기능

    • 제출된 과제의 상태를 더 명확하게 표시: 오답 제출과 미제출 상태를 구별하여 표시
  • 버그 수정

    • 과제 전환 시 이전 코드 실행 결과가 정상적으로 초기화되지 않는 문제 해결
    • 과제 변경 시 코드 편집기 상태가 제대로 관리되지 않는 문제 개선

Walkthrough

할당 전환 시 코드 실행 상태를 초기화하기 위해 useCodeExecutionassignmentId 파라미터를 추가했습니다. 동시에 CodeEditor의 Monaco 인스턴스 식별자를 명시적으로 설정하고, 할당 제출 상태 표시를 개선하여 "제출했으나 오답" 상태를 "미제출"과 구분했습니다.

Changes

Cohort / File(s) Summary
Status Icon Enhancement
src/entities/student/ui/AssignmentProgressCard.tsx
Incorrect 아이콘 임포트 추가 및 getStatusIcon 함수가 submittedCodeId 파라미터를 수용하도록 확장. 제출 상태와 정확성을 조합하여 세 가지 상태(정답/오답/미제출) 구분.
Assignment Execution State Management
src/features/assignment/run-assignment/lib/useCodeExecution.ts, src/pages/submit-assignment/AssignmentSubmitPage.tsx
useCodeExecutionassignmentId 파라미터 추가 및 해당 값 변경 시 실행 결과 초기화 effect 추가. AssignmentSubmitPage에서 hook 호출 시 assignmentId 전달하여 할당 전환 시 이전 결과 정리.
Code Editor Component Updates
src/pages/submit-assignment/ui/CodeEditor.tsx, src/pages/submit-assignment/AssignmentSubmitPage.tsx
CodeEditor props에 필수 id: string 속성 추가하고 Monaco Editor 경로로 연결. AssignmentSubmitPagekey 속성을 assignmentId 기반으로 업데이트하여 할당별 에디터 인스턴스 독립성 강화.

Sequence Diagram(s)

sequenceDiagram
    participant User
    participant Page as AssignmentSubmitPage
    participant Hook as useCodeExecution
    participant Editor as CodeEditor<br/>(Monaco)
    
    User->>Page: Switch to different assignment
    Note over Page: assignmentId changes
    
    Page->>Hook: useCodeExecution(new assignmentId)
    activate Hook
    Hook->>Hook: useEffect detects<br/>assignmentId change
    Hook->>Hook: Reset output = null
    deactivate Hook
    
    Page->>Editor: Remount with new<br/>id=code-editor-{newId}<br/>key=new-{newId}
    activate Editor
    Note over Editor: Monaco instance<br/>re-initialized with<br/>new path={id}
    deactivate Editor
    
    User->>Editor: Type new code
    Editor->>Hook: Execute code
    Hook->>Hook: output updated
    Note over Page: Previous assignment's<br/>execution result cleared
Loading

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~15 minutes

변경 사항이 명확하고 일관성 있는 패턴을 따르지만, 여러 컴포넌트에 걸친 prop 전달 체인과 할당 전환 메커니즘을 이해하는 데 주의가 필요합니다.

Possibly related PRs

  • PR #93: useCodeExecution.ts에서 WebSocket URL 파생 로직이 수정되었으며, 본 PR의 assignmentId 파라미터 추가와 함께 검토하면 execution 전체 흐름을 파악할 수 있습니다.
  • PR #102: CodeEditor 컴포넌트의 Monaco 에디터 옵션 조정이 포함되어 있으며, 본 PR의 path={id} 연결과 함께 에디터 인스턴스 관리 방식을 통합 검토할 필요가 있습니다.

Suggested labels

🐞 bugFix, 🛠️ refactor, 🎨 ui

Suggested reviewers

  • JiiminHa
✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch develop

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

Comment @coderabbitai help to get the list of available commands and usage tips.

@suminb99 suminb99 merged commit 4e82999 into main Mar 27, 2026
3 of 4 checks passed
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.

2 participants