Skip to content

fix: 릴리즈 리뷰 반영 — 인기 검색어 trend 비교 소문자 키 - #256

Merged
chanwoo7 merged 1 commit into
developfrom
fix/release-review-search-keyword-trend
Aug 30, 2026
Merged

fix: 릴리즈 리뷰 반영 — 인기 검색어 trend 비교 소문자 키#256
chanwoo7 merged 1 commit into
developfrom
fix/release-review-search-keyword-trend

Conversation

@chanwoo7

Copy link
Copy Markdown
Member

릴리즈 PR #255 Codex 지적 반영. GROUP BY collation(ci) 대표 표기가 스냅샷마다 달라질 수 있어('3d'↔'3D') trend 비교가 NEW로 오판되는 문제 — 직전 순위 맵을 소문자 키로 비교. 회귀 테스트 1건.

GROUP BY는 collation(ci)으로 묶여 스냅샷마다 대표 표기가 다를 수 있는데('3d' ↔ '3D')
JS Map 비교는 대소문자를 구분해 같은 검색어가 NEW로 오판됨. 직전 순위 맵을 소문자
키로 만들어 비교한다. 회귀 테스트 1건('3D' → '3d' 표기 변화 시 NEW가 아니라 DOWN).
@coderabbitai

coderabbitai Bot commented Aug 30, 2026

Copy link
Copy Markdown

Important

Review skipped

Auto reviews are disabled on base/target branches other than the default branch.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro Plus

Run ID: 8faa2903-4b43-43c6-9b10-64ace2342b44

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review

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.

@github-actions

Copy link
Copy Markdown

🩺 NestJS Doctor — 90/100 (Excellent)

진단 288건 (error 0).

Category error warning info
architecture 0 0 9
correctness 0 140 0
performance 0 24 16
schema 0 0 86
security 0 13 0
architecture / security 상위 항목
  • info architecture/architecture/no-barrel-export-internals: Barrel file re-exports internal type 'IAuditLogRepository'.
  • warning security/security/no-exposed-env-vars: Direct 'process.env.NODE_ENV' access in 'AuthController'. Use ConfigService instead.
  • warning security/security/require-guards-on-endpoints: Endpoint 'start' has no @UseGuards() at class or method level.
  • warning security/security/require-guards-on-endpoints: Endpoint 'callback' has no @UseGuards() at class or method level.
  • warning security/security/require-guards-on-endpoints: Endpoint 'refresh' has no @UseGuards() at class or method level.
  • warning security/security/require-guards-on-endpoints: Endpoint 'logout' has no @UseGuards() at class or method level.
  • warning security/security/require-guards-on-endpoints: Endpoint 'sellerLogin' has no @UseGuards() at class or method level.
  • warning security/security/require-guards-on-endpoints: Endpoint 'sellerRefresh' has no @UseGuards() at class or method level.
  • warning security/security/require-guards-on-endpoints: Endpoint 'sellerLogout' has no @UseGuards() at class or method level.
  • warning security/security/require-guards-on-endpoints: Endpoint 'devIssueToken' has no @UseGuards() at class or method level.
  • info architecture/architecture/no-barrel-export-internals: Barrel file re-exports internal module '@/features/conversation/repositories/conversation.repository'.
  • info architecture/architecture/no-barrel-export-internals: Barrel file re-exports internal type 'ConversationRepository'.
  • info architecture/architecture/no-barrel-export-internals: Barrel file re-exports internal module '@/features/order/repositories/order.repository'.
  • info architecture/architecture/no-barrel-export-internals: Barrel file re-exports internal type 'OrderRepository'.
  • info architecture/architecture/no-barrel-export-internals: Barrel file re-exports internal module '@/features/product/repositories/product.repository'.

오탐 포함 가능 · 기준 docs/guide/architecture-conventions.md

@github-actions

Copy link
Copy Markdown

🧹 knip — dead-code 리포트

Unused exported types (2)
Duplicate exports (1)
전체 리포트
Unused exported types (2)
ProductSearchScope  type  src/features/product/index.ts:20:8
StoreSearchScope    type  src/features/store/index.ts:17:8  
Duplicate exports (1)
KEYWORD_RANK_SNAPSHOT_SIZE|MAX_POPULAR_KEYWORDS_LIMIT  src/features/search/constants/search.constants.ts

청소 후보(오탐 가능) · 기준 docs/guide/architecture-conventions.md

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: da14ea74eb

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

// 아니지만 실사용 대표 케이스).
const previousRankByKeyword = new Map(
previous.map((row) => [row.keyword, row.rank]),
previous.map((row) => [row.keyword.toLowerCase(), row.rank]),

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P2 Badge Match the database collation instead of only lowercasing

When a keyword changes between collation-equivalent Unicode forms that lowercasing does not canonicalize—for example, a previous İ and current i under the configured utf8mb4_unicode_ci collation—MySQL may group them as the same keyword, but these calls produce distinct i\u0307 and i Map keys. The current item is consequently still reported as NEW; use comparison semantics equivalent to the database collation or persist a stable normalized aggregation key.

Useful? React with 👍 / 👎.

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

미반영(문서화된 트레이드오프): 커밋·주석에 "collation 완전 동치는 아니지만 실사용 대표 케이스(대소문자)" 명시. 한국어 케이크 검색 도메인에서 İ/i̇ 류 유니코드 동치 케이스는 실효성이 없고, 완전 동치는 집계 시 정규화 키 컬럼 영속화가 필요한 별도 과제. 오판 결과도 trend 표기(NEW vs UP)의 시각적 차이에 그침.

@codecov

codecov Bot commented Aug 30, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.

📢 Thoughts on this report? Let us know!

@github-actions

Copy link
Copy Markdown

Coverage report

St.
Category Percentage Covered / Total
🟢 Statements 97.88% 5482/5601
🟢 Branches 94.08% 2162/2298
🟢 Functions 96.59% 1077/1115
🟢 Lines 98.46% 4978/5056

Test suite run success

1773 tests passing in 207 suites.

Report generated by 🧪jest coverage report action from da14ea7

@chanwoo7
chanwoo7 merged commit 4651ef1 into develop Aug 30, 2026
12 checks passed
@chanwoo7
chanwoo7 deleted the fix/release-review-search-keyword-trend branch August 30, 2026 20:03
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