feat(web, server): 적용사항 대시보드 개선 - #14

Open
ggamnunq wants to merge 17 commits into
developfrom
feat/application-tabs
Open

feat(web, server): 적용사항 대시보드 개선#14
ggamnunq wants to merge 17 commits into
developfrom
feat/application-tabs

Conversation

@ggamnunq

@ggamnunqggamnunq commented Aug 15, 2026

Copy link
Copy Markdown
Contributor

작업내용

기존 적용사항 대시보드에서 새로운 화면으로 재구현 탭 기반으로 재구성
개요, 관계도, 원문맥락, 코드반영으로 나뉜다.

  • 코드 반영 탭 구현완료
  • 원문맥락 탭 화면 구현완료
  • 서버 구현헀지만 실제 동작 확인 필요

포함된 영역

  • FE
  • BE
  • AI
  • docs
  • infra
  • 직접 작성

예측 (작업 초기 PR 생성 시 작성)

  • 예상 소요: 10일
  • 막힐 것 같은 곳: 화면 구현
  • 전문 밖 영역 중 걱정되는 것: 내가 화면을 망칠까봐 두렵습니다

결과 (머지 전 작성)

  • 실제 소요:
  • 실제로 막힌 곳:
  • 배운 것:

리뷰 요청

x

메모

x

프론트에서 커밋 카드에 작성자와 변경 라인 수를 표시하려면 별도 조회 없이
바로 쓸 수 있는 필드가 필요해 RecommendedCommitDTO·ConnectedCommitDTO에
authorName/addedLines/deletedLines를 추가했다. mock.sql은 직접 연결
목록의 무한 스크롤(PAGE_SIZE=10) 검증을 위해 repository 1의 커밋을
10건에서 16건으로 늘렸다.
서버가 추천/연결 커밋에 작성자·라인 수를 직접 내려주므로 직접 연결
목록과 해시를 매칭해 값을 채우던 우회 로직을 제거했다. 연결 해제
실패 메시지도 연결 실패 메시지와 같은 스타일로 화면에 표시하고,
CommitCard의 삭제 라인 색상을 임의 팔레트 값 대신 다른 화면과 같은
시맨틱 토큰(--color-status-error)으로 통일했다.
@ggamnunqggamnunq self-assigned this Aug 15, 2026
@vercel

vercelBot commented Aug 15, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

ProjectDeploymentActionsUpdated (UTC)
whylogReadyReadyPreviewAug 21, 2026 8:30pm

@whylog-dev

whylog-dev commented Aug 15, 2026

Copy link
Copy Markdown
Contributor

WhyLog AI 리뷰

결과: ✅ 차단 항목 없음 · 모델: Google gemini-3.6-flash

적용사항 대시보드 탭 재구성 및 원문 맥락(context_items) 백엔드, AI, 프론트엔드 연동이 저장소 규칙에 맞게 차단 요소 없이 잘 구현되었습니다.

PR 리뷰 문서:docs/pr-reviews/PR-14.md 서명·부모 SHA·입력 digest 확인 · 이전 판단 유지

차단

없음

제안

없음

이 코멘트는 새 실행 때 갱신됩니다. 차단 항목은 사람이 타당성을 확인한 뒤 수정하세요.

@ggamnunqggamnunq changed the title feat(web, server): 적용사항 대시보드 개선 코드반영 탭 구현feat(web, server): 적용사항 대시보드 개선Aug 17, 2026
원문 맥락 화면에서 발화 하나하나마다 요약을 보여주려면 대표 3단계만
추리는 기존 timeline으로는 부족해서, 적용사항과 관련된 발화를 빠짐없이
담는 context_items를 추출 결과에 추가했다. member_id 보정 로직도
timeline과 context_items 양쪽에 공통 적용되도록 확장했다.
FastAPI가 내려주는 context_items(적용사항과 관련된 발화별 요약)를
저장할 decision_context/application_context 테이블을 decision_timeline과
같은 구조로 추가했다. 원문 맥락 API는 이제 이 테이블에서 조회하며
발화별 content(요약)를 함께 내려준다. 재분석 시 정리 누락으로 FK 위반이
나지 않도록 replaceApplications의 삭제 순서에도 반영했다.
서버가 원문 맥락 항목마다 content(발화 요약)를 내려주므로, 선택된
메시지의 제목과 관련 맥락 목록에서 이 요약을 우선 표시하고 없을 때만
기존 결정근거/원문으로 대체한다. 적용사항이 바뀌어 메시지 목록이
바뀌면 선택 인덱스를 리셋하고, 배열이 짧아지는 프레임에서도 클램핑해
빈 상태가 깜빡이지 않게 했다.
Sign up for freeto 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.

2 participants

@ggamnunq@whylog-dev
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all
 blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks");
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content

feat(web, server): 적용사항 대시보드 개선 - #14

Open
ggamnunq wants to merge 17 commits into
developfrom
feat/application-tabs
Open

feat(web, server): 적용사항 대시보드 개선#14
ggamnunq wants to merge 17 commits into
developfrom
feat/application-tabs

Conversation

@ggamnunq

@ggamnunqggamnunq commented Aug 15, 2026

Copy link
Copy Markdown
Contributor

작업내용

기존 적용사항 대시보드에서 새로운 화면으로 재구현 탭 기반으로 재구성
개요, 관계도, 원문맥락, 코드반영으로 나뉜다.

  • 코드 반영 탭 구현완료
  • 원문맥락 탭 화면 구현완료
  • 서버 구현헀지만 실제 동작 확인 필요

포함된 영역

  • FE
  • BE
  • AI
  • docs
  • infra
  • 직접 작성

예측 (작업 초기 PR 생성 시 작성)

  • 예상 소요: 10일
  • 막힐 것 같은 곳: 화면 구현
  • 전문 밖 영역 중 걱정되는 것: 내가 화면을 망칠까봐 두렵습니다

결과 (머지 전 작성)

  • 실제 소요:
  • 실제로 막힌 곳:
  • 배운 것:

리뷰 요청

x

메모

x

프론트에서 커밋 카드에 작성자와 변경 라인 수를 표시하려면 별도 조회 없이
바로 쓸 수 있는 필드가 필요해 RecommendedCommitDTO·ConnectedCommitDTO에
authorName/addedLines/deletedLines를 추가했다. mock.sql은 직접 연결
목록의 무한 스크롤(PAGE_SIZE=10) 검증을 위해 repository 1의 커밋을
10건에서 16건으로 늘렸다.
서버가 추천/연결 커밋에 작성자·라인 수를 직접 내려주므로 직접 연결
목록과 해시를 매칭해 값을 채우던 우회 로직을 제거했다. 연결 해제
실패 메시지도 연결 실패 메시지와 같은 스타일로 화면에 표시하고,
CommitCard의 삭제 라인 색상을 임의 팔레트 값 대신 다른 화면과 같은
시맨틱 토큰(--color-status-error)으로 통일했다.
@ggamnunqggamnunq self-assigned this Aug 15, 2026
@vercel

vercelBot commented Aug 15, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

ProjectDeploymentActionsUpdated (UTC)
whylogReadyReadyPreviewAug 21, 2026 8:30pm

@whylog-dev

whylog-dev commented Aug 15, 2026

Copy link
Copy Markdown
Contributor

WhyLog AI 리뷰

결과: ✅ 차단 항목 없음 · 모델: Google gemini-3.6-flash

적용사항 대시보드 탭 재구성 및 원문 맥락(context_items) 백엔드, AI, 프론트엔드 연동이 저장소 규칙에 맞게 차단 요소 없이 잘 구현되었습니다.

PR 리뷰 문서:docs/pr-reviews/PR-14.md 서명·부모 SHA·입력 digest 확인 · 이전 판단 유지

차단

없음

제안

없음

이 코멘트는 새 실행 때 갱신됩니다. 차단 항목은 사람이 타당성을 확인한 뒤 수정하세요.

@ggamnunqggamnunq changed the title feat(web, server): 적용사항 대시보드 개선 코드반영 탭 구현feat(web, server): 적용사항 대시보드 개선Aug 17, 2026
원문 맥락 화면에서 발화 하나하나마다 요약을 보여주려면 대표 3단계만
추리는 기존 timeline으로는 부족해서, 적용사항과 관련된 발화를 빠짐없이
담는 context_items를 추출 결과에 추가했다. member_id 보정 로직도
timeline과 context_items 양쪽에 공통 적용되도록 확장했다.
FastAPI가 내려주는 context_items(적용사항과 관련된 발화별 요약)를
저장할 decision_context/application_context 테이블을 decision_timeline과
같은 구조로 추가했다. 원문 맥락 API는 이제 이 테이블에서 조회하며
발화별 content(요약)를 함께 내려준다. 재분석 시 정리 누락으로 FK 위반이
나지 않도록 replaceApplications의 삭제 순서에도 반영했다.
서버가 원문 맥락 항목마다 content(발화 요약)를 내려주므로, 선택된
메시지의 제목과 관련 맥락 목록에서 이 요약을 우선 표시하고 없을 때만
기존 결정근거/원문으로 대체한다. 적용사항이 바뀌어 메시지 목록이
바뀌면 선택 인덱스를 리셋하고, 배열이 짧아지는 프레임에서도 클램핑해
빈 상태가 깜빡이지 않게 했다.
Sign up for freeto 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.

2 participants

@ggamnunq@whylog-dev
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

feat(web, server): 적용사항 대시보드 개선 - #14

Open
ggamnunq wants to merge 17 commits into
developfrom
feat/application-tabs
Open

feat(web, server): 적용사항 대시보드 개선#14
ggamnunq wants to merge 17 commits into
developfrom
feat/application-tabs

Conversation

@ggamnunq

@ggamnunqggamnunq commented Aug 15, 2026

Copy link
Copy Markdown
Contributor

작업내용

기존 적용사항 대시보드에서 새로운 화면으로 재구현 탭 기반으로 재구성
개요, 관계도, 원문맥락, 코드반영으로 나뉜다.

  • 코드 반영 탭 구현완료
  • 원문맥락 탭 화면 구현완료
  • 서버 구현헀지만 실제 동작 확인 필요

포함된 영역

  • FE
  • BE
  • AI
  • docs
  • infra
  • 직접 작성

예측 (작업 초기 PR 생성 시 작성)

  • 예상 소요: 10일
  • 막힐 것 같은 곳: 화면 구현
  • 전문 밖 영역 중 걱정되는 것: 내가 화면을 망칠까봐 두렵습니다

결과 (머지 전 작성)

  • 실제 소요:
  • 실제로 막힌 곳:
  • 배운 것:

리뷰 요청

x

메모

x

프론트에서 커밋 카드에 작성자와 변경 라인 수를 표시하려면 별도 조회 없이
바로 쓸 수 있는 필드가 필요해 RecommendedCommitDTO·ConnectedCommitDTO에
authorName/addedLines/deletedLines를 추가했다. mock.sql은 직접 연결
목록의 무한 스크롤(PAGE_SIZE=10) 검증을 위해 repository 1의 커밋을
10건에서 16건으로 늘렸다.
서버가 추천/연결 커밋에 작성자·라인 수를 직접 내려주므로 직접 연결
목록과 해시를 매칭해 값을 채우던 우회 로직을 제거했다. 연결 해제
실패 메시지도 연결 실패 메시지와 같은 스타일로 화면에 표시하고,
CommitCard의 삭제 라인 색상을 임의 팔레트 값 대신 다른 화면과 같은
시맨틱 토큰(--color-status-error)으로 통일했다.
@ggamnunqggamnunq self-assigned this Aug 15, 2026
@vercel

vercelBot commented Aug 15, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

ProjectDeploymentActionsUpdated (UTC)
whylogReadyReadyPreviewAug 21, 2026 8:30pm

@whylog-dev

whylog-dev commented Aug 15, 2026

Copy link
Copy Markdown
Contributor

WhyLog AI 리뷰

결과: ✅ 차단 항목 없음 · 모델: Google gemini-3.6-flash

적용사항 대시보드 탭 재구성 및 원문 맥락(context_items) 백엔드, AI, 프론트엔드 연동이 저장소 규칙에 맞게 차단 요소 없이 잘 구현되었습니다.

PR 리뷰 문서:docs/pr-reviews/PR-14.md 서명·부모 SHA·입력 digest 확인 · 이전 판단 유지

차단

없음

제안

없음

이 코멘트는 새 실행 때 갱신됩니다. 차단 항목은 사람이 타당성을 확인한 뒤 수정하세요.

@ggamnunqggamnunq changed the title feat(web, server): 적용사항 대시보드 개선 코드반영 탭 구현feat(web, server): 적용사항 대시보드 개선Aug 17, 2026
원문 맥락 화면에서 발화 하나하나마다 요약을 보여주려면 대표 3단계만
추리는 기존 timeline으로는 부족해서, 적용사항과 관련된 발화를 빠짐없이
담는 context_items를 추출 결과에 추가했다. member_id 보정 로직도
timeline과 context_items 양쪽에 공통 적용되도록 확장했다.
FastAPI가 내려주는 context_items(적용사항과 관련된 발화별 요약)를
저장할 decision_context/application_context 테이블을 decision_timeline과
같은 구조로 추가했다. 원문 맥락 API는 이제 이 테이블에서 조회하며
발화별 content(요약)를 함께 내려준다. 재분석 시 정리 누락으로 FK 위반이
나지 않도록 replaceApplications의 삭제 순서에도 반영했다.
서버가 원문 맥락 항목마다 content(발화 요약)를 내려주므로, 선택된
메시지의 제목과 관련 맥락 목록에서 이 요약을 우선 표시하고 없을 때만
기존 결정근거/원문으로 대체한다. 적용사항이 바뀌어 메시지 목록이
바뀌면 선택 인덱스를 리셋하고, 배열이 짧아지는 프레임에서도 클램핑해
빈 상태가 깜빡이지 않게 했다.
Sign up for freeto 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.

2 participants

@ggamnunq@whylog-dev
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length > 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

feat(web, server): 적용사항 대시보드 개선 - #14

Open
ggamnunq wants to merge 17 commits into
developfrom
feat/application-tabs
Open

feat(web, server): 적용사항 대시보드 개선#14
ggamnunq wants to merge 17 commits into
developfrom
feat/application-tabs

Conversation

@ggamnunq

@ggamnunqggamnunq commented Aug 15, 2026

Copy link
Copy Markdown
Contributor

작업내용

기존 적용사항 대시보드에서 새로운 화면으로 재구현 탭 기반으로 재구성
개요, 관계도, 원문맥락, 코드반영으로 나뉜다.

  • 코드 반영 탭 구현완료
  • 원문맥락 탭 화면 구현완료
  • 서버 구현헀지만 실제 동작 확인 필요

포함된 영역

  • FE
  • BE
  • AI
  • docs
  • infra
  • 직접 작성

예측 (작업 초기 PR 생성 시 작성)

  • 예상 소요: 10일
  • 막힐 것 같은 곳: 화면 구현
  • 전문 밖 영역 중 걱정되는 것: 내가 화면을 망칠까봐 두렵습니다

결과 (머지 전 작성)

  • 실제 소요:
  • 실제로 막힌 곳:
  • 배운 것:

리뷰 요청

x

메모

x

프론트에서 커밋 카드에 작성자와 변경 라인 수를 표시하려면 별도 조회 없이
바로 쓸 수 있는 필드가 필요해 RecommendedCommitDTO·ConnectedCommitDTO에
authorName/addedLines/deletedLines를 추가했다. mock.sql은 직접 연결
목록의 무한 스크롤(PAGE_SIZE=10) 검증을 위해 repository 1의 커밋을
10건에서 16건으로 늘렸다.
서버가 추천/연결 커밋에 작성자·라인 수를 직접 내려주므로 직접 연결
목록과 해시를 매칭해 값을 채우던 우회 로직을 제거했다. 연결 해제
실패 메시지도 연결 실패 메시지와 같은 스타일로 화면에 표시하고,
CommitCard의 삭제 라인 색상을 임의 팔레트 값 대신 다른 화면과 같은
시맨틱 토큰(--color-status-error)으로 통일했다.
@ggamnunqggamnunq self-assigned this Aug 15, 2026
@vercel

vercelBot commented Aug 15, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

ProjectDeploymentActionsUpdated (UTC)
whylogReadyReadyPreviewAug 21, 2026 8:30pm

@whylog-dev

whylog-dev commented Aug 15, 2026

Copy link
Copy Markdown
Contributor

WhyLog AI 리뷰

결과: ✅ 차단 항목 없음 · 모델: Google gemini-3.6-flash

적용사항 대시보드 탭 재구성 및 원문 맥락(context_items) 백엔드, AI, 프론트엔드 연동이 저장소 규칙에 맞게 차단 요소 없이 잘 구현되었습니다.

PR 리뷰 문서:docs/pr-reviews/PR-14.md 서명·부모 SHA·입력 digest 확인 · 이전 판단 유지

차단

없음

제안

없음

이 코멘트는 새 실행 때 갱신됩니다. 차단 항목은 사람이 타당성을 확인한 뒤 수정하세요.

@ggamnunqggamnunq changed the title feat(web, server): 적용사항 대시보드 개선 코드반영 탭 구현feat(web, server): 적용사항 대시보드 개선Aug 17, 2026
원문 맥락 화면에서 발화 하나하나마다 요약을 보여주려면 대표 3단계만
추리는 기존 timeline으로는 부족해서, 적용사항과 관련된 발화를 빠짐없이
담는 context_items를 추출 결과에 추가했다. member_id 보정 로직도
timeline과 context_items 양쪽에 공통 적용되도록 확장했다.
FastAPI가 내려주는 context_items(적용사항과 관련된 발화별 요약)를
저장할 decision_context/application_context 테이블을 decision_timeline과
같은 구조로 추가했다. 원문 맥락 API는 이제 이 테이블에서 조회하며
발화별 content(요약)를 함께 내려준다. 재분석 시 정리 누락으로 FK 위반이
나지 않도록 replaceApplications의 삭제 순서에도 반영했다.
서버가 원문 맥락 항목마다 content(발화 요약)를 내려주므로, 선택된
메시지의 제목과 관련 맥락 목록에서 이 요약을 우선 표시하고 없을 때만
기존 결정근거/원문으로 대체한다. 적용사항이 바뀌어 메시지 목록이
바뀌면 선택 인덱스를 리셋하고, 배열이 짧아지는 프레임에서도 클램핑해
빈 상태가 깜빡이지 않게 했다.
Sign up for freeto 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.

2 participants

@ggamnunq@whylog-dev
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content

feat(web, server): 적용사항 대시보드 개선 - #14

Open
ggamnunq wants to merge 17 commits into
developfrom
feat/application-tabs
Open

feat(web, server): 적용사항 대시보드 개선#14
ggamnunq wants to merge 17 commits into
developfrom
feat/application-tabs

Conversation

@ggamnunq

@ggamnunqggamnunq commented Aug 15, 2026

Copy link
Copy Markdown
Contributor

작업내용

기존 적용사항 대시보드에서 새로운 화면으로 재구현 탭 기반으로 재구성
개요, 관계도, 원문맥락, 코드반영으로 나뉜다.

  • 코드 반영 탭 구현완료
  • 원문맥락 탭 화면 구현완료
  • 서버 구현헀지만 실제 동작 확인 필요

포함된 영역

  • FE
  • BE
  • AI
  • docs
  • infra
  • 직접 작성

예측 (작업 초기 PR 생성 시 작성)

  • 예상 소요: 10일
  • 막힐 것 같은 곳: 화면 구현
  • 전문 밖 영역 중 걱정되는 것: 내가 화면을 망칠까봐 두렵습니다

결과 (머지 전 작성)

  • 실제 소요:
  • 실제로 막힌 곳:
  • 배운 것:

리뷰 요청

x

메모

x

프론트에서 커밋 카드에 작성자와 변경 라인 수를 표시하려면 별도 조회 없이
바로 쓸 수 있는 필드가 필요해 RecommendedCommitDTO·ConnectedCommitDTO에
authorName/addedLines/deletedLines를 추가했다. mock.sql은 직접 연결
목록의 무한 스크롤(PAGE_SIZE=10) 검증을 위해 repository 1의 커밋을
10건에서 16건으로 늘렸다.
서버가 추천/연결 커밋에 작성자·라인 수를 직접 내려주므로 직접 연결
목록과 해시를 매칭해 값을 채우던 우회 로직을 제거했다. 연결 해제
실패 메시지도 연결 실패 메시지와 같은 스타일로 화면에 표시하고,
CommitCard의 삭제 라인 색상을 임의 팔레트 값 대신 다른 화면과 같은
시맨틱 토큰(--color-status-error)으로 통일했다.
@ggamnunqggamnunq self-assigned this Aug 15, 2026
@vercel

vercelBot commented Aug 15, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

ProjectDeploymentActionsUpdated (UTC)
whylogReadyReadyPreviewAug 21, 2026 8:30pm

@whylog-dev

whylog-dev commented Aug 15, 2026

Copy link
Copy Markdown
Contributor

WhyLog AI 리뷰

결과: ✅ 차단 항목 없음 · 모델: Google gemini-3.6-flash

적용사항 대시보드 탭 재구성 및 원문 맥락(context_items) 백엔드, AI, 프론트엔드 연동이 저장소 규칙에 맞게 차단 요소 없이 잘 구현되었습니다.

PR 리뷰 문서:docs/pr-reviews/PR-14.md 서명·부모 SHA·입력 digest 확인 · 이전 판단 유지

차단

없음

제안

없음

이 코멘트는 새 실행 때 갱신됩니다. 차단 항목은 사람이 타당성을 확인한 뒤 수정하세요.

@ggamnunqggamnunq changed the title feat(web, server): 적용사항 대시보드 개선 코드반영 탭 구현feat(web, server): 적용사항 대시보드 개선Aug 17, 2026
원문 맥락 화면에서 발화 하나하나마다 요약을 보여주려면 대표 3단계만
추리는 기존 timeline으로는 부족해서, 적용사항과 관련된 발화를 빠짐없이
담는 context_items를 추출 결과에 추가했다. member_id 보정 로직도
timeline과 context_items 양쪽에 공통 적용되도록 확장했다.
FastAPI가 내려주는 context_items(적용사항과 관련된 발화별 요약)를
저장할 decision_context/application_context 테이블을 decision_timeline과
같은 구조로 추가했다. 원문 맥락 API는 이제 이 테이블에서 조회하며
발화별 content(요약)를 함께 내려준다. 재분석 시 정리 누락으로 FK 위반이
나지 않도록 replaceApplications의 삭제 순서에도 반영했다.
서버가 원문 맥락 항목마다 content(발화 요약)를 내려주므로, 선택된
메시지의 제목과 관련 맥락 목록에서 이 요약을 우선 표시하고 없을 때만
기존 결정근거/원문으로 대체한다. 적용사항이 바뀌어 메시지 목록이
바뀌면 선택 인덱스를 리셋하고, 배열이 짧아지는 프레임에서도 클램핑해
빈 상태가 깜빡이지 않게 했다.
Sign up for freeto 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.

2 participants

@ggamnunq@whylog-dev
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

feat(web, server): 적용사항 대시보드 개선 - #14

Open
ggamnunq wants to merge 17 commits into
developfrom
feat/application-tabs
Open

feat(web, server): 적용사항 대시보드 개선#14
ggamnunq wants to merge 17 commits into
developfrom
feat/application-tabs

Conversation

@ggamnunq

@ggamnunqggamnunq commented Aug 15, 2026

Copy link
Copy Markdown
Contributor

작업내용

기존 적용사항 대시보드에서 새로운 화면으로 재구현 탭 기반으로 재구성
개요, 관계도, 원문맥락, 코드반영으로 나뉜다.

  • 코드 반영 탭 구현완료
  • 원문맥락 탭 화면 구현완료
  • 서버 구현헀지만 실제 동작 확인 필요

포함된 영역

  • FE
  • BE
  • AI
  • docs
  • infra
  • 직접 작성

예측 (작업 초기 PR 생성 시 작성)

  • 예상 소요: 10일
  • 막힐 것 같은 곳: 화면 구현
  • 전문 밖 영역 중 걱정되는 것: 내가 화면을 망칠까봐 두렵습니다

결과 (머지 전 작성)

  • 실제 소요:
  • 실제로 막힌 곳:
  • 배운 것:

리뷰 요청

x

메모

x

프론트에서 커밋 카드에 작성자와 변경 라인 수를 표시하려면 별도 조회 없이
바로 쓸 수 있는 필드가 필요해 RecommendedCommitDTO·ConnectedCommitDTO에
authorName/addedLines/deletedLines를 추가했다. mock.sql은 직접 연결
목록의 무한 스크롤(PAGE_SIZE=10) 검증을 위해 repository 1의 커밋을
10건에서 16건으로 늘렸다.
서버가 추천/연결 커밋에 작성자·라인 수를 직접 내려주므로 직접 연결
목록과 해시를 매칭해 값을 채우던 우회 로직을 제거했다. 연결 해제
실패 메시지도 연결 실패 메시지와 같은 스타일로 화면에 표시하고,
CommitCard의 삭제 라인 색상을 임의 팔레트 값 대신 다른 화면과 같은
시맨틱 토큰(--color-status-error)으로 통일했다.
@ggamnunqggamnunq self-assigned this Aug 15, 2026
@vercel

vercelBot commented Aug 15, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

ProjectDeploymentActionsUpdated (UTC)
whylogReadyReadyPreviewAug 21, 2026 8:30pm

@whylog-dev

whylog-dev commented Aug 15, 2026

Copy link
Copy Markdown
Contributor

WhyLog AI 리뷰

결과: ✅ 차단 항목 없음 · 모델: Google gemini-3.6-flash

적용사항 대시보드 탭 재구성 및 원문 맥락(context_items) 백엔드, AI, 프론트엔드 연동이 저장소 규칙에 맞게 차단 요소 없이 잘 구현되었습니다.

PR 리뷰 문서:docs/pr-reviews/PR-14.md 서명·부모 SHA·입력 digest 확인 · 이전 판단 유지

차단

없음

제안

없음

이 코멘트는 새 실행 때 갱신됩니다. 차단 항목은 사람이 타당성을 확인한 뒤 수정하세요.

@ggamnunqggamnunq changed the title feat(web, server): 적용사항 대시보드 개선 코드반영 탭 구현feat(web, server): 적용사항 대시보드 개선Aug 17, 2026
원문 맥락 화면에서 발화 하나하나마다 요약을 보여주려면 대표 3단계만
추리는 기존 timeline으로는 부족해서, 적용사항과 관련된 발화를 빠짐없이
담는 context_items를 추출 결과에 추가했다. member_id 보정 로직도
timeline과 context_items 양쪽에 공통 적용되도록 확장했다.
FastAPI가 내려주는 context_items(적용사항과 관련된 발화별 요약)를
저장할 decision_context/application_context 테이블을 decision_timeline과
같은 구조로 추가했다. 원문 맥락 API는 이제 이 테이블에서 조회하며
발화별 content(요약)를 함께 내려준다. 재분석 시 정리 누락으로 FK 위반이
나지 않도록 replaceApplications의 삭제 순서에도 반영했다.
서버가 원문 맥락 항목마다 content(발화 요약)를 내려주므로, 선택된
메시지의 제목과 관련 맥락 목록에서 이 요약을 우선 표시하고 없을 때만
기존 결정근거/원문으로 대체한다. 적용사항이 바뀌어 메시지 목록이
바뀌면 선택 인덱스를 리셋하고, 배열이 짧아지는 프레임에서도 클램핑해
빈 상태가 깜빡이지 않게 했다.
Sign up for freeto 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.

2 participants

@ggamnunq@whylog-dev
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

feat(web, server): 적용사항 대시보드 개선 - #14

Open
ggamnunq wants to merge 17 commits into
developfrom
feat/application-tabs
Open

feat(web, server): 적용사항 대시보드 개선#14
ggamnunq wants to merge 17 commits into
developfrom
feat/application-tabs

Conversation

@ggamnunq

@ggamnunqggamnunq commented Aug 15, 2026

Copy link
Copy Markdown
Contributor

작업내용

기존 적용사항 대시보드에서 새로운 화면으로 재구현 탭 기반으로 재구성
개요, 관계도, 원문맥락, 코드반영으로 나뉜다.

  • 코드 반영 탭 구현완료
  • 원문맥락 탭 화면 구현완료
  • 서버 구현헀지만 실제 동작 확인 필요

포함된 영역

  • FE
  • BE
  • AI
  • docs
  • infra
  • 직접 작성

예측 (작업 초기 PR 생성 시 작성)

  • 예상 소요: 10일
  • 막힐 것 같은 곳: 화면 구현
  • 전문 밖 영역 중 걱정되는 것: 내가 화면을 망칠까봐 두렵습니다

결과 (머지 전 작성)

  • 실제 소요:
  • 실제로 막힌 곳:
  • 배운 것:

리뷰 요청

x

메모

x

프론트에서 커밋 카드에 작성자와 변경 라인 수를 표시하려면 별도 조회 없이
바로 쓸 수 있는 필드가 필요해 RecommendedCommitDTO·ConnectedCommitDTO에
authorName/addedLines/deletedLines를 추가했다. mock.sql은 직접 연결
목록의 무한 스크롤(PAGE_SIZE=10) 검증을 위해 repository 1의 커밋을
10건에서 16건으로 늘렸다.
서버가 추천/연결 커밋에 작성자·라인 수를 직접 내려주므로 직접 연결
목록과 해시를 매칭해 값을 채우던 우회 로직을 제거했다. 연결 해제
실패 메시지도 연결 실패 메시지와 같은 스타일로 화면에 표시하고,
CommitCard의 삭제 라인 색상을 임의 팔레트 값 대신 다른 화면과 같은
시맨틱 토큰(--color-status-error)으로 통일했다.
@ggamnunqggamnunq self-assigned this Aug 15, 2026
@vercel

vercelBot commented Aug 15, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

ProjectDeploymentActionsUpdated (UTC)
whylogReadyReadyPreviewAug 21, 2026 8:30pm

@whylog-dev

whylog-dev commented Aug 15, 2026

Copy link
Copy Markdown
Contributor

WhyLog AI 리뷰

결과: ✅ 차단 항목 없음 · 모델: Google gemini-3.6-flash

적용사항 대시보드 탭 재구성 및 원문 맥락(context_items) 백엔드, AI, 프론트엔드 연동이 저장소 규칙에 맞게 차단 요소 없이 잘 구현되었습니다.

PR 리뷰 문서:docs/pr-reviews/PR-14.md 서명·부모 SHA·입력 digest 확인 · 이전 판단 유지

차단

없음

제안

없음

이 코멘트는 새 실행 때 갱신됩니다. 차단 항목은 사람이 타당성을 확인한 뒤 수정하세요.

@ggamnunqggamnunq changed the title feat(web, server): 적용사항 대시보드 개선 코드반영 탭 구현feat(web, server): 적용사항 대시보드 개선Aug 17, 2026
원문 맥락 화면에서 발화 하나하나마다 요약을 보여주려면 대표 3단계만
추리는 기존 timeline으로는 부족해서, 적용사항과 관련된 발화를 빠짐없이
담는 context_items를 추출 결과에 추가했다. member_id 보정 로직도
timeline과 context_items 양쪽에 공통 적용되도록 확장했다.
FastAPI가 내려주는 context_items(적용사항과 관련된 발화별 요약)를
저장할 decision_context/application_context 테이블을 decision_timeline과
같은 구조로 추가했다. 원문 맥락 API는 이제 이 테이블에서 조회하며
발화별 content(요약)를 함께 내려준다. 재분석 시 정리 누락으로 FK 위반이
나지 않도록 replaceApplications의 삭제 순서에도 반영했다.
서버가 원문 맥락 항목마다 content(발화 요약)를 내려주므로, 선택된
메시지의 제목과 관련 맥락 목록에서 이 요약을 우선 표시하고 없을 때만
기존 결정근거/원문으로 대체한다. 적용사항이 바뀌어 메시지 목록이
바뀌면 선택 인덱스를 리셋하고, 배열이 짧아지는 프레임에서도 클램핑해
빈 상태가 깜빡이지 않게 했다.
Sign up for freeto 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.

2 participants

@ggamnunq@whylog-dev
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content

feat(web, server): 적용사항 대시보드 개선 - #14

Open
ggamnunq wants to merge 17 commits into
developfrom
feat/application-tabs
Open

feat(web, server): 적용사항 대시보드 개선#14
ggamnunq wants to merge 17 commits into
developfrom
feat/application-tabs

Conversation

@ggamnunq

@ggamnunqggamnunq commented Aug 15, 2026

Copy link
Copy Markdown
Contributor

작업내용

기존 적용사항 대시보드에서 새로운 화면으로 재구현 탭 기반으로 재구성
개요, 관계도, 원문맥락, 코드반영으로 나뉜다.

  • 코드 반영 탭 구현완료
  • 원문맥락 탭 화면 구현완료
  • 서버 구현헀지만 실제 동작 확인 필요

포함된 영역

  • FE
  • BE
  • AI
  • docs
  • infra
  • 직접 작성

예측 (작업 초기 PR 생성 시 작성)

  • 예상 소요: 10일
  • 막힐 것 같은 곳: 화면 구현
  • 전문 밖 영역 중 걱정되는 것: 내가 화면을 망칠까봐 두렵습니다

결과 (머지 전 작성)

  • 실제 소요:
  • 실제로 막힌 곳:
  • 배운 것:

리뷰 요청

x

메모

x

프론트에서 커밋 카드에 작성자와 변경 라인 수를 표시하려면 별도 조회 없이
바로 쓸 수 있는 필드가 필요해 RecommendedCommitDTO·ConnectedCommitDTO에
authorName/addedLines/deletedLines를 추가했다. mock.sql은 직접 연결
목록의 무한 스크롤(PAGE_SIZE=10) 검증을 위해 repository 1의 커밋을
10건에서 16건으로 늘렸다.
서버가 추천/연결 커밋에 작성자·라인 수를 직접 내려주므로 직접 연결
목록과 해시를 매칭해 값을 채우던 우회 로직을 제거했다. 연결 해제
실패 메시지도 연결 실패 메시지와 같은 스타일로 화면에 표시하고,
CommitCard의 삭제 라인 색상을 임의 팔레트 값 대신 다른 화면과 같은
시맨틱 토큰(--color-status-error)으로 통일했다.
@ggamnunqggamnunq self-assigned this Aug 15, 2026
@vercel

vercelBot commented Aug 15, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

ProjectDeploymentActionsUpdated (UTC)
whylogReadyReadyPreviewAug 21, 2026 8:30pm

@whylog-dev

whylog-dev commented Aug 15, 2026

Copy link
Copy Markdown
Contributor

WhyLog AI 리뷰

결과: ✅ 차단 항목 없음 · 모델: Google gemini-3.6-flash

적용사항 대시보드 탭 재구성 및 원문 맥락(context_items) 백엔드, AI, 프론트엔드 연동이 저장소 규칙에 맞게 차단 요소 없이 잘 구현되었습니다.

PR 리뷰 문서:docs/pr-reviews/PR-14.md 서명·부모 SHA·입력 digest 확인 · 이전 판단 유지

차단

없음

제안

없음

이 코멘트는 새 실행 때 갱신됩니다. 차단 항목은 사람이 타당성을 확인한 뒤 수정하세요.

@ggamnunqggamnunq changed the title feat(web, server): 적용사항 대시보드 개선 코드반영 탭 구현feat(web, server): 적용사항 대시보드 개선Aug 17, 2026
원문 맥락 화면에서 발화 하나하나마다 요약을 보여주려면 대표 3단계만
추리는 기존 timeline으로는 부족해서, 적용사항과 관련된 발화를 빠짐없이
담는 context_items를 추출 결과에 추가했다. member_id 보정 로직도
timeline과 context_items 양쪽에 공통 적용되도록 확장했다.
FastAPI가 내려주는 context_items(적용사항과 관련된 발화별 요약)를
저장할 decision_context/application_context 테이블을 decision_timeline과
같은 구조로 추가했다. 원문 맥락 API는 이제 이 테이블에서 조회하며
발화별 content(요약)를 함께 내려준다. 재분석 시 정리 누락으로 FK 위반이
나지 않도록 replaceApplications의 삭제 순서에도 반영했다.
서버가 원문 맥락 항목마다 content(발화 요약)를 내려주므로, 선택된
메시지의 제목과 관련 맥락 목록에서 이 요약을 우선 표시하고 없을 때만
기존 결정근거/원문으로 대체한다. 적용사항이 바뀌어 메시지 목록이
바뀌면 선택 인덱스를 리셋하고, 배열이 짧아지는 프레임에서도 클램핑해
빈 상태가 깜빡이지 않게 했다.
Sign up for freeto 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.

2 participants

@ggamnunq@whylog-dev