fix(ui): replace internal jargon with action-guiding customer copy - #1472
fix(ui): replace internal jargon with action-guiding customer copy#1472seonghobae wants to merge 4 commits into
Conversation
|
Warning Review limit reachedNext included review available in 1 minute. View limit detailsLimit details: You’ve used the included review currently available. You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository. Review configuration: ⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (13)
📝 WalkthroughWalkthroughThe PR aligns frontend Korean UI copy and test expectations across source terminology, account scope, evidence, conflict checks, writeback, document repositories, tasks, settings, and tools. It does not change public entities, control flow, or data handling. ChangesFrontend terminology alignment
Estimated code review effort: 2 (Simple) | ~15 minutes Possibly related PRs
🚥 Pre-merge checks | ✅ 4✅ Passed checks (4 passed)
✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
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. Comment |
|
|
||
| function getKnowledgeTargetLabel(intent: KnowledgeMaterializationIntent) { | ||
| return intent.target_label || intent.source_id ? 'WebDAV/Notes 의도 준비' : '대상 원본 확인 필요'; | ||
| return intent.target_label || intent.source_id ? '내 문서 노트로 저장 준비 완료' : '저장 위치 확인 필요'; |
There was a problem hiding this comment.
📝 Info: Ternary precedence in label helper is intentional
In TasksLayout.tsx, intent.target_label || intent.source_id ? A : B parses as (target_label || source_id) ? A : B because || binds tighter than ?:. Behavior is correct; the PR only swapped the string literals.
Was this helpful? React with 👍 or 👎 to provide feedback.
|
PR governance metadata gate is not ready for
|
| export function getWriteBoundaryLabel( | ||
| providerWriteExecuted: boolean, | ||
| context: WriteBoundaryContext = 'inspection', | ||
| ) { | ||
| if (!providerWriteExecuted && context === 'local_action') return '외부 원본 변경 없음'; | ||
| return providerWriteExecuted ? '원본 반영 완료' : '점검만 완료'; |
There was a problem hiding this comment.
📝 Info: Shared write-boundary label semantics changed for all callers
getWriteBoundaryLabel now takes a context defaulting to inspection, so every caller's false-case label changes from '의도만 기록' to '점검만 완료', while the Data upload/import rows pass local_action to show '외부 원본 변경 없음'. All callsites and updated tests are consistent.
Was this helpful? React with 👍 or 👎 to provide feedback.
| status: semanticStatusToProjectStatus(candidate.status_code), | ||
| progress: semanticProgress(candidate), | ||
| category: 'Semantic KG 프로젝트', | ||
| evidence: 'project_graph', | ||
| evidence: hasParagraphEvidence(candidate) ? 'project_graph' : 'project_graph_pending', |
There was a problem hiding this comment.
📝 Info: project_graph_pending only changes displayed labels
buildSemanticProjects emits project_graph_pending for candidates without segment/citation evidence. That value only feeds the label helpers, falling through to '원본 근거' and '실행 항목 기준'. No rendering branch keys off the evidence value, so semantic sections still render from activeSemanticCandidate.
(Refers to this code)
Was this helpful? React with 👍 or 👎 to provide feedback.
| {documentActionStatus === 'success' && documentActionResult && ( | ||
| <span className="text-foreground"> | ||
| {toSafeReactText(documentActionResult.document_name)} · {toSafeReactText(documentActionResult.message)} · {getWriteBoundaryLabel(documentActionResult.provider_write_executed)} | ||
| {toSafeReactText(documentActionResult.document_name)} · {getDocumentActionResultCopy(lastDocumentAction)} · {getWriteBoundaryLabel(documentActionResult.provider_write_executed, 'local_action')} |
There was a problem hiding this comment.
📝 Info: Materialization copy pairs "requested" with "completed"
When materialization returns provider_write_executed=true, the shared status line shows '연결된 문서 저장소 반영을 요청했습니다.' (requested) next to '원본 반영 완료' (completed) via getWriteBoundaryLabel(..., 'local_action') (DocumentRepositoryTab.tsx). The two phrases read as mildly contradictory; the updated tests accept it.
Was this helpful? React with 👍 or 👎 to provide feedback.
No linked issue.
1) PR 제목 (Title)
fix(ui): replace internal jargon with action-guiding customer copy2) 목적 (Purpose)
제품 오너의 카피 규칙 2가지를 워크스페이스 프런트엔드 전역에 적용합니다.
3) 주요 변경 사항 (Key Changes)
4) 변경 범위 / 영향도 (Scope / Impacted Areas)
corepack pnpm@11.5.3 --dir frontend install --frozen-lockfile→ okcorepack pnpm@11.5.3 --dir frontend test --runInBand→ Test Files 51 passed, Tests 437 passedrole="status"·aria-live="polite"구조를 그대로 유지합니다. Phone 스크롤 힌트·모달 opacity 등 구조 요건에는 편차 없음. 시각 검증(스크린샷/E2E)은 이 PR 범위에서 수행하지 않았으며, 문자열 단위 회귀는 갱신된 9개 테스트 파일이 담당합니다.5) 변경 사항 표 (Change Table)
frontend/src/components/WorkspaceHome.tsxsource-linked/WebDAV 폴더diffText → 메일 연동/프로젝트 폴더, 충돌 토큰 라벨 → 변경 충돌 검사 상태frontend/src/app/tools/page.tsxfrontend/src/components/AIHubLayout.tsxfrontend/src/components/SearchLayout.tsxfrontend/src/components/ProjectsLayout.tsxfrontend/src/components/TasksLayout.tsxfrontend/src/components/SecurityLayout.tsxfrontend/src/components/SettingsLayout.tsxfrontend/src/components/calendar/CalendarWritebackSection.tsxfrontend/src/components/calendar/CalendarDetailView.tsx,frontend/src/components/calendar/CalendarCoordinationView.tsx,frontend/src/components/calendar/helpers.tsfrontend/src/components/data-layout/DocumentRepositoryTab.tsx,frontend/src/components/data-layout/QualityCheckTab.tsx,frontend/src/components/data-layout/utils.tsfrontend/src/app/{ai-hub,calendar,data,projects,search,security,tasks}/page.test.tsx,frontend/src/components/SettingsLayout.test.tsx,frontend/src/components/WorkspaceHome.dashboard.test.tsx(9 files)6) Sequence Diagram(s)
동작 흐름(렌더 조건·API 호출)은 변경되지 않았으며, 각 상태가 렌더링하는 문자열만 교체되었습니다. 참고로 교체된 고객 대면 상태 흐름은 아래와 같습니다.
sequenceDiagram participant C as 고객 participant S as 워크스페이스 화면 participant A as 백엔드 API C->>S: 화면 진입 S->>A: 데이터 조회 (기존 경로, 변경 없음) alt 로딩 S-->>C: 조회 중 안내 + 대기 안내 문구 else 빈 상태 S-->>C: "지금 표시할 항목이 없습니다" + 가장 가까운 행동 (예: 설정에서 계정 연결하기 / 새로고침) else 오류 S-->>C: 실패 사실 + 다음 행동 (잠시 후 다시 시도 / 다시 로그인) else 충돌 (일정 반영) S-->>C: 덮어쓰지 않았음을 알림 + "최신 내용 확인 후 다시 점검" 안내 else 성공 S-->>C: 반영 결과 요약 (기존 구조 유지) endSummary by CodeRabbit
UI Updates
Tests