Make packager integration less fragile
This commit is contained in:
1 parent
d94b68d4ac
commit
ffeba2d317
1 file changed
+12
-6
@@ -4,7 +4,8 @@ import PropTypes from 'prop-types';
|
||||
import log from './log';
|
||||
import {getIsShowingProject} from '../reducers/project-state';
|
||||
|
||||
const PACKAGER = 'https://packager.turbowarp.org';
|
||||
const PACKAGER_URL = 'https://packager.turbowarp.org';
|
||||
const PACKAGER_ORIGIN = PACKAGER_URL;
|
||||
|
||||
const readBlobAsArrayBuffer = blob => new Promise((resolve, reject) => {
|
||||
const fr = new FileReader();
|
||||
@@ -28,11 +29,11 @@ const PackagerIntegrationHOC = function (WrappedComponent) {
|
||||
}
|
||||
handleClickPackager () {
|
||||
if (this.props.canOpenPackager) {
|
||||
window.open(`${PACKAGER}/?import_from=${location.origin}`);
|
||||
window.open(`${PACKAGER_URL}/?import_from=${location.origin}`);
|
||||
}
|
||||
}
|
||||
handleMessage (e) {
|
||||
if (e.origin !== PACKAGER) {
|
||||
if (e.origin !== PACKAGER_ORIGIN) {
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -40,12 +41,17 @@ const PackagerIntegrationHOC = function (WrappedComponent) {
|
||||
return;
|
||||
}
|
||||
|
||||
const packagerData = e.data.p4;
|
||||
if (packagerData.type !== 'ready-for-import') {
|
||||
return;
|
||||
}
|
||||
|
||||
// The packager needs to know that we will be importing something so it can display a loading screen
|
||||
e.source.postMessage({
|
||||
p4: {
|
||||
type: 'start-import'
|
||||
}
|
||||
}, PACKAGER);
|
||||
}, e.origin);
|
||||
|
||||
this.props.vm.saveProjectSb3()
|
||||
.then(readBlobAsArrayBuffer)
|
||||
@@ -57,7 +63,7 @@ const PackagerIntegrationHOC = function (WrappedComponent) {
|
||||
data: buffer,
|
||||
name
|
||||
}
|
||||
}, PACKAGER, [buffer]);
|
||||
}, e.origin, [buffer]);
|
||||
})
|
||||
.catch(err => {
|
||||
log.error(err);
|
||||
@@ -65,7 +71,7 @@ const PackagerIntegrationHOC = function (WrappedComponent) {
|
||||
p4: {
|
||||
type: 'cancel-import'
|
||||
}
|
||||
}, PACKAGER);
|
||||
}, e.origin);
|
||||
});
|
||||
}
|
||||
render () {
|
||||
|
||||
Reference in new issue
Block a user