Skip to content

Develop#55

Merged
CutTheWire merged 10 commits intomainfrom
develop
Jul 12, 2025
Merged

Develop#55
CutTheWire merged 10 commits intomainfrom
develop

Conversation

@CutTheWire
Copy link
Copy Markdown
Member

No description provided.

Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

Adds full support for Naver social login across backend, frontend, documentation, and infrastructure. Includes:

  • Backend: new Naver login flow (UserService, UserController), enum update in User.kt, DB migrations and triggers for membership.
  • Frontend: React login component updates (Login.tsx), routing change, chat UI tweaks (ChatMessage.tsx, Chatting.tsx), and tailwind output.
  • Docs & Infra: API docs fix for character upload, Nginx proxy rules, updated project README.

Reviewed Changes

Copilot reviewed 13 out of 13 changed files in this pull request and generated 3 comments.

Show a summary per file
File Description
springboot/.../service/UserService.kt Implemented Naver login, token error handling, user registration
springboot/.../model/User.kt Added NAVER to LoginType enum
springboot/.../controller/UserController.kt Added Naver login & callback endpoints
springboot/src/docs/CharacterController.md Corrected HTTP method for image upload
readme.md Expanded architecture diagram and roadmap
nginx/react-frontpage/src/Component/Login/Login.tsx Added Naver social login handlers and redirect logic
nginx/react-frontpage/src/Component/Chatting/Components/ChatMessage.tsx Refactored Markdown styling and avatar display
nginx/react-frontpage/src/Component/Chatting/Chatting.tsx Increased max-width container from 3xl to 5xl
nginx/react-frontpage/src/App.tsx Added Naver redirect route
nginx/nginx.conf Added proxy rules for Naver login endpoints
mysql/migrations/V1.1.4__init.sql Expanded login_type enum to include NAVER
mysql/migrations/V1.1.5__init.sql Triggers to auto-set/social membership levels
Comments suppressed due to low confidence (1)

nginx/react-frontpage/src/Component/Login/Login.tsx:136

  • The variable usedCodes is referenced but not declared or imported in this file, which will cause a runtime error. Define or import usedCodes before use.
  if (usedCodes.has(code)) {

Comment thread nginx/nginx.conf
}

# 네이버 OAuth 콜백 처리 (필요시)
location /server/user/social/naver/redirect {
Copy link

Copilot AI Jul 12, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The proxy location for /server/user/social/naver/redirect forwards the full path including /server, but the Spring controller maps /social/naver/redirect. Add a rewrite or adjust proxy_pass URI so the backend sees the correct path.

Suggested change
location /server/user/social/naver/redirect {
location /server/user/social/naver/redirect {
rewrite ^/server/user/social/naver/redirect /social/naver/redirect break;

Copilot uses AI. Check for mistakes.
@@ -1,2 +1,2 @@
*,::backdrop,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#3b82f680;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }
Copy link

Copilot AI Jul 12, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[nitpick] This is a generated CSS file with minified content. Consider excluding it from version control or moving it to a build artifact to reduce repo size and improve maintainability.

Copilot uses AI. Check for mistakes.
Comment on lines +88 to +96
p: ({ node, ...props }) => <p className={`${user === "나" ? "text-[1.05rem] max-sm:text-[0.8rem]" : "text-gray-100 text-[1rem] max-sm:text-[0.9rem] leading-relaxed mb-3"}`} {...props} />,
h1: ({ node, ...props }) => <h1 className={`${user === "나" ? "text-[1.5rem] max-sm:text-[1.05rem] font-bold my-2" : "text-gray-100 text-[1.4rem] max-sm:text-[1.2rem] font-bold my-3"}`} {...props} />,
h2: ({ node, ...props }) => <h2 className={`${user === "나" ? "text-[1.3rem] max-sm:text-[1rem] font-bold my-2" : "text-gray-100 text-[1.2rem] max-sm:text-[1.1rem] font-bold my-3"}`} {...props} />,
h3: ({ node, ...props }) => <h3 className={`${user === "나" ? "text-[1.1rem] max-sm:text-[0.95rem] font-bold my-1" : "text-gray-100 text-[1.1rem] max-sm:text-[1rem] font-bold my-2"}`} {...props} />,
h4: ({ node, ...props }) => <h4 className={`${user === "나" ? "text-[1rem] max-sm:text-[0.9rem] font-bold my-1" : "text-gray-100 text-[1rem] max-sm:text-[0.95rem] font-bold my-2"}`} {...props} />,
ul: ({ node, ...props }) => <ul className={`pl-5 list-disc my-2 ${user === "나" ? "max-sm:text-[0.8rem]" : "text-gray-100 max-sm:text-[0.9rem]"}`} {...props} />,
ol: ({ node, ...props }) => <ol className={`pl-5 list-decimal my-2 ${user === "나" ? "max-sm:text-[0.8rem]" : "text-gray-100 max-sm:text-[0.9rem]"}`} {...props} />,
li: ({ node, ...props }) => <li className={`my-1 max-sm:my-[0.15rem] ${user !== "나" ? "text-gray-100" : ""}`} {...props} />,
blockquote: ({ node, ...props }) => <blockquote className={`border-l-4 pl-3 italic my-2 ${user === "나" ? "border-gray-400 max-sm:text-[0.8rem]" : "border-blue-400 text-gray-200 max-sm:text-[0.9rem]"}`} {...props} />,
Copy link

Copilot AI Jul 12, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[nitpick] The large JSX style logic for Markdown components could be refactored into separate styled subcomponents to improve readability and reduce inline complexity.

Suggested change
p: ({ node, ...props }) => <p className={`${user === "나" ? "text-[1.05rem] max-sm:text-[0.8rem]" : "text-gray-100 text-[1rem] max-sm:text-[0.9rem] leading-relaxed mb-3"}`} {...props} />,
h1: ({ node, ...props }) => <h1 className={`${user === "나" ? "text-[1.5rem] max-sm:text-[1.05rem] font-bold my-2" : "text-gray-100 text-[1.4rem] max-sm:text-[1.2rem] font-bold my-3"}`} {...props} />,
h2: ({ node, ...props }) => <h2 className={`${user === "나" ? "text-[1.3rem] max-sm:text-[1rem] font-bold my-2" : "text-gray-100 text-[1.2rem] max-sm:text-[1.1rem] font-bold my-3"}`} {...props} />,
h3: ({ node, ...props }) => <h3 className={`${user === "나" ? "text-[1.1rem] max-sm:text-[0.95rem] font-bold my-1" : "text-gray-100 text-[1.1rem] max-sm:text-[1rem] font-bold my-2"}`} {...props} />,
h4: ({ node, ...props }) => <h4 className={`${user === "나" ? "text-[1rem] max-sm:text-[0.9rem] font-bold my-1" : "text-gray-100 text-[1rem] max-sm:text-[0.95rem] font-bold my-2"}`} {...props} />,
ul: ({ node, ...props }) => <ul className={`pl-5 list-disc my-2 ${user === "나" ? "max-sm:text-[0.8rem]" : "text-gray-100 max-sm:text-[0.9rem]"}`} {...props} />,
ol: ({ node, ...props }) => <ol className={`pl-5 list-decimal my-2 ${user === "나" ? "max-sm:text-[0.8rem]" : "text-gray-100 max-sm:text-[0.9rem]"}`} {...props} />,
li: ({ node, ...props }) => <li className={`my-1 max-sm:my-[0.15rem] ${user !== "나" ? "text-gray-100" : ""}`} {...props} />,
blockquote: ({ node, ...props }) => <blockquote className={`border-l-4 pl-3 italic my-2 ${user === "나" ? "border-gray-400 max-sm:text-[0.8rem]" : "border-blue-400 text-gray-200 max-sm:text-[0.9rem]"}`} {...props} />,
p: StyledParagraph,
h1: StyledHeading1,
h2: StyledHeading2,
h3: StyledHeading3,
h4: StyledHeading4,
ul: StyledUnorderedList,
ol: StyledOrderedList,
li: StyledListItem,
blockquote: StyledBlockquote,

Copilot uses AI. Check for mistakes.
@CutTheWire CutTheWire merged commit ab74c34 into main Jul 12, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants