2026-09-19 ServiceOn Blog 작업일지입니다. 오늘은 8건의 작업을 진행했습니다.

페이지 (달력 스크롤 · 모바일 검색 줌)

현상/기능

  • 앞으로 스크린샷이나 영상 기록을 남기지 않음
  • 달력으로 날짜를 이동해도 아래 리스트가 맨 위로 자동이동되지 않음
  • 모바일에서 검색버튼을 누르면 본문이 줌인되며 검색창이 화면에서 보이지 않음

작업

  • DatePickerButton에서 달력 날짜 선택 후 #date-feed-list를 헤더·날짜띠 아래 맨 위로 스크롤하도록 함
  • /cards, /cards/extra-news 목록에 date-feed-list 앵커를 추가함
  • 헤더 검색 입력 폰트를 모바일 16px로 맞춰 iOS 줌을 방지하고 포커스 시 헤더가 보이도록 조정함
  • 새 모듈은 추가하지 않음

페이지 (일간호 관련 뉴스 출처)

현상/기능

  • 일간호 페이지 하단 관련 뉴스에 뉴스제목만 표시되고 출처가 표시되지 않음
  • attachMagazineRelatedNews에서 카드 sourceUrl 호스트를 '제목 ... 출처' 형태로 표시하고 없으면 제목만 표시하도록 함
  • MagazineArticle이 관련 뉴스에 sourceUrl을 전달하도록 함, 새 모듈은 추가하지 않음
  • mock 9/12 카드에 sourceUrl을 넣어 로컬 확인함

배포 (공개 문구)

현상/기능

  • 구독·프로젝트·자동화 빈 목록 문구 변경사항이 배포 대기 상태임
  • 구독·프로젝트·자동화 빈 목록 문구 변경을 main에 합쳐 프로덕션에 배포함
  • 운영 배포는 main 푸시 후 Actions rsync로 진행하고 db:는 실행하지 않음

공개 문구 (구독·프로젝트·자동화 빈 목록)

현상/기능

  • 구독 안내 문구가 '매일 9시에 블로그 소식'으로 표시되어 있고 'AI, IT 소식'으로는 표시되지 않음
  • 프로젝트 소개 문구가 'ServiceOn이 만든 사이트와 유틸입니다'로 표시되어 있고 'ServiceOn이 개발한 프로젝트입니다'로는 표시되지 않음
  • 자동화 빈 목록 문구가 '아직 올린 글이 없습니다…'로 표시되어 있고 '등록 대기중입니다 / 관리자-AI 자동화 메뉴에서 등록하면 여기에 보입니다'로는 표시되지 않음
  • SubscribePanel SEND_HINT 문구를 변경함
  • project/page 소개·metadata description 문구를 변경함
  • automation/page emptyMessage 문구를 두 줄로 표시하도록 변경함
  • PortfolioGrid emptyMessage에 whitespace-pre-line을 적용해 줄바꿈이 표시되도록 함
  • 새 모듈은 추가하지 않고 다른 함수 로직은 변경하지 않음

페이지 / n8n (매거진 브리핑 본문)

현상/기능

  • 특정 매거진 브리핑 글 본문이 너무 짧고 오늘의 요약이 중복됨
  • 관련 저장 구조를 조정함
  • Validate가 800자 미만이면 throw하고 continueRegularOutput으로 처리되어 본문이 소실되고 관련 뉴스+리드가 복붙되던 원인을 확인함
  • n8n Validate에서 본문이 있으면 유지하고 샘플·빈 본문만 에러로 출력하며 오늘의 요약이 summary와 같으면 제거하도록 함
  • n8n Prepare에서 summary를 오늘의 요약으로 붙이지 않도록 하고 프롬프트를 2000자·다른 문장으로 변경함
  • stripDuplicateMagazineTodaySummary로 리드와 같은 오늘의 요약을 숨기도록 함
  • 새 모듈은 추가하지 않음

구독 메일 (활성 구독자 재발송)

현상/기능

  • 구독 메일 재발송이 필요한 상태임
  • 관련 저장 구조를 조정함
  • n8n 7p6KtUGdcYAOnJfv production 웹훅을 실행함 (execution 174)
  • 새 모듈은 추가하지 않음

구독 메일 (활성 구독자만)

현상/기능

  • 구독 메일이 전체 구독자에게 발송되고 구독 활성화된 구독자만 발송되지는 않음
  • n8n Load Active Subscribers에서 is_active = 1이고 해지토큰이 있는 행만 조회하도록 함
  • 스케줄 실행 시 $1 빈값 오류를 방지하기 위해 __all__(활성 전원) 처리를 추가함
  • 새 모듈은 추가하지 않고 실발송은 하지 않음

Working (작업 ~함)

현상/기능

  • Working 일지 작업 항목에 '~했습니다.' 체가 사용되어 있음
  • 관련 저장 구조를 조정함
  • toWorkBrief / rewriteWorkingWorkBriefHtml에서 했습니다·하였습니다를 함으로 변경함
  • n8n 작업 항목을 ~함 체로 통일하고 현상/기능·intro는 그대로 유지함
  • 새 모듈은 추가하지 않음