Make packager integration less fragile

This commit is contained in:
GarboMuffin committed 2023-01-08 14:58:24 -06:00
1 parent d94b68d4ac
commit ffeba2d317
1 file changed
+12 -6
+12 -6
View File
@@ -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 () {