You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
시안에 서로 다른 NEXT STEP 예시가 있지만 사용자 상태별 규칙과 목적지는 확정되지 않았다. 카테고리별 작성 현황을 FE가 추론하거나 구독/에디터 이동을 자연스러운 기본값으로 잡는 구현 예약을 제거한다.
PM 확인이 필요한 결정
노출 대상 상태, 동시 조건 우선순위·카드 수, 문구와 목적지, 완료 후 숨김 조건, 빈 목록·등록 한도·구독 유도 조건을 PM에게 확인한다. BE#270은 확정된 제품 규칙을 전달할 계약만 정한다. 기존 #1704의 독립 구조 수정은 보존한다.
완료 기준
PM의 명시적인 답변과 적용 범위·근거 링크를 기록한다. 답변 전에는 구현·재개·테스트 완료 체크리스트를 예약하지 않는다. 결정 후 최신 코드와 계약을 대조해 실제 필요한 작업만 정의한다. 디자이너에게 질문하거나 태그하지 않으며, 미답변이나 과거 FE 재량 위임을 승인으로 해석하지 않는다.
정리 근거
2026-09-13 사용자 요청에 따라 미확정 구현 예약을 제거했다. 기능 구현 완료를 의미하지 않는다. 기존 댓글의 실측은 참고 자료이며, 상충하는 옛 구현 지시는 현재 범위를 대체하지 않는다.
본문을 시안 실측으로 다시 썼습니다. 처음 열 때 시안 대조를 건너뛰고 코드만 보고 적은 것을 바로잡습니다.
바뀐 것 세 가지입니다.
시안 근거를 넣었습니다 — 4327:66535(목록 있음) · 4327:66762(목록 없음). 둘 다 바텀바에서 애프터노트 탭이 선택된 화면이고 NEXT STEP 섹션이 그려져 있습니다.
문구가 상태별로 다릅니다. 목록이 비었을 때는 「현재 플랜에서 보관 가능한 개수를 모두 사용하였습니다… 구독을 해주세요」입니다. 고정 문구가 아니라 사용자 상태에 따라 바뀌는 안내이고 한쪽은 구독 유도로 이어집니다 — 처음엔 이걸 몰라 「문구 하나를 어디서 가져올까」로만 적었습니다.
빈 목록 분기 문제를 추가했습니다. 시안은 빈 목록에서도 카드를 띄우는데, 현재 코드는 EmptyListBody 로 빠져 헤더 자체가 없습니다. 문구 원천을 만들어도 그 분기 때문에 빈 화면에서는 여전히 안 뜹니다.
changed the title [-]fix(afternote): 홈 NEXT STEP 카드가 표시된 적이 없다 — 문구를 만드는 원천이 서버·ViewModel 어디에도 없음 (#777 후속)[/-][+]홈 NEXT STEP 카드가 표시된 적이 없다 — 문구를 만드는 원천이 서버·ViewModel 어디에도 없음 (#777 후속)[/+]on Aug 28, 2026
4327:66777 「현재 플랜에서 보관 가능한 개수를 모두 사용하였습니다. / 더 많은 기록을 남기고 관리하려면 구독을 해주세요.」
카드는 두 시안 모두 ChevronRight(4327:66551 · 4327:66778)를 단 button 이라 전이가 있는 것이 전제입니다. 다만 목적지 자체는 시안에 그려져 있지 않습니다.
빈 목록 분기 문제도 현행 코드에 그대로 있습니다.AfternoteHomeScreen.kt 의 items.itemCount > 0 || selectedType != null 분기 아래 else -> EmptyListBody(modifier = bodyModifier) 로 빠지고, EmptyListBody 는 headerDescription · nextStep 을 아예 받지 않습니다. 시안 애프터노트_목록X 는 타이틀·설명·NEXT STEP 을 모두 띄우므로 이 분기는 여전히 손봐야 합니다 — 다만 아래 이유로 지금 고쳐도 띄울 내용이 없습니다.
즉 플랜·구독·보관 한도라는 개념이 서버에 존재하지 않습니다. 「목록 없음」 쪽 문구는 원천이 없는 정도가 아니라 도메인 자체가 없습니다.
「주거래 은행」 쪽도 마찬가지입니다. 본문 Note 에 「카테고리별 작성 현황으로 FE 가 만들 여지가 있다」고 적었으나, 실측해 보니 서버의 카테고리는 AfternoteCategoryType { SOCIAL, BUSINESS, GALLERY, PLAYLIST } 4종뿐이고 「주거래 은행」 같은 항목 단위 개념이 없습니다. 카테고리 4종만으로는 저 문장을 만들 수 없습니다.
한도 판정에 쓸 수치도 없습니다 — AfternotePageResponse 는 content · page · size · hasNext 뿐이라 총 개수조차 내려오지 않습니다.
전이 목적지도 막혀 있습니다. 구독 유도의 착지점인 #881(Google Play Billing 구매·복원 및 구독 화면 연결)이 아직 OPEN 입니다.
3. 그래서 지금 안 하는 것
추측으로 문구를 만들어 붙이지 않겠습니다. 붙일 수 있는 형태는 두 가지뿐인데 둘 다 틀립니다.
시안 문구를 고정 문자열로 하드코딩 — 앱 홈(feature/home)의 home_tab_next_step_body 가 실제로 이렇게 돼 있습니다. 그러나 이 카드는 상태에 따라 문구가 갈리는 것이 설계의 핵심이라, 한쪽을 고정하면 나머지 한 상태에서 거짓말을 합니다. 특히 「보관 가능한 개수를 모두 사용하였습니다」를 한도와 무관하게 띄우는 것은 사실과 다른 안내입니다.
표시 조건을 FE 가 지어내기 — 한도 수치가 서버에 없으므로 임계값을 FE 가 발명해야 합니다.
4. BE 에 필요한 것 (착수 조건)
이 카드를 켜려면 서버가 아래를 내려줘야 합니다. 문구를 FE 가 조립할지 서버가 완성해 내려줄지부터 갈립니다.
문구의 주인 결정 — 「어떤 상태에서 어떤 문장을 띄우는가」의 규칙이 서버에 있어야 합니다. 상태가 늘 때마다 앱 배포가 필요 없으려면 완성된 문구 + 전이 대상을 서버가 내려주는 편(nextStep: { text, actionType, targetId } | null)이 맞습니다.
플랜·보관 한도 도메인 — 구독 유도 문구의 전제입니다. 사용자별 플랜, 플랜별 보관 한도, 현재 사용량이 필요합니다. 현재 서버에 개념 자체가 없어 BE 선행 작업입니다.
총 개수 — 한도 대비 사용량 표시에 필요합니다. AfternotePageResponse 에 totalElements 가 없습니다.
Activity
OnlyReadOneBook commentedon Aug 25, 2026
본문을 시안 실측으로 다시 썼습니다. 처음 열 때 시안 대조를 건너뛰고 코드만 보고 적은 것을 바로잡습니다.
바뀐 것 세 가지입니다.
4327:66535(목록 있음) ·4327:66762(목록 없음). 둘 다 바텀바에서 애프터노트 탭이 선택된 화면이고NEXT STEP섹션이 그려져 있습니다.EmptyListBody로 빠져 헤더 자체가 없습니다. 문구 원천을 만들어도 그 분기 때문에 빈 화면에서는 여전히 안 뜹니다.[-]fix(afternote): 홈 NEXT STEP 카드가 표시된 적이 없다 — 문구를 만드는 원천이 서버·ViewModel 어디에도 없음 (#777 후속)[/-][+]홈 NEXT STEP 카드가 표시된 적이 없다 — 문구를 만드는 원천이 서버·ViewModel 어디에도 없음 (#777 후속)[/+]OnlyReadOneBook commentedon Aug 30, 2026
판정 — 시안은 살아 있고, 서버 원천이 없어 구현 불가다 (삭제도 아니다)
origin/developfc8f32cd5기준으로 재판정했습니다. 본문 기준 리비전(e1b307eb5+ PR #1172)에서 전제가 바뀐 것은 없습니다.1. 시안 — 살아 있다. 걷으면 안 된다
Figma MCP 로 두 노드를 직접 열어 확인했습니다. 둘 다
NEXT STEP섹션이 그대로 있습니다.4327:66535애프터노트 main_1안4327:66546NEXT STEP4327:66550「가족들의 '주거래 은행' 정보를 / 입력하신 건 확인하셨나요?」4327:66762애프터노트_목록X4327:66773NEXT STEP4327:66777「현재 플랜에서 보관 가능한 개수를 모두 사용하였습니다. / 더 많은 기록을 남기고 관리하려면 구독을 해주세요.」카드는 두 시안 모두
ChevronRight(4327:66551·4327:66778)를 단button이라 전이가 있는 것이 전제입니다. 다만 목적지 자체는 시안에 그려져 있지 않습니다.빈 목록 분기 문제도 현행 코드에 그대로 있습니다.
AfternoteHomeScreen.kt의items.itemCount > 0 || selectedType != null분기 아래else -> EmptyListBody(modifier = bodyModifier)로 빠지고,EmptyListBody는headerDescription·nextStep을 아예 받지 않습니다. 시안애프터노트_목록X는 타이틀·설명·NEXT STEP 을 모두 띄우므로 이 분기는 여전히 손봐야 합니다 — 다만 아래 이유로 지금 고쳐도 띄울 내용이 없습니다.2. BE 실코드 — 두 문구 어느 쪽도 원천이 없다
Afternote-BEorigin/main0a4b870전수 실측입니다 (OpenAPI 아님, 실코드 grep).nextStep·next_step·NEXT_STEP*.java*.kt*.sql*.yml전체)subscri·Membership·quota·storageLimit·maxCount·보관 가능·플랜구독·payment·billing·purchase·Iap·tier·Grade주거래·은행·bankchecklist·nextAction·recommend·progress·completionRate·todo즉 플랜·구독·보관 한도라는 개념이 서버에 존재하지 않습니다. 「목록 없음」 쪽 문구는 원천이 없는 정도가 아니라 도메인 자체가 없습니다.
「주거래 은행」 쪽도 마찬가지입니다. 본문 Note 에 「카테고리별 작성 현황으로 FE 가 만들 여지가 있다」고 적었으나, 실측해 보니 서버의 카테고리는
AfternoteCategoryType { SOCIAL, BUSINESS, GALLERY, PLAYLIST }4종뿐이고 「주거래 은행」 같은 항목 단위 개념이 없습니다. 카테고리 4종만으로는 저 문장을 만들 수 없습니다.한도 판정에 쓸 수치도 없습니다 —
AfternotePageResponse는content·page·size·hasNext뿐이라 총 개수조차 내려오지 않습니다.전이 목적지도 막혀 있습니다. 구독 유도의 착지점인 #881(Google Play Billing 구매·복원 및 구독 화면 연결)이 아직 OPEN 입니다.
3. 그래서 지금 안 하는 것
추측으로 문구를 만들어 붙이지 않겠습니다. 붙일 수 있는 형태는 두 가지뿐인데 둘 다 틀립니다.
feature/home)의home_tab_next_step_body가 실제로 이렇게 돼 있습니다. 그러나 이 카드는 상태에 따라 문구가 갈리는 것이 설계의 핵심이라, 한쪽을 고정하면 나머지 한 상태에서 거짓말을 합니다. 특히 「보관 가능한 개수를 모두 사용하였습니다」를 한도와 무관하게 띄우는 것은 사실과 다른 안내입니다.4. BE 에 필요한 것 (착수 조건)
이 카드를 켜려면 서버가 아래를 내려줘야 합니다. 문구를 FE 가 조립할지 서버가 완성해 내려줄지부터 갈립니다.
nextStep: { text, actionType, targetId } | null)이 맞습니다.AfternotePageResponse에totalElements가 없습니다.5. 조치
NextStep타입 ·HomeHeaderSection의nextStep != null분기 ·afternote_home_next_step_section_title은 살립니다. 시안이 살아 있으므로 죽은 코드가 아닙니다.EmptyListBody에 헤더가 없다)도 이 이슈에 남깁니다 — 카드 내용이 생겨야 의미가 있습니다.OnlyReadOneBook commentedon Aug 30, 2026
서버 계약 요구를 BE 큐에 올렸습니다 — Afternote/Afternote-BE#270 (Hwanggyuun · Feature · enhancement).
이 이슈의 코멘트만으로는 BE 담당자 큐에 잡히지 않아서, 실측 근거(nextStep·플랜 도메인·totalElements 전부 0건)와 시안 노드 두 개를 그대로 옮겨 BE 이슈로 뗐습니다. 이 이슈를 그 이슈에
blocked_by로 걸어 뒀습니다.FE 몫은 계약이 도착한 뒤입니다 — 카드는 시안에 살아 있으므로 걷지 않고 그대로 둡니다.
[-]홈 NEXT STEP 카드가 표시된 적이 없다 — 문구를 만드는 원천이 서버·ViewModel 어디에도 없음 (#777 후속)[/-][+]NEXT STEP 노출 조건·문구·목적지를 PM에게 확인한다[/+]OnlyReadOneBook commentedon Sep 18, 2026
PM 결정 대기 항목은 깃허브 이슈로 두지 않고 피그마 질문 한 자리에만 둔다(2026-09-18 결정). 이 이슈의 질문은 피그마 스레드에 걸려 있다: https://www.figma.com/design/UP9ZR186jHvRBicjA2SOea/?node-id=4327-99186#1932508536 답이 오면 그 답을 근거로 구현 이슈를 새로 만든다.