diff --git a/frontend/src/hooks/useVirtualIndicatorSnapshots.ts b/frontend/src/hooks/useVirtualIndicatorSnapshots.ts index 58e5b24..16630f3 100644 --- a/frontend/src/hooks/useVirtualIndicatorSnapshots.ts +++ b/frontend/src/hooks/useVirtualIndicatorSnapshots.ts @@ -161,6 +161,7 @@ export async function fetchLiveSnapshot( } catch { status = null; } + console.debug('[fetchLiveSnapshot] market=%s sid=%d status=%s baseRows=%d', normalizedMarket, strategyId, status ? 'ok' : 'null', baseRows.length); if (!status || !statusMatches(status, normalizedMarket, strategyId)) { if (baseRows.length === 0) return null; diff --git a/frontend/src/utils/resolveNotificationStrategy.ts b/frontend/src/utils/resolveNotificationStrategy.ts index 90088b5..0b7deb7 100644 --- a/frontend/src/utils/resolveNotificationStrategy.ts +++ b/frontend/src/utils/resolveNotificationStrategy.ts @@ -80,6 +80,7 @@ export async function resolveNotificationStrategy( const normalizedId = normalizeStrategyId(strategyId); // prefetched가 빈 배열이면 직접 API로 재시도 (백엔드 미준비 시 prefetch가 빈 채로 캐시될 수 있음) const list = (prefetched != null && prefetched.length > 0) ? prefetched : await getStrategiesList(); + console.debug('[resolveStrategy] id=%s name=%s listSize=%d', normalizedId, strategyName, list.length); if (normalizedId != null) { const fromList = list.find(s => s.id === normalizedId); @@ -129,6 +130,7 @@ export async function resolveNotificationStrategy( } } + console.warn('[resolveStrategy] 전략 찾기 실패 id=%s name=%s market=%s listSize=%d', normalizedId, strategyName, market, list.length); return { strategy: undefined, strategyId: normalizedId }; }