diff --git a/com.twin.app.shoptime/.gitignore b/com.twin.app.shoptime/.gitignore index e0eb1b49..e2e3b3ef 100644 --- a/com.twin.app.shoptime/.gitignore +++ b/com.twin.app.shoptime/.gitignore @@ -14,4 +14,4 @@ npm-debug.log # ipk file srcBackup -com.lgshop.app_*.ipk \ No newline at end of file +# com.lgshop.app_*.ipk \ No newline at end of file diff --git a/com.twin.app.shoptime/com.lgshop.app_2.0.0_all.ipk b/com.twin.app.shoptime/com.lgshop.app_2.0.0_all.ipk new file mode 100644 index 00000000..db27caab Binary files /dev/null and b/com.twin.app.shoptime/com.lgshop.app_2.0.0_all.ipk differ diff --git a/com.twin.app.shoptime/package.json b/com.twin.app.shoptime/package.json index 6bd7d9d6..ba3e5b65 100644 --- a/com.twin.app.shoptime/package.json +++ b/com.twin.app.shoptime/package.json @@ -14,7 +14,11 @@ "license": "enact license", "test": "enact test", "test-watch": "enact test --watch", - "postinstall": "patch-package" + "postinstall": "patch-package", + "package": "cp webos-meta/appinfo.json dist/ && ares-package dist", + "build-ipk": "npm run build && npm run package", + "install-tv": "ares-install com.lgshop.app_*.ipk -d tv", + "launch-tv": "ares-launch com.lgshop.app -d tv" }, "license": "UNLICENSED", "private": true, diff --git a/com.twin.app.shoptime/src/actions/voiceActions.js b/com.twin.app.shoptime/src/actions/voiceActions.js index 8d4ddc08..6dbd6a3b 100644 --- a/com.twin.app.shoptime/src/actions/voiceActions.js +++ b/com.twin.app.shoptime/src/actions/voiceActions.js @@ -192,9 +192,20 @@ export const sendVoiceIntents = (voiceTicket) => (dispatch, getState) => { payload: inAppIntents, }); + // Log the setContext request + dispatch( + addLog('REQUEST', 'Set Voice Context', { + voiceTicket, + intentCount: inAppIntents.length, + intents: inAppIntents, + }) + ); + lunaSend.setVoiceContext(voiceTicket, inAppIntents, { onSuccess: (res) => { console.log('[Voice] Voice context set successfully:', res); + // Log successful context setting + dispatch(addLog('RESPONSE', 'Set Voice Context Success', res, true)); dispatch({ type: types.VOICE_SET_CONTEXT_SUCCESS, payload: res, @@ -203,6 +214,8 @@ export const sendVoiceIntents = (voiceTicket) => (dispatch, getState) => { onFailure: (err) => { console.error('[Voice] Failed to set voice context:', err); + // Log failed context setting + dispatch(addLog('ERROR', 'Set Voice Context Failed', err, false)); dispatch({ type: types.VOICE_SET_CONTEXT_FAILURE, payload: err, @@ -222,6 +235,15 @@ export const sendVoiceIntents = (voiceTicket) => (dispatch, getState) => { export const handleVoiceAction = (voiceTicket, action) => (dispatch, getState) => { console.log('[Voice] Handling voice action:', action); + // Log that we're processing the action + dispatch( + addLog('ACTION', 'Processing Voice Action', { + intent: action.intent, + itemId: action.itemId, + fullAction: action, + }) + ); + let result = false; let feedback = null; @@ -250,6 +272,15 @@ export const handleVoiceAction = (voiceTicket, action) => (dispatch, getState) = }; } + // Log the processing result before reporting + dispatch( + addLog('ACTION', 'Action Processing Complete', { + result, + feedback, + action: action.itemId, + }) + ); + // Report result to voice framework dispatch(reportActionResult(voiceTicket, result, feedback)); }; @@ -320,9 +351,20 @@ export const reportActionResult = (dispatch, getState) => { console.log('[Voice] Reporting action result:', { result, feedback }); + // Log the report request + dispatch( + addLog('ACTION', 'Reporting Action Result', { + voiceTicket, + result, + feedback, + }) + ); + lunaSend.reportVoiceActionResult(voiceTicket, result, feedback, { onSuccess: (res) => { console.log('[Voice] Action result reported successfully:', res); + // Log successful report + dispatch(addLog('RESPONSE', 'Report Action Result Success', res, true)); dispatch({ type: types.VOICE_REPORT_RESULT_SUCCESS, payload: { result, feedback }, @@ -331,6 +373,8 @@ export const reportActionResult = onFailure: (err) => { console.error('[Voice] Failed to report action result:', err); + // Log failed report + dispatch(addLog('ERROR', 'Report Action Result Failed', err, false)); dispatch({ type: types.VOICE_REPORT_RESULT_FAILURE, payload: err,