Skip to content

feat(web): 신규 가입 관리자 채널 알림 + Tiptap 백틱 렌더링 수정#58

Merged
bbbang105 merged 1 commit intodevfrom
feat/admin-notification-new-member
Mar 18, 2026
Merged

feat(web): 신규 가입 관리자 채널 알림 + Tiptap 백틱 렌더링 수정#58
bbbang105 merged 1 commit intodevfrom
feat/admin-notification-new-member

Conversation

@bbbang105
Copy link
Owner

Summary

  • 신규 유저 온보딩 완료 시 Discord 관리자 채널에 embed 알림 자동 전송
  • Tiptap 인라인 코드에서 백틱 문자가 그대로 보이던 렌더링 버그 수정
  • 관리자 설정에서 알림 채널 ID 설정 가능

Changes

파일 변경 내용
packages/web/src/lib/discord-notify.ts (NEW) Discord REST API 채널 메시지 전송 유틸 — snowflake 검증, 마크다운 이스케이프, allowed_mentions
packages/web/src/app/api/profile/onboarding/route.ts 신규 유저 INSERT 후 after()로 관리자 알림 전송 + isSafeUrl() SSRF 방지 추가
packages/web/src/app/api/admin/settings/route.ts admin_notification_channel_id config 키 매핑 + snowflake 검증 추가
packages/web/src/app/(admin)/admin/settings/page.tsx 관리자 알림 채널 ID 입력 필드 추가
packages/web/src/app/globals.css .tiptap code::before/::after { content: none } — Tailwind prose 백틱 제거
CLAUDE.md Discord 알림 컨벤션 + isSafeUrl 범위 확대 반영
docs/ARCHITECTURE.md 관리자 알림 채널 + Discord 인젝션 방어 반영
packages/web/src/app/layout.tsx 도메인 cusiting.com → kusting.com
packages/web/src/app/opengraph-image.tsx 리포맷
packages/web/next-env.d.ts 자동 생성 파일 업데이트

Design Decisions

결정 이유
웹에서 Discord REST API 직접 호출 봇 의존성 제거, 봇 다운 시에도 알림 가능, 즉시 전송
after() fire-and-forget 온보딩 응답 속도에 영향 없음 (Vercel 서버리스 종료 방지)
escapeDiscordMarkdown() + allowed_mentions 사용자 입력 마크다운 인젝션 + @everyone 멘션 방지
isSafeUrl() blogUrl/profileImageUrl 적용 기존 SSRF 방어 누락 보완 (보안 리뷰 P1)
config 테이블 기반 채널 ID 관리 기존 ConfigKeys 패턴과 일관성 유지

Test Plan

  • 관리자 설정 페이지에서 관리자 알림 채널 ID 입력 후 저장 확인
  • 신규 유저 온보딩 완료 시 Discord 관리자 채널에 embed 메시지 수신 확인
  • embed 메시지에 닉네임/이름/분야/블로그/자기소개/관리자 대시보드 링크 표시 확인
  • 게시판에서 인라인 코드 사용 시 백틱 문자 미표시 확인
  • 채널 ID 미설정 시 알림 전송 스킵 (에러 없음) 확인

🤖 Generated with Claude Code

- 신규 유저 온보딩 완료 시 Discord 관리자 채널에 embed 알림 전송
  - discord-notify.ts: Discord REST API 유틸 (snowflake 검증, 마크다운 이스케이프, allowed_mentions)
  - onboarding/route.ts: after()로 fire-and-forget 알림 + isSafeUrl() SSRF 방지
- 관리자 설정에 admin_notification_channel_id 추가 (API + UI)
- Tiptap 인라인 코드 백틱 렌더링 수정 (Tailwind prose ::before/::after 제거)
- 도메인 cusiting.com → kusting.com 변경

Co-Authored-By: Claude <noreply@anthropic.com>
@bbbang105 bbbang105 requested a review from choihooo as a code owner March 18, 2026 05:41
@vercel
Copy link

vercel bot commented Mar 18, 2026

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

Project Deployment Actions Updated (UTC)
study-admin-web Ready Ready Preview, Comment Mar 18, 2026 5:42am

@bbbang105 bbbang105 added the 🚀 feat 새로운 기능 추가 / 일부 코드 추가 / 일부 코드 수정 (리팩토링과 구분) / 디자인 요소 수정 label Mar 18, 2026
@bbbang105 bbbang105 merged commit 99751cc into dev Mar 18, 2026
8 checks passed
@bbbang105 bbbang105 deleted the feat/admin-notification-new-member branch March 18, 2026 05:43
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

🚀 feat 새로운 기능 추가 / 일부 코드 추가 / 일부 코드 수정 (리팩토링과 구분) / 디자인 요소 수정

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant