Skip to content

release: develop-demo 운영 반영 - #375

Merged
kjhyeon0620 merged 17 commits into
productionfrom
develop-demo
Sep 21, 2026
Merged

kjhyeon0620 merged 17 commits into
productionfrom
develop-demo

Conversation

@kjhyeon0620

Copy link
Copy Markdown
Contributor

📄 작업 내용 요약

develop-demo에 반영된 독서 기록·타임라인 개선사항을 production에 반영한다.


📎 Issue 번호


✅ 작업 목록

  • 기능 구현 및 버그 수정
  • 관련 테스트 코드 추가·수정
  • 닉네임 규칙 문서 업데이트
  • 최신 develop-demo 커밋 DEV CD 성공 확인 (e0616a8)

📝 기타 참고사항

  • DB 마이그레이션 있음
    • V20260916_000000__widen_records_content_column.sql
    • records.content를 VARCHAR(1000)으로 확장
  • 내용과 이미지가 모두 없는 기록은 RECORD-400으로 거부

kjhyeon0620 and others added 17 commits September 21, 2026 02:15
[FIX] 독서 기록 수정 시 타임라인 미리보기에 최신 내용 반영
[FIX] 포커스 상태 변경 시 독서 이력 추가
@Length(max=1000)으로 검증은 통과하지만 DB 컬럼이 VARCHAR(255)라
255자 초과 기록 생성 시 INSERT가 실패해 409로 응답되던 문제를 수정한다.
수정 요청의 이미지 키를 전부 새로 insert하던 방식을 바꿔
신규 키만 추가하고, 요청에서 빠진 키만 삭제하며, 유지되는 키는 orderIndex만 갱신한다.
실제 원인 쿼리/호출 위치를 추적할 수 있도록 예외 객체를 함께 로깅한다.
JWT 기반 인증만 사용하므로 form 로그인을 끄고,
기동 시 임의 비밀번호를 생성/로깅하는 UserDetailsServiceAutoConfiguration을 제외한다.
업로드 URL 발급, R2 이미지 PUT, 기록 생성을 단계별로 측정하고
VUS, IMAGE_COUNT, CONTENT_LENGTH, PUT_MODE로 조건을 바꿔 1명/100명 등을 비교한다.
여러 실행의 report JSON을 받아 종단 소요 시간, 성공률, 단계별 응답 시간을 나란히 비교한다.
기록 생성·수정 DTO의 content @notblank를 제거하고, 내용과 이미지가 모두 비어 있는
경우에만 RECORD-400으로 거부한다. 공백 내용은 null로 저장하며 타임라인 preview는
기존 fallback("N개의 이미지")을 그대로 사용한다.
기록 수정 시 신규 이미지를 record.images에도 반영하고, 이에 맞춰 수정/중복 방지 테스트를 갱신한다.
마이페이지 닉네임/프로필 수정과 DEV 가입·로그인 DTO의 닉네임 규칙을 온보딩(최대 10자)과 맞춘다.
검증 메시지, REST Docs 설명, user.adoc 문구를 함께 갱신하고 10자/11자 경계 테스트를 추가한다.
서로게이트 문자(이모지)를 글자 단위로 세어 중간에서 깨지지 않게 자른다.
본문 전체를 preview로 저장하던 것을 앞 100자로 제한한다.
501자 이상 기록이 preview_text(VARCHAR(500)) 초과로 저장 실패하던 문제도 함께 해소된다.
조회 시 기록 본문으로 다시 계산하는 preview를 100자로 자른다.
상세 조회의 본문(content)은 자르지 않고 전체를 반환한다.
…tent-length

[FIX] 기록 이미지 업로드 관련 버그 수정 및 이미지만으로 기록 작성 허용
@coderabbitai

coderabbitai Bot commented Sep 21, 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: Organization UI

Review profile: CHILL

Plan: Advanced

Run ID: aef17fb7-db19-499f-96cc-a8dd774d0cf2

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.

@kjhyeon0620 kjhyeon0620 added the release Production release PR label Sep 21, 2026
@github-actions

Copy link
Copy Markdown
Overall Project 79.75% -0.02% 🍏
Files changed 98.42% 🍏

File Coverage
TimelinePreviewText.java 100% 🍏
RecordImage.java 100% 🍏
Record.java 100% 🍏
TimelineCommandService.java 98.21% 🍏
FocusService.java 97.76% 🍏
TimelineQueryService.java 97.19% 🍏
RecordCommandService.java 96.9% -0.71% 🍏

@kjhyeon0620
kjhyeon0620 merged commit a08505e into production Sep 21, 2026
4 checks passed

This branch was successfully deployed

2 active deployments
prod — e0616a86 Deployed Sep 21, 2026 by kjhyeon0620 via promote-and-deploy #9
dev — e0616a86 Deployed Sep 20, 2026 by JiwonLee42 via build-and-deploy #54
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

release Production release PR

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants