-
Notifications
You must be signed in to change notification settings - Fork 0
Feat: [FN-177] 카드셋 에디터 구현 #6
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
WalkthroughWebSocket 지원을 도입하고 Socket.IO 어댑터를 설정했다. 새 WebSocket 모듈과 게이트웨이를 추가했다. 앱 부트스트랩을 NestExpressApplication으로 전환하고 IoAdapter를 적용했다. 패키지 의존성을 추가했다. 일부 서비스 클래스에서 @Injectable() 데코레이터를 제거했다. 기타 사소한 포맷 변경이 포함됐다. Changes
Sequence Diagram(s)sequenceDiagram
autonumber
actor Client
participant GW as CollaborationGateway (Socket.IO)
participant RM as Room (/cardsets)
participant YJ as Yjs Doc
Client->>GW: connect
GW->>Client: connected ack
Client->>GW: joinRoom {documentId, userId?}
GW->>YJ: get/create Doc for documentId
GW->>RM: add client to room(documentId)
GW-->>Client: send current doc state
GW-->>RM: broadcast new-user
rect rgb(235, 245, 255)
note right of Client: Yjs collaboration
Client->>GW: yjs-message (sync/update/awareness)
GW->>RM: forward to peers in room
RM-->>Client: peer updates
end
par Heartbeat
GW-->>Client: heartbeat (interval)
Client->>GW: heartbeat-ack
and Disconnect
Client--X GW: disconnect
GW->>GW: stopHeartbeat(clientId)
end
Estimated code review effort🎯 4 (Complex) | ⏱️ ~60 minutes Suggested reviewers
Poem
Pre-merge checks and finishing touches✅ Passed checks (3 passed)
✨ Finishing touches🧪 Generate unit tests
📜 Recent review detailsConfiguration used: CodeRabbit UI Review profile: CHILL Plan: Pro 📒 Files selected for processing (1)
🚧 Files skipped from review as they are similar to previous changes (1)
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. Comment |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 4
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
⛔ Files ignored due to path filters (1)
package-lock.jsonis excluded by!**/package-lock.json
📒 Files selected for processing (6)
package.json(1 hunks)src/app.module.ts(2 hunks)src/main.ts(2 hunks)src/websocket/websocket.gateway.ts(1 hunks)src/websocket/websocket.module.ts(1 hunks)test-client.html(1 hunks)
🧰 Additional context used
🧬 Code graph analysis (1)
src/websocket/websocket.module.ts (1)
src/app.module.ts (1)
Module(12-34)
🪛 GitHub Actions: Node CI with NestJS
src/websocket/websocket.gateway.ts
[warning] 60-60: Promises must be awaited, end with a call to .catch, end with a call to .then with a rejection handler or be explicitly marked as ignored with the void operator @typescript-eslint/no-floating-promises
[warning] 110-110: Promises must be awaited, end with a call to .catch, end with a call to .then with a rejection handler or be explicitly marked as ignored with the void operator @typescript-eslint/no-floating-promises
[error] 167-167: Unsafe object destructuring of a property with an any value @typescript-eslint/no-unsafe-assignment
🪛 GitHub Check: build
src/websocket/websocket.gateway.ts
[warning] 267-267:
Unsafe argument of type any assigned to a parameter of type Iterable<unknown> | ArrayLike<unknown>
[failure] 262-262:
Unsafe assignment of an any value
[warning] 252-252:
Unsafe argument of type any assigned to a parameter of type Iterable<unknown> | ArrayLike<unknown>
[warning] 247-247:
Unsafe argument of type Uint8Array<any> assigned to a parameter of type Uint8Array<ArrayBufferLike>
[failure] 246-246:
Unsafe assignment of an any value
[failure] 221-221:
Unsafe assignment of an any value
[warning] 171-171:
Unsafe argument of type any assigned to a parameter of type { token: string; userId: string; documentId: string; }
[failure] 167-167:
Unsafe object destructuring of a property with an any value
[warning] 110-110:
Promises must be awaited, end with a call to .catch, end with a call to .then with a rejection handler or be explicitly marked as ignored with the void operator
[warning] 60-60:
Promises must be awaited, end with a call to .catch, end with a call to .then with a rejection handler or be explicitly marked as ignored with the void operator
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 3
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (5)
src/card/card.service.ts(1 hunks)src/card/entities/card.entity.ts(1 hunks)src/cardset-manager/cardset-manager.service.ts(1 hunks)src/cardset/cardset.service.ts(1 hunks)src/websocket/websocket.gateway.ts(1 hunks)
🚧 Files skipped from review as they are similar to previous changes (1)
- src/websocket/websocket.gateway.ts
📝 변경 내용
✅ 체크리스트
💬 기타 참고 사항
Summary by CodeRabbit