Skip to content

feat(#221): 모바일 반응형 PR2 — 패널 1열 스택·칩 스트립·폼 (≤640px)#233

Merged
pdw96 merged 4 commits into
masterfrom
feat/issue221-mobile-responsive-pr2
Jul 13, 2026
Merged

feat(#221): 모바일 반응형 PR2 — 패널 1열 스택·칩 스트립·폼 (≤640px)#233
pdw96 merged 4 commits into
masterfrom
feat/issue221-mobile-responsive-pr2

Conversation

@pdw96

@pdw96 pdw96 commented Jul 13, 2026

Copy link
Copy Markdown
Owner

요약

#221 PR2/2 — 패널 3개(채팅·프로젝트·세션) + 폼 모바일 반응형. ≤640px 에서 .chat/.project-layout 232px 사이드바 그리드를 1열 스택(rows auto 1fr) 으로, 룸/프로젝트 목록을 가로 칩 스트립(C2 .modal-chips 선례)으로 전환. .grid-2 1열·.line-item 랩·위저드 이후 잔여 폼 정돈.

Closes #221 (PR1 = #232 머지 f46e785 — 셸/전역/위저드·폰 실측 7/7).

§6 무회귀: PR2 의 CSS diff 는 전부 신설 640px 블록 내부(미디어쿼리 밖 diff 0 — PR1 열거 예외조차 없음). 데스크톱 가드(641/1280)에 .chat/.project-layout 232px 칼럼 computed 핀을 확장해 기계 검증.

검증

  • PR1 test.fail() 케이스 강제 활성화(G1/G9 — RED 실발화 확인 후 GREEN 전환) + 신설 하드 계약:
    • G10(채팅): UI 로 방 3개+ 생성 → .rooms 오버플로 실존 선단언 → 실 가로 스크롤 → 마지막 칩 뷰포트내·클릭·활성 전이 + computed overflow-x:auto 이중화
    • G10b(프로젝트·Codex 계획 1R 확정 메커니즘): complete 러너 서버(별도 수명주기)에서 런 3회 UI 완주 → 스트립 도달성 계약. src/main/e2e.ts 시드·엔진 API 무변경
    • G8: 완주 요약에 긴 무공백 토큰 주입 후 .main 오버플로 0(주입 부재=throw)
    • G11/G12: goal 입력 가능·composer 뷰포트내
  • 자체 적대 리뷰 2렌즈: P1 1(G8 주입이 칩 클릭 후 .summary unmount 로 결정론적 vacuous → 순서 교정+무음 가드 제거) · P2 2(.chat 160px 상수 × safe-area 미정산 → max(0px, env-기본값) 차감 calc(env=0 데스크톱/에뮬 불변) / rows 무핀 → G9 결합 핀) · P3 6 반영
  • vitest 15/15 · 모바일 e2e 12/12 · 전체 e2e 28 passed/1 skipped(drain win32 관례) · coverage(비병렬) green — 로컬 병렬 spawn flake 는 기존 기록 패턴(권위 CI)
  • R5(재접속 배너 e2e)는 계획 강등 경로 채택: vitest 폭 캡 핀 + 라이브 실측 잔여 계약(단절 하니스 재사용 과중)

품질 게이트 (AGENTS.md — 변경 후 필수)

  • npm run verify green (skills:lint·brain:check·format:check·typecheck·lint·test:coverage·build — coverage 는 비병렬 green·CI 권위)
  • preload/IPC 변경 시 npm run dev 재시작 확인 (해당 없음)
  • 코어 코드 변경 시 npm run brain 갱신 (PR2 는 src tsx 무변경 — brain:check green)

리뷰

  • Codex 봇 자동리뷰 대기 · 반영 (라이브러리·API·SDK·CLI·모델 지적은 context7 로 현행 문서 교차검증)

비고

  • 라이브 폰 실측 ✅ 완료(2026-07-14) = 이슈 완료정의 충족 — 실 CF Access 터널·PR2 브랜치 빌드 재배포 후 실측. 기기: Galaxy Z Flip6 · Chrome 150 (Android — PR1 과 동일). 채팅 칩 스트립 스와이프·방 생성/전환·키보드 연 상태 메시지 입력·전송(composer 초기 가시 포함)·프로젝트 런 모니터·manual 역할 배정 1열 폼·세션 탭 폼/카드·재접속 배너 폭(R5 잔여 계약) — 이상 없음.
  • 알려진 한계(스펙 §4): 폰 랜드스케이프(>640px)·iOS 키보드 CSS-only 한계·.chat min-height 460px × 짧은 뷰포트(자체 리뷰 P3-1 — 계약 뷰포트 비발현)

Summary by CodeRabbit

  • 새로운 기능

    • 모바일 화면에서 채팅 및 프로젝트 영역이 1열 레이아웃으로 표시됩니다.
    • 룸과 프로젝트 항목을 가로로 스크롤하고 마지막 항목까지 선택할 수 있습니다.
    • 모바일 프로젝트 화면에서 목표 입력이 정상적으로 작동합니다.
    • 작은 화면에서 콘텐츠 겹침이 줄어들고 안전 영역을 고려해 화면 높이가 조정됩니다.
  • 버그 수정

    • 데스크톱 화면에서 기존 232px 사이드바 레이아웃이 유지됩니다.

pdw96 and others added 3 commits July 14, 2026 00:24
…2·R1 패널 확장·핀 4종

RED 4건(G1/G9 채팅·프로젝트, G10 채팅 스트립, G10b complete 러너 프로젝트 스트립) 실발화 확인.
R5 배너 e2e 는 계획 강등 경로 채택(핀+라이브 — 단절 하니스 재사용 과중).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01CkNHx6UJ5U24PUbpnQycFp
.chat/.project-layout → 1fr + rows auto 1fr(암묵 auto 행의 본문 높이 붕괴 방지). .rooms 가로
스트립(비버튼 자식 flex:0 0 auto — 방 생성 입력 min-width·room-btn width 해제+max-width 캡).
e2e 단언 2건은 스크롤 도달 계약으로 정정(scrollIntoViewIfNeeded — 폴드 아래/요약 스크롤 상태는
결함 아님). 모바일 e2e 12/12.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01CkNHx6UJ5U24PUbpnQycFp
…2)·핀/단언 이중화

게이트 렌즈 P1: G8 주입이 칩 클릭 후 실행돼 .summary unmount 로 결정론적 무음 skip →
주입·측정을 클릭 이전으로 이동 + 부재 throw. P2: grid-template-rows auto 1fr 무핀 갭 → G9 핀 결합.
캐스케이드 렌즈 P2: .chat 160px 상수가 폰 safe-area additive 와 미정산(실기기 composer 폴드
아래·env=0 e2e blind) → max(0px, env-기본값) 차감 calc(env=0 이면 현행 동일). P3: .rooms .field
width 140px 고정·overflowX computed 이중화·G10b 도달성 권위 주석·완주 대기 명시 timeout·
line-item 인라인 drift 주석.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01CkNHx6UJ5U24PUbpnQycFp
@coderabbitai

coderabbitai Bot commented Jul 13, 2026

Copy link
Copy Markdown

Review Change Stack

📝 Walkthrough

Walkthrough

모바일 채팅·프로젝트 패널을 1열 레이아웃과 가로 칩 스트립으로 변경하고, 안전 영역 높이와 폼 배치를 조정했다. CSS 회귀 테스트와 모바일·데스크톱 E2E 검증도 추가했다.

Changes

모바일 반응형 패널

Layer / File(s) Summary
모바일 패널 레이아웃 변경
src/renderer/styles.css
채팅·프로젝트 패널을 1열로 전환하고, .rooms를 가로 스크롤 스트립으로 변경했다. 안전 영역을 반영한 높이 계산, 단일 열 카드, 줄바꿈 규칙도 추가했다.
CSS 반응형 회귀 테스트
src/renderer/styles.responsive.test.ts
640px 이하에서 패널 그리드, 칩 스트립, 카드 열, .line-item 줄바꿈 속성을 검증한다.
모바일 및 데스크톱 E2E 검증
e2e/mobile-responsive.web.e2e.ts
모바일 방 칩 스트립, goal 입력, 프로젝트 complete 러너 흐름을 검증하고, 데스크톱에서 232px 사이드바 열이 유지되는지 확인한다.

Estimated code review effort: 3 (Moderate) | ~25 minutes

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Linked Issues check ⚠️ Warning 핵심 모바일 반응형은 반영됐지만, 이슈 #221의 전체 앱 범위(세션·설정·전역 레이아웃 등)는 아직 커버되지 않았습니다. 이 PR을 #221의 부분 작업으로 분리하거나, 세션·설정·전역 레이아웃 등 남은 모바일 반응형 범위를 추가해 전체 완료 기준을 충족하세요.
✅ Passed checks (4 passed)
Check name Status Explanation
Out of Scope Changes check ✅ Passed 추가된 CSS와 테스트는 모두 모바일 반응형 및 회귀 검증 범위에 맞아 보이며 별도 무관 변경은 보이지 않습니다.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed 제목이 ≤640px 모바일 반응형, 1열 스택, 칩 스트립, 폼 개선이라는 핵심 변경을 간결하게 잘 요약합니다.
✨ 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 feat/issue221-mobile-responsive-pr2

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.

@coderabbitai coderabbitai 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.

Actionable comments posted: 2

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@src/renderer/styles.css`:
- Around line 1322-1324: Update the height calc() declaration in the stylesheet
so each subtraction operator is followed by its operand on the same line,
avoiding a newline immediately after “-” and satisfying the
scss/operator-no-newline-after Stylelint rule.

In `@src/renderer/styles.responsive.test.ts`:
- Around line 153-170: Extend the responsive stylesheet regression tests in the
existing describe block to assert that shell includes the safe-area height
calculation from the core change, covering both top and bottom safe-area insets.
Use a regex against shell that verifies the env(safe-area-inset-top) and
env(safe-area-inset-bottom) subtraction expressions, preserving the RED→GREEN
contract without relying on Playwright’s runtime env values.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: 4f097955-2dfe-448b-bb92-592b26a52a98

📥 Commits

Reviewing files that changed from the base of the PR and between f46e785 and ae4fcd7.

📒 Files selected for processing (3)
  • e2e/mobile-responsive.web.e2e.ts
  • src/renderer/styles.css
  • src/renderer/styles.responsive.test.ts

Comment thread src/renderer/styles.css
Comment thread src/renderer/styles.responsive.test.ts
@pdw96

pdw96 commented Jul 13, 2026

Copy link
Copy Markdown
Owner Author

@codex review

@chatgpt-codex-connector

Copy link
Copy Markdown

Codex Review: Didn't find any major issues. Keep them coming!

Reviewed commit: 7b96d61b36

ℹ️ 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".

@pdw96
pdw96 merged commit ddad649 into master Jul 13, 2026
7 checks passed
@pdw96
pdw96 deleted the feat/issue221-mobile-responsive-pr2 branch July 13, 2026 16:29
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.

feat: 웹모드 렌더러 전체 모바일 반응형 (폰 최적화)

1 participant