Files
ai-code-app/docs/worklogs/2026-04-03.md
2026-04-21 03:33:23 +09:00

6.2 KiB
Executable File

2026-04-03 작업일지

오늘 작업

  • Plan 자동화 재처리 흐름과 main 반영 안정화
  • release/main 브랜치 전략을 정리하고 서버 재시작 오류를 수정
  • Plan 메모 검색 기능 추가
  • Plan 상세에서 소스 작업 이력/미리보기 확인 흐름 보강
  • 모바일 설정 아이콘 터치 불가 이슈를 제스처 오버레이 충돌 제거로 해결
  • 작업 상세의 불필요한 내용 조회 버튼 제거
  • Noti 설정의 서버 토큰 등록/삭제 연동 보강
  • 작업 ID 기본값(작업ID) 처리 및 중복 제약 완화
  • 완료/반영 단계에서도 소스 작업 이력이 누락되지 않도록 저장 로직 보강
  • Web Push 등록/호환 처리 보강(미지원 API 404 노출 완화)
  • 4월 3일 작업 증적용 스크린샷(앱 설정, 알림 설정) 보강
  • Plan 상세 증적 탭 하단에 스크린샷/작업일지/preview/source 전체화면 미리보기 추가

이슈 및 메모

  • release -> main 자동 머지 이후 브랜치 상태 꼬임이 반복되어 브랜치 전략 재정비 필요
  • 모바일 터치 이슈는 기능 오류보다 레이어 겹침(오버레이) 영향이 컸음
  • 알림 기능은 로컬 UI 상태와 서버 토큰 상태가 분리되면 재현 어려운 장애로 이어짐
  • 작업/이슈 이력 누락은 재처리 판단 정확도에 직접 영향

결정 사항

  • Plan 자동화 브랜치 기준은 main 중심으로 정리
  • 실패 후 재실행은 명시적 재처리 요청 기반으로 진행
  • 알림 설정은 UI 토글만이 아니라 서버 토큰 등록/삭제와 동기화
  • 메모/소스 작업 이력은 완료 단계 이후까지 일관 저장

상세 작업 내역

  • 자동화 워커의 재처리, 반영, 이력 저장 경로를 손봐 동일 이슈 반복 시 추적 가능성을 높임
  • release/main 전개 과정에서 발생하던 복구성 작업을 줄이기 위해 브랜치 운영 규칙을 단순화
  • Plan 보드 UX는 모바일 접근성(터치/조회/검색) 중심으로 우선 개선
  • 알림 관련 API 미지원 상황에서도 사용자에게 과도한 오류를 직접 노출하지 않도록 완충 처리 추가

스크린샷

settings-app settings-notification

소스

  • etc/servers/work-server/src/services/git-service.ts: 새 이슈 브랜치를 release가 아니라 main 기준으로 만들도록 바꿔 브랜치 꼬임을 줄였습니다.
  • etc/servers/work-server/src/services/plan-service.ts: 기본 작업 ID 처리, 중복 제약 해제, 완료 시 소스 이력 저장, main 반영 요청 단건화 등 자동화 추적 로직을 보강했습니다.
  • src/features/planBoard/PlanBoardPage.tsx: 소스 작업 이력과 증적 미리보기 흐름을 상세 화면에 반영했습니다.
  • src/app/main/MainHeader.tsx, src/app/main/notificationApi.ts: 알림 설정을 서버 토큰 상태와 동기화하고 미지원 환경의 404를 사용자 오류로 과하게 노출하지 않도록 조정했습니다.
  • etc/servers/work-server/src/workers/plan-worker.ts: 재처리와 반영 흐름을 main 중심으로 다시 맞췄습니다.
diff --git a/etc/servers/work-server/src/services/git-service.ts b/etc/servers/work-server/src/services/git-service.ts
-  const baseBranch = releaseTarget || config.releaseBranch;
+  const baseBranch = config.mainBranch;

diff --git a/etc/servers/work-server/src/services/plan-service.ts b/etc/servers/work-server/src/services/plan-service.ts
-  workId: z.string().trim().min(1),
+  workId: z.string().trim().optional().default('작업ID'),
...
+  await createPlanLifecycleSourceWorkHistory(
+    id,
+    '작업완료 처리로 release 반영 대기 상태로 전환했습니다.',
+    currentRow.assigned_branch ?? currentRow.release_target ?? 'release',
+  );

변경 파일 (전체, 중복 제거, KST 기준)

  • M etc/servers/work-server/src/services/plan-service.ts
  • M scripts/run-plan-codex-once.mjs
  • M etc/servers/work-server/.env.example
  • M etc/servers/work-server/README.md
  • M etc/servers/work-server/src/config/env.ts
  • M etc/servers/work-server/src/services/git-service.ts
  • M etc/servers/work-server/src/workers/plan-worker.ts
  • M src/app/main/notificationApi.ts
  • M src/app/main/MainHeader.tsx
  • M etc/servers/work-server/package-lock.json
  • M etc/servers/work-server/package.json
  • M etc/servers/work-server/src/routes/notification.ts
  • M etc/servers/work-server/src/services/notification-service.ts
  • A etc/servers/work-server/src/types/web-push.d.ts
  • M src/main.tsx
  • A src/sw.ts
  • M vite.config.ts
  • M src/features/planBoard/PlanBoardPage.tsx
  • M etc/servers/work-server/src/routes/plan.ts
  • M src/features/planBoard/api.ts
  • M src/features/planBoard/types.ts
  • A etc/servers/work-server/src/services/plan-notification-service.ts
  • A src/app/main/notificationApi.ts
  • M src/layer/gesture/context/GestureContext.tsx
  • M src/styles.css
  • M etc/servers/work-server/src/app.ts
  • A etc/servers/work-server/src/routes/notification.ts
  • M etc/servers/work-server/src/server.ts
  • A etc/servers/work-server/src/services/notification-service.ts
  • M README.md
  • A docs/assets/worklogs/2026-04-02/plan-board-mobile-memo-detail.png
  • M docs/worklogs/2026-04-02.md
  • M package.json
  • M scripts/capture-component-screenshot.mjs
  • M scripts/capture-fullscreen-toggle-screenshot.mjs
  • A scripts/capture-plan-board-mobile-screenshot.mjs
  • M scripts/capture-search-command-screenshot.mjs
  • A scripts/worklog-capture-utils.mjs
  • M src/app/main/MainSidebar.tsx
  • M docs/README.md
  • M index.html
  • M src/app/main/MainView.tsx
  • M src/app/main/types.ts
  • M docker-compose.yml
  • M src/features/planBoard/index.ts
  • A docs/test001.md
  • M etc/servers/work-server/docker-compose.yml

실행 커맨드

npm run plan:codex:once
npm run build
npm run capture:settings -- --date 2026-04-03

변경 파일

  • docs/worklogs/2026-04-03.md
  • src/features/planBoard/PlanBoardPage.tsx
  • etc/servers/work-server/src/workers/plan-worker.ts
  • etc/servers/work-server/src/services/plan-service.ts
  • etc/servers/work-server/src/services/git-service.ts
  • src/app/main/MainHeader.tsx
  • src/app/main/notificationApi.ts
  • src/layer/gesture/context/GestureContext.tsx
  • scripts/run-plan-codex-once.mjs
  • src/styles.css