From 572de9827a76eea07d7d34ee892ad4a9417143b6 Mon Sep 17 00:00:00 2001 From: htlee Date: Thu, 19 Mar 2026 10:23:33 +0900 Subject: [PATCH] =?UTF-8?q?docs:=20=EB=A6=B4=EB=A6=AC=EC=A6=88=20=EB=85=B8?= =?UTF-8?q?=ED=8A=B8=20=EC=A0=95=EB=A6=AC=20(2026-03-19)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/RELEASE-NOTES.md | 116 ++++++++++++++++-------------------------- 1 file changed, 44 insertions(+), 72 deletions(-) diff --git a/docs/RELEASE-NOTES.md b/docs/RELEASE-NOTES.md index f20faeb..2c5f029 100644 --- a/docs/RELEASE-NOTES.md +++ b/docs/RELEASE-NOTES.md @@ -4,6 +4,8 @@ ## [Unreleased] +## [2026-03-19] + ### 변경 - 인라인 CSS 정리 — 공통 클래스 추출 + Tailwind 전환 @@ -11,78 +13,6 @@ - OSINT 기사 중복 수집 방지: title 기반 24h 중복 체크 추가 (GDELT/Google News) - MapLibre symbol layer race condition 해소: hover를 feature-state로 분리, ships-korean-label visibility 제어로 변경 -## [2026-03-18.5] - -### 추가 -- 지진 포인트 클릭 → 지도 flyTo + SeismicMarker 진도별 펄스 원형 영향범위 표시 -- SatelliteMap flyTo 지원 - -### 변경 -- 히스토리 프리셋: 10M/30M/1H/3H/6H → 1H/2H/3H/6H (최소 1시간) -- 기압 그래프: 해수면 기압 보정(SLP), 원본 포인트 기반 렌더링 -- 그래프 데이터 범위: 표시 범위보다 1칸 확장 (y축 시작점 연결) -- Tooltip: KST 시간 포맷, 상단 고정, 전체 스타일 통일 -- OilFacilityLayer: planned ring SVG 내부 이동 (아이콘 중심 정렬) -- 밝은 테마: 지도 라벨 text-shadow CSS 변수 분리 - -### 수정 -- deploy.yml: SSH SCP+실행 각 3회 재시도 (kex_exchange 거부 대응) - -## [2026-03-18.4] - -### 추가 -- 한국 선박 현황 헤더 ON/OFF 토글 → 지도 강조 링+라벨 표시 (기본 ON) -- 우측 패널 한국 선박 목록: hover 시 지도 강조 링, 클릭 시 선박 모달 호출 - -### 변경 -- 지진파 그래프: LineChart → ScatterChart (진도별 색상/크기, 이벤트 점 표시) -- 기압 그래프: 버킷 평균 → 관측소별 개별 라인 (데이터 없는 구간 0 제거) - -## [2026-03-18.3] - -### 추가 -- 센서 API 서비스(sensorApi.ts): 백엔드 지진/기압 실데이터 연동 -- 선박 모달 S&P Global 다중 사진 슬라이드 (좌우 화살표 + 인디케이터) -- 선박 모달 드래그 이동 (헤더 영역 grab) -- LiveControls KST/UTC 라디오 버튼 그룹 - -### 변경 -- SensorChart: 더미 → 실데이터(지진/기압), x축 동적 시간 표시 -- 히스토리 프리셋: 30M/1H/3H/6H/12H/24H → 10M/30M/1H/3H/6H (8칸 구조) -- 센서 API 파라미터: hours → min (기본 2880=48h) -- 센서 데이터 polling: 초기 48h 전체 → 10분마다 incremental merge -- 선박 데이터 polling: 초기 60분 → 5분마다 6분 윈도우 merge + 60분 stale 제거 -- 선박 모달 고정 크기(300px) + 사진 영역 고정(160px, object-contain) -- 선박 모달 데이터 레이아웃: 2컬럼 그리드 + 연관 정보 쌍 배치 + 긴 값 단독행 -- 선박 모달 CSS 통일 (태그 패딩/배경, 컬럼 간격 12px) - -### 수정 -- 센서 API(/api/sensor/*) 인증 예외 처리 (공개 데이터) -- 선박 모달 열 때마다 S&P Global 우선 탭 리셋 (MarineTraffic 포커스 유지 버그) -- S&P Global 사진 URL: IMO 기반 이미지 목록 API 연동 (잘못된 번호 패턴 제거) - -### 기타 -- 로그인 화면 KCG 로고에 DEMO 문구 오버레이 - -## [2026-03-18.2] - -### 추가 -- 지진파 수집기: USGS FDSN API, 이란 bbox(M2+), 5분 주기 -- 기압 수집기: Open-Meteo API, 이란 5개 관측점, 10분 주기 -- DB: seismic_events, pressure_readings 테이블 (마이그레이션 004) -- REST: GET /api/sensor/seismic, GET /api/sensor/pressure - -### 변경 -- 프론트엔드 패키지 구조 리팩토링: components/ → common/layers/iran/korea/ 분리 -- App.tsx 분해: 1,179줄 → 588줄 (useIranData, useKoreaData, useKoreaFilters 훅 추출) -- SensorChart 그래프 순서: 지진파 → 기압 → 소음(DEMO) → 방사선(DEMO) -- 선박 모달 사진 탭: S&P Global 명칭, 고화질(_2) 기본 표시 -- Overpass API 외부 호출 제거 → 정적 인프라 데이터 - -### 수정 -- LiveControls KST 시간 이중 오프셋(+9h×2) 수정 + KST/UTC 토글 -- nginx /shipimg/ 프록시: ^~ 추가 (정적파일 regex 우선매칭 방지) - ## [2026-03-18] ### 추가 @@ -92,9 +22,51 @@ - Caffeine 캐시 TTL 2일 (Aircraft 포함 전체 통일) - DB 마이그레이션: `ship_positions`, `osint_feeds`, `satellite_tle` 테이블 + 샘플 데이터 - 프론트엔드 OSINT/위성 데이터 백엔드 API 우선 호출 + 직접 호출 fallback +- 지진파 수집기: USGS FDSN API, 이란 bbox(M2+), 5분 주기 +- 기압 수집기: Open-Meteo API, 이란 5개 관측점, 10분 주기 +- DB: seismic_events, pressure_readings 테이블 (마이그레이션 004) +- REST: GET /api/sensor/seismic, GET /api/sensor/pressure +- 센서 API 서비스(sensorApi.ts): 백엔드 지진/기압 실데이터 연동 +- 선박 모달 S&P Global 다중 사진 슬라이드 (좌우 화살표 + 인디케이터) +- 선박 모달 드래그 이동 (헤더 영역 grab) +- LiveControls KST/UTC 라디오 버튼 그룹 +- 한국 선박 현황 헤더 ON/OFF 토글 → 지도 강조 링+라벨 표시 (기본 ON) +- 우측 패널 한국 선박 목록: hover 시 지도 강조 링, 클릭 시 선박 모달 호출 +- 지진 포인트 클릭 → 지도 flyTo + SeismicMarker 진도별 펄스 원형 영향범위 표시 +- SatelliteMap flyTo 지원 + +### 변경 +- 프론트엔드 패키지 구조 리팩토링: components/ → common/layers/iran/korea/ 분리 +- App.tsx 분해: 1,179줄 → 588줄 (useIranData, useKoreaData, useKoreaFilters 훅 추출) +- SensorChart: 더미 → 실데이터(지진/기압), x축 동적 시간 표시 +- SensorChart 그래프 순서: 지진파 → 기압 → 소음(DEMO) → 방사선(DEMO) +- 히스토리 프리셋: 1H/2H/3H/6H (최소 1시간, 8칸 구조) +- 센서 API 파라미터: hours → min (기본 2880=48h) +- 센서 데이터 polling: 초기 48h 전체 → 10분마다 incremental merge +- 선박 데이터 polling: 초기 60분 → 5분마다 6분 윈도우 merge + 60분 stale 제거 +- 선박 모달 고정 크기(300px) + 사진 영역 고정(160px, object-contain) +- 선박 모달 데이터 레이아웃: 2컬럼 그리드 + 연관 정보 쌍 배치 + 긴 값 단독행 +- 선박 모달 CSS 통일 (태그 패딩/배경, 컬럼 간격 12px) +- 선박 모달 사진 탭: S&P Global 명칭, 고화질(_2) 기본 표시 +- Overpass API 외부 호출 제거 → 정적 인프라 데이터 +- 지진파 그래프: LineChart → ScatterChart (진도별 색상/크기, 이벤트 점 표시) +- 기압 그래프: 해수면 기압 보정(SLP), 관측소별 개별 라인, 원본 포인트 기반 렌더링 +- 그래프 데이터 범위: 표시 범위보다 1칸 확장 (y축 시작점 연결) +- Tooltip: KST 시간 포맷, 상단 고정, 전체 스타일 통일 +- OilFacilityLayer: planned ring SVG 내부 이동 (아이콘 중심 정렬) +- 밝은 테마: 지도 라벨 text-shadow CSS 변수 분리 ### 수정 - 002 마이그레이션 search_path에 public 추가 (PostGIS 타입 참조) +- LiveControls KST 시간 이중 오프셋(+9h×2) 수정 + KST/UTC 토글 +- nginx /shipimg/ 프록시: ^~ 추가 (정적파일 regex 우선매칭 방지) +- 센서 API(/api/sensor/*) 인증 예외 처리 (공개 데이터) +- 선박 모달 열 때마다 S&P Global 우선 탭 리셋 (MarineTraffic 포커스 유지 버그) +- S&P Global 사진 URL: IMO 기반 이미지 목록 API 연동 (잘못된 번호 패턴 제거) +- deploy.yml: SSH SCP+실행 각 3회 재시도 (kex_exchange 거부 대응) + +### 기타 +- 로그인 화면 KCG 로고에 DEMO 문구 오버레이 ## [2026-03-17]