From 91e26bd4fe4ca8182f6ef1bf001fd326edc37c2a Mon Sep 17 00:00:00 2001 From: Andrey Kolosov Date: Fri, 16 Aug 2019 18:46:40 +0300 Subject: [PATCH] new peerjs server --- package-lock.json | 17 ++++++++++++++++- package.json | 3 ++- src/App.js | 10 +++++++++- src/api/webrtc.js | 2 +- src/fs.js | 8 ++++---- 5 files changed, 32 insertions(+), 8 deletions(-) diff --git a/package-lock.json b/package-lock.json index cdcd330..6d9a2bc 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "diabloweb", - "version": "1.0.31", + "version": "1.0.33", "lockfileVersion": 1, "requires": true, "dependencies": { @@ -11729,6 +11729,21 @@ "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz", "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=" }, + "sourcemapped-stacktrace": { + "version": "1.1.9", + "resolved": "https://registry.npmjs.org/sourcemapped-stacktrace/-/sourcemapped-stacktrace-1.1.9.tgz", + "integrity": "sha512-N6SLOT+9OQZdoSpu1PkSjyrxx/B2SGom9LuxjbwZFNNz7+FpMEUpwb3JV+UpaxWvoGM/8k7guuOJxcB6BWEU9Q==", + "requires": { + "source-map": "0.5.6" + }, + "dependencies": { + "source-map": { + "version": "0.5.6", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.6.tgz", + "integrity": "sha1-dc449SvwczxafwwRjYEzSiu19BI=" + } + } + }, "spdx-correct": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.0.tgz", diff --git a/package.json b/package.json index 25c3417..0f59d22 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "diabloweb", - "version": "1.0.31", + "version": "1.0.33", "private": true, "dependencies": { "@babel/core": "7.4.3", @@ -54,6 +54,7 @@ "resolve": "1.10.0", "sass-loader": "7.1.0", "semver": "6.0.0", + "sourcemapped-stacktrace": "^1.1.9", "style-loader": "0.23.1", "terser-webpack-plugin": "1.2.3", "ts-pnp": "1.1.2", diff --git a/src/App.js b/src/App.js index f8795fa..6da8f58 100644 --- a/src/App.js +++ b/src/App.js @@ -3,6 +3,8 @@ import './App.scss'; import classNames from 'classnames'; import ReactGA from 'react-ga'; +import { mapStackTrace } from 'sourcemapped-stacktrace'; + import create_fs from './fs'; import load_game from './api/loader'; import { SpawnSizes } from './api/load_spawn'; @@ -153,7 +155,13 @@ class App extends React.Component { } onError(message, stack) { - this.setState(({error}) => !error && {error: {message, stack}}); + if (stack) { + mapStackTrace(stack, stack => { + this.setState(({error}) => !error && {error: {message, stack: stack.join("\n")}}); + }); + } else { + this.setState(({error}) => !error && {error: {message}}); + } } openKeyboard(rect) { diff --git a/src/api/webrtc.js b/src/api/webrtc.js index ccbb72c..ea16a91 100644 --- a/src/api/webrtc.js +++ b/src/api/webrtc.js @@ -12,7 +12,7 @@ import { buffer_reader, read_packet, write_packet, client_packet, server_packet, }*/ const PeerID = name => `diabloweb_${name}`; -const Options = undefined;//{host: 'diablo.rivsoft.net', port: 80}; +const Options = {host: 'diablo.rivsoft.net', port: 443, secure: true}; const MAX_PLRS = 4; class webrtc_server { diff --git a/src/fs.js b/src/fs.js index e4242d2..724893e 100644 --- a/src/fs.js +++ b/src/fs.js @@ -1,6 +1,6 @@ import IdbKvStore from 'idb-kv-store'; -const importStorage = () => new Promise((resolve, reject) => { +/*const importStorage = () => new Promise((resolve, reject) => { let done = false; const frame = document.createElement('iframe'); window.addEventListener('message', ({data}) => { @@ -28,7 +28,7 @@ const importStorage = () => new Promise((resolve, reject) => { resolve(null); } }, 10000); -}); +});*/ async function downloadFile(store, name) { const file = await store.get(name.toLowerCase()); @@ -75,7 +75,7 @@ export default async function create_fs(load) { for (let [name, data] of Object.entries(await store.json())) { files.set(name, data); } - if (load) { + /*if (load) { const files = await importStorage(); if (files) { for (let [name, data] of files) { @@ -83,7 +83,7 @@ export default async function create_fs(load) { store.set(name, data); } } - } + }*/ window.DownloadFile = name => downloadFile(store, name); window.DownloadSaves = () => downloadSaves(store); return {