From 17e28b2a24e0a387359237f79bef4dd22a7567fe Mon Sep 17 00:00:00 2001 From: Paul Kaplan Date: Thu, 11 Apr 2019 08:29:46 -0400 Subject: [PATCH 1/6] Make sure to save assets before sending them to the backpack This prevents assets from existing in the backpack server without also existing in the asset server. --- src/containers/backpack.jsx | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/src/containers/backpack.jsx b/src/containers/backpack.jsx index 1a22a185e..a2fe10d09 100644 --- a/src/containers/backpack.jsx +++ b/src/containers/backpack.jsx @@ -83,12 +83,15 @@ class Backpack extends React.Component { } handleDrop (dragInfo) { let payloader = null; + let presaveAsset = null; switch (dragInfo.dragType) { case DragConstants.COSTUME: payloader = costumePayload; + presaveAsset = dragInfo.asset; break; case DragConstants.SOUND: payloader = soundPayload; + presaveAsset = dragInfo.asset; break; case DragConstants.SPRITE: payloader = spritePayload; @@ -102,6 +105,14 @@ class Backpack extends React.Component { // Creating the payload is async, so set loading before starting this.setState({loading: true}, () => { payloader(dragInfo.payload, this.props.vm) + .then(payload => { + // Force the asset to save to the asset server before storing in backpack + // Ensures any asset present in the backpack is also on the asset server + if (presaveAsset && !presaveAsset.clean) { + return storage.store(presaveAsset).then(() => payload); + } + return payload; + }) .then(payload => saveBackpackObject({ host: this.props.host, token: this.props.token, From 308568a3327c09af0621a599ad3a29d1f5dbf07a Mon Sep 17 00:00:00 2001 From: Karishma Chadha Date: Fri, 12 Apr 2019 12:10:49 -0400 Subject: [PATCH 2/6] Fix bugs found while testing related to retrieving and storing asset. --- src/containers/backpack.jsx | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/src/containers/backpack.jsx b/src/containers/backpack.jsx index a2fe10d09..b4f33ab43 100644 --- a/src/containers/backpack.jsx +++ b/src/containers/backpack.jsx @@ -87,11 +87,11 @@ class Backpack extends React.Component { switch (dragInfo.dragType) { case DragConstants.COSTUME: payloader = costumePayload; - presaveAsset = dragInfo.asset; + presaveAsset = dragInfo.payload.asset; break; case DragConstants.SOUND: payloader = soundPayload; - presaveAsset = dragInfo.asset; + presaveAsset = dragInfo.payload.asset; break; case DragConstants.SPRITE: payloader = spritePayload; @@ -109,7 +109,12 @@ class Backpack extends React.Component { // Force the asset to save to the asset server before storing in backpack // Ensures any asset present in the backpack is also on the asset server if (presaveAsset && !presaveAsset.clean) { - return storage.store(presaveAsset).then(() => payload); + return storage.store( + presaveAsset.assetType, + presaveAsset.dataFormat, + presaveAsset.data, + presaveAsset.assetId + ).then(() => payload); } return payload; }) From 09bcfba8000cb3506442aa07244abcd86d1ca9b0 Mon Sep 17 00:00:00 2001 From: Karishma Chadha Date: Tue, 16 Apr 2019 11:06:47 -0400 Subject: [PATCH 3/6] Add hotfix prefix as branch for releasing --- .travis.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.travis.yml b/.travis.yml index c20410a3f..cd60d44e1 100644 --- a/.travis.yml +++ b/.travis.yml @@ -36,6 +36,7 @@ deploy: - master - develop - smoke + - hotfix/* condition: $TRAVIS_EVENT_TYPE != cron skip_cleanup: true email: $NPM_EMAIL From 130c5de4b01bf8ed85665166266a373e465a5aeb Mon Sep 17 00:00:00 2001 From: Karishma Chadha Date: Tue, 16 Apr 2019 14:33:12 -0400 Subject: [PATCH 4/6] Update travis yml so that hotfix/ branches are released to hotfix channel --- .travis.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.travis.yml b/.travis.yml index cd60d44e1..05269b154 100644 --- a/.travis.yml +++ b/.travis.yml @@ -25,6 +25,7 @@ before_deploy: if [ -z "$BEFORE_DEPLOY_RAN" ]; then npm --no-git-tag-version version $RELEASE_VERSION if [ "$TRAVIS_BRANCH" == "master" ]; then export NPM_TAG=stable; fi + if [ "$TRAVIS_BRANCH" == hotfix/* ]; then export NPM_TAG=hotfix; fi git config --global user.email $(git log --pretty=format:"%ae" -n1) git config --global user.name $(git log --pretty=format:"%an" -n1) export BEFORE_DEPLOY_RAN=true From 934396d87aabfc35d26dc81b7e1999c61673e419 Mon Sep 17 00:00:00 2001 From: "greenkeeper[bot]" Date: Tue, 16 Apr 2019 18:55:08 +0000 Subject: [PATCH 5/6] chore(package): update scratch-paint to version 0.2.0-prerelease.20190416185326 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 7283a9b90..f1308b385 100644 --- a/package.json +++ b/package.json @@ -107,7 +107,7 @@ "scratch-audio": "0.1.0-prerelease.20190114210212", "scratch-blocks": "0.1.0-prerelease.1554297463", "scratch-l10n": "3.1.20190410143750", - "scratch-paint": "0.2.0-prerelease.20190318170811", + "scratch-paint": "0.2.0-prerelease.20190416185326", "scratch-render": "0.1.0-prerelease.20190326161919", "scratch-storage": "1.2.2", "scratch-svg-renderer": "0.2.0-prerelease.20190329052730", From 5758626777a6556ddc7f3e9a086cf780e9c07303 Mon Sep 17 00:00:00 2001 From: Karishma Chadha Date: Tue, 16 Apr 2019 16:01:40 -0400 Subject: [PATCH 6/6] Fix travis.yml before_deploy script to correctly pattern match --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 05269b154..f51de2590 100644 --- a/.travis.yml +++ b/.travis.yml @@ -25,7 +25,7 @@ before_deploy: if [ -z "$BEFORE_DEPLOY_RAN" ]; then npm --no-git-tag-version version $RELEASE_VERSION if [ "$TRAVIS_BRANCH" == "master" ]; then export NPM_TAG=stable; fi - if [ "$TRAVIS_BRANCH" == hotfix/* ]; then export NPM_TAG=hotfix; fi + if [[ "$TRAVIS_BRANCH" == hotfix/* ]]; then export NPM_TAG=hotfix; fi # double brackets are important for matching the wildcard git config --global user.email $(git log --pretty=format:"%ae" -n1) git config --global user.name $(git log --pretty=format:"%an" -n1) export BEFORE_DEPLOY_RAN=true