Skip to content

[Fix/#49] iOS 커뮤니티 탭 상세 게시글 본문 하단 여백 제거#49

Open
BeomBeom2 wants to merge 1 commit intodevelopfrom
fix/#7-ios-community-post-detail
Open

[Fix/#49] iOS 커뮤니티 탭 상세 게시글 본문 하단 여백 제거#49
BeomBeom2 wants to merge 1 commit intodevelopfrom
fix/#7-ios-community-post-detail

Conversation

@BeomBeom2
Copy link
Collaborator

@BeomBeom2 BeomBeom2 commented Mar 19, 2026

개요

#47


PR 유형

해당하는 항목에 체크해주세요.

  • Add — 리소스/코드/컴포넌트 추가 (기능 변화 없음)
  • Feat — 사용자에게 보이는 새로운 기능 추가
  • Fix — 버그 수정
  • Refactor — 기능 변경 없는 코드 구조 개선
  • Docs / Comment — 문서, 주석 수정
  • Test — 테스트 추가 또는 리팩토링
  • Build / Config — 빌드, 의존성, 설정 변경
  • File — 파일 / 폴더 구조 변경

변경 사항

  • iOS 커뮤니티 탭 상세 게시글 본문 하단 여백 제거
  • iOS identifier 수정

📸 화면 / 영상 (선택)

Before

After

image

Summary by CodeRabbit

릴리스 노트

  • 버그 수정

    • HTML 콘텐츠 렌더링 개선으로 뷰포트 설정 및 스타일링 최적화
    • 커뮤니티 게시물 상세 페이지의 시간 정보 표시 개선
  • 스타일

    • 웹 콘텐츠에 여백 및 테두리 스타일 추가

@BeomBeom2 BeomBeom2 added Fix 버그 수정 AI Review Request coderabbitai 리뷰 요청 labels Mar 19, 2026
@coderabbitai
Copy link

coderabbitai bot commented Mar 19, 2026

📝 Walkthrough

개요

이 변경 사항은 iOS 앱의 빌드 구성과 커뮤니티 기능의 HTML 본문 뷰 렌더링을 개선합니다. Config.xcconfig에서 TEAM_ID 종속성을 제거하고 번들 식별자를 고정 값으로 변경했습니다. Info.plist에서 CFBundleDisplayName 항목을 제거했습니다. Android 및 iOS의 HtmlBodyView를 업데이트하여 HTML에 뷰포트 메타 태그 및 CSS 스타일을 추가하고 WebView 초기 높이를 조정했습니다. 또한 CommunityDetailSuccessContent에서 timeAgo 필드의 null 처리 방식을 변경했습니다.

예상 코드 리뷰 노력

🎯 3 (Moderate) | ⏱️ ~30 분

관련 가능성 있는 이슈

🚥 Pre-merge checks | ✅ 2 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (2 passed)
Check name Status Explanation
Title check ✅ Passed PR 제목은 iOS 커뮤니티 탭의 상세 게시글 본문 하단 여백 제거라는 주요 변경사항을 명확하게 설명하고 있으며, 실제 변경 내용과 일치합니다.
Description check ✅ Passed PR 설명이 필수 템플릿 구조를 대부분 따르고 있으나, 개요 섹션에서 이슈 번호만 표기되어 있고 변경 사항에 대한 상세한 설명이 부족합니다.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch fix/#7-ios-community-post-detail
📝 Coding Plan
  • Generate coding plan for human review comments

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 and usage tips.

Copy link

@coderabbitai coderabbitai bot left a 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

🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@iosApp/Configuration/Config.xcconfig`:
- Line 4: The Debug build setting currently hardcodes a different bundle ID
which overrides Config.xcconfig; remove or update the hardcoded
"PRODUCT_BUNDLE_IDENTIFIER = com.kust.kustaurant" entry in the Debug
configuration so it no longer overrides the xcconfig, or change it to match the
xcconfig value "PRODUCT_BUNDLE_IDENTIFIER=kustaurant.Kustaurant" so Debug and
Release use the same App ID; locate the Debug build setting named
PRODUCT_BUNDLE_IDENTIFIER in the project.pbxproj and either delete that key for
Debug (to inherit Config.xcconfig) or set it to the same identifier as
Config.xcconfig.
- Line 4: The Release build is referencing DEVELOPMENT_TEAM = "${TEAM_ID}" in
project.pbxproj while Config.xcconfig does not define TEAM_ID (and
Secrets.xcconfig is missing), causing signing failures; update Config.xcconfig
to add a default TEAM_ID entry (e.g., TEAM_ID = 74MNVWDFHB) or otherwise define
TEAM_ID there so the variable resolves during Release archive, ensuring the
DEVELOPMENT_TEAM reference in project.pbxproj resolves on CI and new machines.

In
`@shared/feature/community/src/androidMain/kotlin/com/kus/feature/community/ui/detail/HtmlBodyView.android.kt`:
- Around line 5-6: Remove the debug green border and redundant top padding from
the Android body UI: in HtmlBodyView
(shared/feature/community/src/androidMain/kotlin/com/kus/feature/community/ui/detail/HtmlBodyView.android.kt)
find the Modifier chain that applies .border(1.dp, KusTheme.colors.c_43AB38) and
the .padding(top = 0.dp) call and delete them so the composable no longer always
shows the green border and no-op padding; keep any necessary padding values for
layout but remove the specific top=0.dp and the debug color border references.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Repository UI

Review profile: CHILL

Plan: Pro

Run ID: 97633456-3baa-464b-8367-8f36c24d4d9f

📥 Commits

Reviewing files that changed from the base of the PR and between 5fcb1d8 and 9588a5d.

📒 Files selected for processing (5)
  • iosApp/Configuration/Config.xcconfig
  • iosApp/iosApp/Info.plist
  • shared/feature/community/src/androidMain/kotlin/com/kus/feature/community/ui/detail/HtmlBodyView.android.kt
  • shared/feature/community/src/commonMain/kotlin/com/kus/feature/community/ui/detail/CommunityDetailSuccessContent.kt
  • shared/feature/community/src/iosMain/kotlin/com/kus/feature/community/ui/detail/HtmlBodyView.ios.kt
💤 Files with no reviewable changes (1)
  • iosApp/iosApp/Info.plist


PRODUCT_NAME=Kustaurant
PRODUCT_BUNDLE_IDENTIFIER=com.kus.kustaurant.Kustaurant$(TEAM_ID)
PRODUCT_BUNDLE_IDENTIFIER=kustaurant.Kustaurant
Copy link

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟠 Major

디버그 설정에서 번들 식별자가 덮어써져 설정이 일관되지 않습니다.

Line 4에서 PRODUCT_BUNDLE_IDENTIFIER를 변경했지만, iosApp/iosApp.xcodeproj/project.pbxproj의 Debug 설정(Line 491)에 PRODUCT_BUNDLE_IDENTIFIER = com.kust.kustaurant;가 하드코딩되어 있어 xcconfig 값이 적용되지 않습니다. 현재 상태면 Debug/Release 간 App ID가 달라질 수 있습니다.

수정 예시 (Debug 하드코딩 제거 또는 동일 값으로 통일)
-       PRODUCT_BUNDLE_IDENTIFIER = com.kust.kustaurant;
+       PRODUCT_BUNDLE_IDENTIFIER = kustaurant.Kustaurant;

또는 Debug에서 해당 키를 제거해 Config.xcconfig 값을 상속하도록 정리하는 방식도 가능합니다.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@iosApp/Configuration/Config.xcconfig` at line 4, The Debug build setting
currently hardcodes a different bundle ID which overrides Config.xcconfig;
remove or update the hardcoded "PRODUCT_BUNDLE_IDENTIFIER = com.kust.kustaurant"
entry in the Debug configuration so it no longer overrides the xcconfig, or
change it to match the xcconfig value
"PRODUCT_BUNDLE_IDENTIFIER=kustaurant.Kustaurant" so Debug and Release use the
same App ID; locate the Debug build setting named PRODUCT_BUNDLE_IDENTIFIER in
the project.pbxproj and either delete that key for Debug (to inherit
Config.xcconfig) or set it to the same identifier as Config.xcconfig.

⚠️ Potential issue | 🔴 Critical

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
set -euo pipefail

echo "== TEAM_ID 정의 위치 확인 =="
rg -n -C2 '^\s*TEAM_ID\s*=' --glob '*.xcconfig'

echo
echo "== DEVELOPMENT_TEAM/TEAM_ID 참조 확인 (pbxproj) =="
rg -n -C2 'DEVELOPMENT_TEAM|PRODUCT_BUNDLE_IDENTIFIER|\$\{TEAM_ID\}' iosApp/iosApp.xcodeproj/project.pbxproj

echo
echo "== Config.xcconfig/Secrets include 확인 =="
rg -n -C2 '#include|PRODUCT_BUNDLE_IDENTIFIER|TEAM_ID' iosApp/Configuration/Config.xcconfig

Repository: kustaurant/Android-CMP

Length of output: 88


🏁 Script executed:

#!/bin/bash

echo "=== 파일 존재 확인 ==="
ls -la iosApp/Configuration/ 2>/dev/null || echo "Configuration 디렉토리 찾을 수 없음"

echo
echo "=== Config.xcconfig 내용 ==="
if [ -f iosApp/Configuration/Config.xcconfig ]; then
  cat -n iosApp/Configuration/Config.xcconfig
else
  echo "파일을 찾을 수 없음"
fi

echo
echo "=== Secrets.xcconfig 존재 확인 ==="
if [ -f iosApp/Configuration/Secrets.xcconfig ]; then
  echo "존재함"
  cat -n iosApp/Configuration/Secrets.xcconfig
else
  echo "Secrets.xcconfig 파일 없음"
fi

echo
echo "=== 모든 xcconfig 파일 검색 ==="
find . -name "*.xcconfig" 2>/dev/null

echo
echo "=== project.pbxproj에서 DEVELOPMENT_TEAM, TEAM_ID 검색 ==="
if [ -f iosApp/iosApp.xcodeproj/project.pbxproj ]; then
  grep -n "DEVELOPMENT_TEAM\|TEAM_ID" iosApp/iosApp.xcodeproj/project.pbxproj | head -20
else
  echo "project.pbxproj를 찾을 수 없음"
fi

Repository: kustaurant/Android-CMP

Length of output: 780


🏁 Script executed:

#!/bin/bash

echo "=== project.pbxproj Line 440-480 범위 확인 ==="
sed -n '440,480p' iosApp/iosApp.xcodeproj/project.pbxproj

echo
echo "=== DEVELOPMENT_TEAM 모든 참조 확인 (전체 라인) ==="
grep -n "DEVELOPMENT_TEAM" iosApp/iosApp.xcodeproj/project.pbxproj

echo
echo "=== Build Settings에서 TEAM_ID 관련 설정 확인 ==="
grep -B5 -A5 'DEVELOPMENT_TEAM.*=' iosApp/iosApp.xcodeproj/project.pbxproj | head -50

Repository: kustaurant/Android-CMP

Length of output: 3165


Release 빌드에서 TEAM_ID 정의 누락으로 인한 서명 실패 위험

project.pbxproj의 Release 설정(라인 447)에서 DEVELOPMENT_TEAM = "${TEAM_ID}";로 변수를 참조하고 있으나, TEAM_ID가 정의되어 있지 않습니다.

  • Config.xcconfigSecrets.xcconfig 포함을 시도하지만 해당 파일이 존재하지 않음
  • Config.xcconfig에도 TEAM_ID 정의 없음
  • Debug 설정(라인 477)은 74MNVWDFHB로 하드코딩되어 있음

결과적으로 Secrets.xcconfig가 없는 CI 환경이나 신규 로컬에서는 Release 아카이브 서명이 실패합니다. Config.xcconfig에 기본 TEAM_ID 값을 정의하거나, Release 설정을 Debug처럼 하드코딩 값으로 수정해야 합니다.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@iosApp/Configuration/Config.xcconfig` at line 4, The Release build is
referencing DEVELOPMENT_TEAM = "${TEAM_ID}" in project.pbxproj while
Config.xcconfig does not define TEAM_ID (and Secrets.xcconfig is missing),
causing signing failures; update Config.xcconfig to add a default TEAM_ID entry
(e.g., TEAM_ID = 74MNVWDFHB) or otherwise define TEAM_ID there so the variable
resolves during Release archive, ensuring the DEVELOPMENT_TEAM reference in
project.pbxproj resolves on CI and new machines.

Comment on lines +5 to +6
import androidx.compose.foundation.border
import androidx.compose.foundation.layout.padding
Copy link

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟠 Major

디버그성 UI 장식(녹색 테두리)이 Android 본문 UI를 회귀시킬 수 있습니다.

Line 44의 .border(1.dp, KusTheme.colors.c_43AB38)는 본문 영역에 항상 테두리를 노출시켜 의도치 않은 UI 변경을 만듭니다. Line 43의 padding(top = 0.dp)도 동작상 의미가 없어 함께 정리하는 편이 안전합니다.

🔧 제안 수정
-import androidx.compose.foundation.border
-import androidx.compose.foundation.layout.padding
+ 
 import androidx.compose.runtime.Composable
 import androidx.compose.ui.Modifier
 import androidx.compose.ui.platform.LocalContext
-import androidx.compose.ui.unit.dp
 import androidx.compose.ui.viewinterop.AndroidView
-import com.kus.designsystem.theme.KusTheme
+ 
@@
     AndroidView(
         modifier = modifier
-            .padding(top = 0.dp)
-            .border(1.dp, KusTheme.colors.c_43AB38),
+            ,

Also applies to: 10-12, 42-44

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In
`@shared/feature/community/src/androidMain/kotlin/com/kus/feature/community/ui/detail/HtmlBodyView.android.kt`
around lines 5 - 6, Remove the debug green border and redundant top padding from
the Android body UI: in HtmlBodyView
(shared/feature/community/src/androidMain/kotlin/com/kus/feature/community/ui/detail/HtmlBodyView.android.kt)
find the Modifier chain that applies .border(1.dp, KusTheme.colors.c_43AB38) and
the .padding(top = 0.dp) call and delete them so the composable no longer always
shows the green border and no-op padding; keep any necessary padding values for
layout but remove the specific top=0.dp and the debug color border references.

@BeomBeom2 BeomBeom2 changed the title [Fix] iOS 커뮤니티 탭 상세 게시글 본문 하단 여백 제거 [Fix/#49] iOS 커뮤니티 탭 상세 게시글 본문 하단 여백 제거 Mar 19, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

AI Review Request coderabbitai 리뷰 요청 Fix 버그 수정

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant