From 81889010544ecf3e2519e813dfbd2259c278dc68 Mon Sep 17 00:00:00 2001 From: optrader Date: Mon, 24 Nov 2025 11:48:34 +0900 Subject: [PATCH] =?UTF-8?q?[251124]=20fix:=20Log=EC=A0=95=EB=A6=AC-1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit πŸ• 컀밋 μ‹œκ°„: 2025. 11. 24. 11:48:34 πŸ“Š λ³€κ²½ 톡계: β€’ 총 파일: 1개 β€’ μΆ”κ°€: +91쀄 β€’ μ‚­μ œ: -71쀄 πŸ“ μˆ˜μ •λœ 파일: ~ com.twin.app.shoptime/src/actions/playActions.js πŸ”§ ν•¨μˆ˜ λ³€κ²½ λ‚΄μš©: πŸ“„ com.twin.app.shoptime/src/actions/playActions.js (javascript): βœ… Added: dwarn(), derror() πŸ”„ Modified: pauseFullscreenVideo(), CLEAR_PLAYER_INFO() πŸ”§ μ£Όμš” λ³€κ²½ λ‚΄μš©: β€’ 핡심 λΉ„μ¦ˆλ‹ˆμŠ€ 둜직 κ°œμ„  --- .../src/actions/playActions.js | 147 +++++++++++------- 1 file changed, 91 insertions(+), 56 deletions(-) diff --git a/com.twin.app.shoptime/src/actions/playActions.js b/com.twin.app.shoptime/src/actions/playActions.js index ca35d97c..71eea907 100644 --- a/com.twin.app.shoptime/src/actions/playActions.js +++ b/com.twin.app.shoptime/src/actions/playActions.js @@ -6,6 +6,20 @@ import { panel_names } from '../utils/Config'; import { types } from './actionTypes'; import { popPanel, pushPanel, updatePanel } from './panelActions'; +const DEBUG_MODE = false; + +const dlog = (...args) => { + if (DEBUG_MODE) console.log(...args); +}; + +const dwarn = (...args) => { + if (DEBUG_MODE) console.warn(...args); +}; + +const derror = (...args) => { + console.error(...args); +}; + // πŸ”½ [251116] μƒˆλ‘œμš΄ λΉ„λ””μ˜€ μƒνƒœ 관리 μ‹œμŠ€ν…œ - μž¬μƒ μƒνƒœ export const PLAYBACK_STATUS = { LOADING: 'loading', @@ -48,12 +62,12 @@ export const clearAllVideoTimers = () => { if (startVideoFocusTimer) { clearTimeout(startVideoFocusTimer); startVideoFocusTimer = null; - console.log('[playActions] startVideoFocusTimer cleared'); + dlog('[playActions] startVideoFocusTimer cleared'); } if (startVideoTimer) { clearTimeout(startVideoTimer); startVideoTimer = null; - console.log('[playActions] startVideoTimer cleared'); + dlog('[playActions] startVideoTimer cleared'); } }; export const startVideoPlayer = @@ -68,7 +82,7 @@ export const startVideoPlayer = ...rest }) => (dispatch, getState) => { - console.log( + dlog( '[startVideoPlayer] βœ… START - videoId:', videoId, ', showUrl:', @@ -81,7 +95,7 @@ export const startVideoPlayer = const videoIdentifier = videoId || showUrl; if (videoIdentifier) { const displayMode = modal ? DISPLAY_STATUS.VISIBLE : DISPLAY_STATUS.FULLSCREEN; - console.log( + dlog( '[startVideoPlayer] πŸ“Œ Setting playback loading - identifier:', videoIdentifier, ', displayMode:', @@ -89,7 +103,7 @@ export const startVideoPlayer = ); dispatch(setPlaybackLoading(videoIdentifier, displayMode)); } else { - console.log( + dlog( '[startVideoPlayer] ⚠️ No videoIdentifier provided (videoId and showUrl are both missing)' ); } @@ -99,7 +113,7 @@ export const startVideoPlayer = let panelWorkingAction = pushPanel; const panelName = panel_names.PLAYER_PANEL; - console.log( + dlog( '[startVideoPlayer] πŸ“Š Panel state - panelsCount:', panels.length, ', topPanelName:', @@ -108,9 +122,9 @@ export const startVideoPlayer = if (topPanel && topPanel.name === panelName) { panelWorkingAction = updatePanel; - console.log('[startVideoPlayer] πŸ”„ UPDATING existing PLAYER_PANEL'); + dlog('[startVideoPlayer] πŸ”„ UPDATING existing PLAYER_PANEL'); } else { - console.log('[startVideoPlayer] βž• PUSHING new PLAYER_PANEL'); + dlog('[startVideoPlayer] βž• PUSHING new PLAYER_PANEL'); } dispatch( @@ -129,7 +143,7 @@ export const startVideoPlayer = true ) ); - console.log('[startVideoPlayer] ✨ Panel action dispatched'); + dlog('[startVideoPlayer] ✨ Panel action dispatched'); // [COMMENTED OUT] λΉ„λ””μ˜€ μž¬μƒ μ‹œ κ°•μ œ 포컀슀 이동 λΉ„ν™œμ„±ν™” // if (modal && modalContainerId && !spotlightDisable) { @@ -143,7 +157,7 @@ export const startVideoPlayer = // console.log('[startVideoPlayer] ⏭️ Spotlight focus skipped - modal:', modal, ', modalContainerId:', !!modalContainerId, ', spotlightDisable:', spotlightDisable); // } - console.log('[startVideoPlayer] βœ… END'); + dlog('[startVideoPlayer] βœ… END'); }; // 쀑볡 μž¬μƒ λ°©μ§€: 정말 λ™μΌν•œ μš”μ²­μΈμ§€ 확인 @@ -180,7 +194,7 @@ export const startVideoPlayerNew = ...rest }) => (dispatch, getState) => { - console.log( + dlog( '[startVideoPlayerNew] *** βœ… START - bannerId:', bannerId, ', videoId:', @@ -195,7 +209,7 @@ export const startVideoPlayerNew = const videoIdentifier = videoId || showUrl || bannerId; if (videoIdentifier) { const displayMode = modal ? DISPLAY_STATUS.VISIBLE : DISPLAY_STATUS.FULLSCREEN; - console.log( + dlog( '[startVideoPlayerNew] *** πŸ“Œ Setting playback loading - identifier:', videoIdentifier, ', displayMode:', @@ -203,7 +217,7 @@ export const startVideoPlayerNew = ); dispatch(setPlaybackLoading(videoIdentifier, displayMode)); } else { - console.log('[startVideoPlayerNew] *** ⚠️ No videoIdentifier provided'); + dlog('[startVideoPlayerNew] *** ⚠️ No videoIdentifier provided'); } const panels = getState().panels.panels; @@ -212,7 +226,7 @@ export const startVideoPlayerNew = // const panelName = useNewPlayer ? panel_names.PLAYER_PANEL_NEW : panel_names.PLAYER_PANEL; const panelName = panel_names.PLAYER_PANEL; - console.log( + dlog( '[startVideoPlayerNew] *** πŸ“Š Panel state - panelsCount:', panels.length, ', topPanelName:', @@ -221,10 +235,7 @@ export const startVideoPlayerNew = if (topPanel && topPanel.name === panelName) { panelWorkingAction = updatePanel; - console.log( - '[startVideoPlayerNew] *** πŸ“‹ Current PLAYER_PANEL panelInfo:', - topPanel.panelInfo - ); + dlog('[startVideoPlayerNew] *** πŸ“‹ Current PLAYER_PANEL panelInfo:', topPanel.panelInfo); } // 쀑볡 μ‹€ν–‰ λ°©μ§€: 같은 λ°°λ„ˆ + 같은 modal μƒνƒœ/μ»¨ν…Œμ΄λ„ˆ + 같은 URL이면 skip @@ -236,7 +247,7 @@ export const startVideoPlayerNew = const isSameShowUrl = currentPanelInfo.showUrl === showUrl; const isSameVideoId = currentPanelInfo.videoId === videoId; - console.log( + dlog( '[startVideoPlayerNew] *** πŸ” Duplicate check - isSameBanner:', isSameBanner, ', isSameModalType:', @@ -250,7 +261,7 @@ export const startVideoPlayerNew = ); if (isSameBanner && isSameModalType && isSameContainer && isSameShowUrl && isSameVideoId) { - console.log('[startVideoPlayerNew] *** ⏭️ SKIPPED - λ™μΌν•œ μš”μ²­', { + dlog('[startVideoPlayerNew] *** ⏭️ SKIPPED - λ™μΌν•œ μš”μ²­', { bannerId, modal, modalContainerId, @@ -264,7 +275,7 @@ export const startVideoPlayerNew = ...currentPlayerState, currentBannerId: bannerId, }; - console.log('[startVideoPlayerNew] *** πŸ”„ Player state updated - currentBannerId:', bannerId); + dlog('[startVideoPlayerNew] *** πŸ”„ Player state updated - currentBannerId:', bannerId); dispatch( panelWorkingAction( @@ -284,7 +295,7 @@ export const startVideoPlayerNew = true ) ); - console.log( + dlog( '[startVideoPlayerNew] *** ✨ Panel action dispatched - action:', panelWorkingAction === updatePanel ? 'updatePanel' : 'pushPanel' ); @@ -301,11 +312,13 @@ export const startVideoPlayerNew = // console.log('[startVideoPlayerNew] *** ⏭️ Spotlight focus skipped - modal:', modal, ', modalContainerId:', !!modalContainerId, ', spotlightDisable:', spotlightDisable); // } - console.log('[startVideoPlayerNew] *** βœ… END'); + dlog('[startVideoPlayerNew] *** βœ… END'); }; export const finishVideoPreview = () => (dispatch, getState) => { - console.log('###-finishVideoPreview'); + if (DEBUG_MODE === true) { + dlog('###-finishVideoPreview'); + } const panels = getState().panels.panels; const topPanel = panels[panels.length - 1]; if (topPanel && topPanel.name === panel_names.PLAYER_PANEL && topPanel.panelInfo.modal) { @@ -319,7 +332,9 @@ export const finishVideoPreview = () => (dispatch, getState) => { export const finishModalVideoForce = () => (dispatch, getState) => { const panels = getState().panels.panels; - console.log('###-finishModalVideoForce'); + if (DEBUG_MODE === true) { + dlog('###-finishModalVideoForce'); + } // modal PlayerPanel이 μ‘΄μž¬ν•˜λŠ”μ§€ 확인 (μŠ€νƒ 어디에 μžˆλ“ ) const hasModalPlayerPanel = panels.some( (panel) => panel.name === panel_names.PLAYER_PANEL && panel.panelInfo?.modal @@ -338,7 +353,9 @@ export const finishModalVideoForce = () => (dispatch, getState) => { // λͺ¨λ“  PlayerPanel을 κ°•μ œ 제거 (modalκ³Ό fullscreen λͺ¨λ‘) export const finishAllVideoForce = () => (dispatch, getState) => { const panels = getState().panels.panels; - console.log('###-finishAllVideoForce'); + if (DEBUG_MODE === true) { + dlog('###-finishAllVideoForce'); + } // λͺ¨λ“  PlayerPanel이 μ‘΄μž¬ν•˜λŠ”μ§€ 확인 (μŠ€νƒ 어디에 μžˆλ“ ) const hasPlayerPanel = panels.some((panel) => panel.name === panel_names.PLAYER_PANEL); @@ -355,7 +372,9 @@ export const finishAllVideoForce = () => (dispatch, getState) => { // λͺ¨λ‹¬ λΉ„λ””μ˜€λ₯Ό μΌμ‹œμ •μ§€ (νŒ¨λ„μ€ μœ μ§€) export const pauseModalVideo = () => (dispatch, getState) => { const panels = getState().panels.panels; - console.log('###-pauseModalVideo'); + if (DEBUG_MODE === true) { + dlog('###-pauseModalVideo'); + } // modal PlayerPanel μ°ΎκΈ° const modalPlayerPanel = panels.find( @@ -363,7 +382,9 @@ export const pauseModalVideo = () => (dispatch, getState) => { ); if (modalPlayerPanel) { - console.log('[pauseModalVideo] Pausing modal video'); + if (DEBUG_MODE === true) { + dlog('[pauseModalVideo] Pausing modal video'); + } dispatch( updatePanel({ name: panel_names.PLAYER_PANEL, @@ -386,7 +407,9 @@ export const resumeModalVideo = () => (dispatch, getState) => { ); if (modalPlayerPanel && modalPlayerPanel.panelInfo?.isPaused) { - console.log('[resumeModalVideo] Resuming modal video'); + if (DEBUG_MODE === true) { + dlog('[resumeModalVideo] Resuming modal video'); + } dispatch( updatePanel({ name: panel_names.PLAYER_PANEL, @@ -450,7 +473,9 @@ export const resumeFullscreenVideo = () => (dispatch, getState) => { }) ); } else { - console.log('[BgVideo] resumeFullscreenVideo - Not resuming (not found or not paused)'); + if (DEBUG_MODE === true) { + dlog('[BgVideo] resumeFullscreenVideo - Not resuming (not found or not paused)'); + } } }; @@ -502,21 +527,27 @@ export const hideModalVideo = () => (dispatch, getState) => { }) ); } else { - console.log('[HomePanel] hideModalVideo: No modal PlayerPanel found', { - panels: panels.map((p) => ({ - name: p.name, - modal: p.panelInfo?.modal, - shouldShrinkTo1px: p.panelInfo?.shouldShrinkTo1px, - })), - }); + if (DEBUG_MODE === true) { + dlog('[HomePanel] hideModalVideo: No modal PlayerPanel found', { + panels: panels.map((p) => ({ + name: p.name, + modal: p.panelInfo?.modal, + shouldShrinkTo1px: p.panelInfo?.shouldShrinkTo1px, + })), + }); + } } }; // μΆ•μ†Œλœ λͺ¨λ‹¬ λΉ„λ””μ˜€λ₯Ό μ›λž˜ 크기둜 볡ꡬ export const showModalVideo = () => (dispatch, getState) => { - console.log('[showModalVideo] *** βœ… START'); + if (DEBUG_MODE === true) { + dlog('[showModalVideo] *** βœ… START'); + } const panels = getState().panels.panels; - console.log('[showModalVideo] *** πŸ“Š Total panels count:', panels.length); + if (DEBUG_MODE === true) { + dlog('[showModalVideo] *** πŸ“Š Total panels count:', panels.length); + } // μΆ•μ†Œλœ modal PlayerPanel μ°ΎκΈ° const shrunkModalPlayerPanel = panels.find( @@ -526,14 +557,18 @@ export const showModalVideo = () => (dispatch, getState) => { panel.panelInfo?.shouldShrinkTo1px ); - console.log('[showModalVideo] *** πŸ” Shrunk modal PlayerPanel found:', !!shrunkModalPlayerPanel); + if (DEBUG_MODE === true) { + dlog('[showModalVideo] *** πŸ” Shrunk modal PlayerPanel found:', !!shrunkModalPlayerPanel); + } if (shrunkModalPlayerPanel) { const panelInfo = shrunkModalPlayerPanel.panelInfo; const shrinkInfo = panelInfo.playerState?.shrinkInfo; - console.log('[showModalVideo] *** πŸ“‹ ShrinkInfo available:', !!shrinkInfo); - console.log('[showModalVideo] *** πŸ“‹ Current panelInfo state:', { + if (DEBUG_MODE === true) { + dlog('[showModalVideo] *** πŸ“‹ ShrinkInfo available:', !!shrinkInfo); + } + dlog('[showModalVideo] *** πŸ“‹ Current panelInfo state:', { shouldShrinkTo1px: panelInfo.shouldShrinkTo1px, modal: panelInfo.modal, modalContainerId: panelInfo.modalContainerId, @@ -553,11 +588,11 @@ export const showModalVideo = () => (dispatch, getState) => { skipModalStyleRecalculation: false, // μœ„μΉ˜ λ³€κ²½ μ‹œ DOM κΈ°μ€€μœΌλ‘œ λ‹€μ‹œ κ³„μ‚°ν•˜λ„λ‘ ν—ˆμš© }; - console.log( + dlog( '[showModalVideo] *** πŸ”„ Updated panelInfo - shouldShrinkTo1px:', updatedPanelInfo.shouldShrinkTo1px ); - console.log('[showModalVideo] *** πŸ“ Restored modalStyle:', updatedPanelInfo.modalStyle); + dlog('[showModalVideo] *** πŸ“ Restored modalStyle:', updatedPanelInfo.modalStyle); dispatch( updatePanel({ @@ -565,9 +600,9 @@ export const showModalVideo = () => (dispatch, getState) => { panelInfo: updatedPanelInfo, }) ); - console.log('[showModalVideo] *** ✨ updatePanel dispatched'); + dlog('[showModalVideo] *** ✨ updatePanel dispatched'); } else { - console.log('[showModalVideo] *** ⚠️ No shrunk modal PlayerPanel found', { + dlog('[showModalVideo] *** ⚠️ No shrunk modal PlayerPanel found', { panels: panels.map((p) => ({ name: p.name, modal: p.panelInfo?.modal, @@ -576,7 +611,7 @@ export const showModalVideo = () => (dispatch, getState) => { }); } - console.log('[showModalVideo] *** βœ… END'); + dlog('[showModalVideo] *** βœ… END'); }; // πŸ”½ νŒ¨λ„μ€ μœ μ§€ν•˜κ³  λΉ„λ””μ˜€λ§Œ μ€‘μ§€ν•˜λŠ” ν•¨μˆ˜λ“€ @@ -594,7 +629,7 @@ export const stopModalVideoWithoutClosingPanel = () => (dispatch, getState) => { ); if (modalPlayerPanel) { - console.log('[stopModalVideoWithoutClosingPanel] Stopping modal video playback'); + dlog('[stopModalVideoWithoutClosingPanel] Stopping modal video playback'); // 타이머 정리 if (startVideoFocusTimer) { @@ -632,7 +667,7 @@ export const stopFullscreenVideoWithoutClosingPanel = () => (dispatch, getState) ); if (fullscreenPlayerPanel) { - console.log('[stopFullscreenVideoWithoutClosingPanel] Stopping fullscreen video playback'); + dlog('[stopFullscreenVideoWithoutClosingPanel] Stopping fullscreen video playback'); // 타이머 정리 if (startVideoFocusTimer) { @@ -668,7 +703,7 @@ export const stopAllVideosWithoutClosingPanel = () => (dispatch, getState) => { const playerPanels = panels.filter((panel) => panel.name === panel_names.PLAYER_PANEL); if (playerPanels.length > 0) { - console.log('[stopAllVideosWithoutClosingPanel] Stopping all video playback'); + dlog('[stopAllVideosWithoutClosingPanel] Stopping all video playback'); // 타이머 정리 if (startVideoFocusTimer) { @@ -701,7 +736,7 @@ export const getChatLog = ({ patnrId, showId }) => (dispatch, getState) => { const onSuccess = (response) => { - console.log('getChatLog onSuccess', response.data); + dlog('getChatLog onSuccess', response.data); dispatch({ type: types.GET_CHAT_LOG, @@ -710,7 +745,7 @@ export const getChatLog = }; const onFail = (error) => { - console.error('getChatLog onFail', error); + derror('getChatLog onFail', error); }; TAxios(dispatch, getState, 'get', URLS.CHAT_LOG, { patnrId, showId }, {}, onSuccess, onFail); @@ -721,7 +756,7 @@ export const getSubTitle = ({ showSubtitleUrl }) => (dispatch, getState) => { const onSuccess = (response) => { - console.log('getSubTitle onSuccess', response.data); + dlog('getSubTitle onSuccess', response.data); dispatch({ type: types.GET_SUBTITLE, @@ -730,7 +765,7 @@ export const getSubTitle = }; const onFail = (error) => { - console.error('getSubTitle onFail', error); + derror('getSubTitle onFail', error); dispatch({ type: types.GET_SUBTITLE, payload: { url: showSubtitleUrl, data: 'Error' }, @@ -740,7 +775,7 @@ export const getSubTitle = if (!getState().play.subTitleBlobs[showSubtitleUrl]) { TAxios(dispatch, getState, 'get', URLS.SUBTITLE, { showSubtitleUrl }, {}, onSuccess, onFail); } else { - console.log("playActions getSubTitle no Nothing it's exist", showSubtitleUrl); + dlog("playActions getSubTitle no Nothing it's exist", showSubtitleUrl); } }; @@ -766,7 +801,7 @@ export const updateVideoPlayState = (playState) => (dispatch, getState) => { }); if (hasChanges) { - console.log('πŸ”„ [Redux] updateVideoPlayState action created', { + dlog('πŸ”„ [PlayerPanel] updateVideoPlayState action created', { ...playState, timestamp: new Date().toISOString(), caller: new Error().stack?.split('\n')[2]?.trim() || 'unknown',