From 9d787351faf50ae367fe70a65c41bdad945fd498 Mon Sep 17 00:00:00 2001 From: Nuwan Date: Fri, 4 Nov 2022 18:57:09 +0530 Subject: [PATCH] fixes for recording related errors --- .../javascripts/dialog/recordingFinishedDialog.js | 6 +++--- web/app/assets/javascripts/paginator.js | 10 ++++++++-- .../react-components/stores/SessionStore.js.coffee | 5 ++--- web/app/assets/javascripts/recordingModel.js | 8 +++++--- 4 files changed, 18 insertions(+), 11 deletions(-) diff --git a/web/app/assets/javascripts/dialog/recordingFinishedDialog.js b/web/app/assets/javascripts/dialog/recordingFinishedDialog.js index 40b031a90..691b30d47 100644 --- a/web/app/assets/javascripts/dialog/recordingFinishedDialog.js +++ b/web/app/assets/javascripts/dialog/recordingFinishedDialog.js @@ -61,14 +61,14 @@ $('#recording-finished-dialog span.nowait').removeClass('hidden') $('#recording-finished-dialog .preview-area').css('visibility', 'visible') $('#recording-finished-dialog form').css('visibility', 'visible') - launchPreview(); + await launchPreview(); } } function waitForMixTransfer() { - timeout = setTimeout(function() { + timeout = setTimeout(async function() { console.log("checking for file transfer", window.RecordingStore.mixTransferred) if(window.RecordingStore.mixTransferred) { @@ -77,7 +77,7 @@ $('#recording-finished-dialog .preview-area').css('visibility', 'visible') $('#recording-finished-dialog form').css('visibility', 'visible') timeout = null - launchPreview() + await launchPreview() } else { waitForMixTransfer(); diff --git a/web/app/assets/javascripts/paginator.js b/web/app/assets/javascripts/paginator.js index b263eb422..b77906538 100644 --- a/web/app/assets/javascripts/paginator.js +++ b/web/app/assets/javascripts/paginator.js @@ -43,7 +43,8 @@ paginator.data('working', true); onPageSelected(targetPage) - .done(function(data, textStatus, jqXHR) { + .then(function(resp) { + const [data, textStatus, jqXHR] = resp; totalEntries = data.total_entries || parseInt(jqXHR.getResponseHeader('total-entries')); pages = calculatePages(totalEntries, perPage); options = { pages: pages, @@ -54,10 +55,15 @@ registerEvents(newPaginator); paginator.replaceWith(newPaginator); paginator = newPaginator; + + paginator.data('working', false); }) - .always(function() { + .catch(function(){ paginator.data('working', false); }); + // .always(function() { + // paginator.data('working', false); + // }); } else { diff --git a/web/app/assets/javascripts/react-components/stores/SessionStore.js.coffee b/web/app/assets/javascripts/react-components/stores/SessionStore.js.coffee index dc9eb7bd0..2b11f6da9 100644 --- a/web/app/assets/javascripts/react-components/stores/SessionStore.js.coffee +++ b/web/app/assets/javascripts/react-components/stores/SessionStore.js.coffee @@ -485,9 +485,8 @@ ConfigureTracksActions = @ConfigureTracksActions "icon_url": "/assets/content/icon_alert_big.png" }); }); - - const resp = await context.jamClient.CloseRecording(); - console.log('CloseRecoding...', resp) + + await context.jamClient.CloseRecording(); }` # closeMetronomeTrack:() -> diff --git a/web/app/assets/javascripts/recordingModel.js b/web/app/assets/javascripts/recordingModel.js index 47765def2..ac4329f88 100644 --- a/web/app/assets/javascripts/recordingModel.js +++ b/web/app/assets/javascripts/recordingModel.js @@ -112,12 +112,14 @@ /** Nulls can be passed for all 3 currently; that's a user request. */ function stopRecording(recordingId, reason, detail) { + if(stoppingRecording) { logger.debug("ignoring stopRecording because we are already stopping"); return; } stoppingRecording = true; + waitingOnServerStop = waitingOnClientStop = true; waitingOnStopTimer = setTimeout(timeoutTransitionToStop, 5000); @@ -129,13 +131,13 @@ currentRecording .then(async function(recording) { var groupedTracks = groupTracksToClient(recording); + //if(sessionModel.jamTracks() && isRecording()) { // logger.debug("preemptive stop media") //context.jamClient.SessionStopPlay(); //} - logger.debug("calling jamClient.StopRecording", recording.id, groupedTracks) - var recResp = await jamClient.StopRecording(recording.id, groupedTracks); - logger.debug("jamClient.StopRecording response", recResp) + await jamClient.StopRecording(recording.id, groupedTracks); + rest.stopRecording( { "id": recording.id } ) .done(function() { waitingOnServerStop = false;