From 9806b1df6c5c71f8c2d07ff93079f08241403070 Mon Sep 17 00:00:00 2001 From: tobspr Date: Sun, 24 May 2020 16:54:18 +0200 Subject: [PATCH] Add new analytics schema and fix tslint issues --- src/js/globals.d.ts | 2 -- src/js/platform/browser/game_analytics.js | 8 +++++--- src/js/platform/browser/storage_indexed_db.js | 2 ++ src/js/states/main_menu.js | 1 + 4 files changed, 8 insertions(+), 5 deletions(-) diff --git a/src/js/globals.d.ts b/src/js/globals.d.ts index 7e84d86a..977e8ff3 100644 --- a/src/js/globals.d.ts +++ b/src/js/globals.d.ts @@ -107,8 +107,6 @@ declare interface Window { assert(condition: boolean, failureMessage: string); coreThreadLoadedCb(); - - gameanalytics: typeof import("./game_analytics"); } declare interface Navigator { diff --git a/src/js/platform/browser/game_analytics.js b/src/js/platform/browser/game_analytics.js index 2efc458f..be1a8940 100644 --- a/src/js/platform/browser/game_analytics.js +++ b/src/js/platform/browser/game_analytics.js @@ -137,7 +137,8 @@ export class ShapezGameAnalytics extends GameAnalyticsInterface { ingameTime: root.time.now(), category, value, - gameDump: this.generateGameDump(root), + version: G_BUILD_VERSION, + gameDump: this.generateGameDump(root, category === "sync"), }); } @@ -152,14 +153,15 @@ export class ShapezGameAnalytics extends GameAnalyticsInterface { /** * Generates a game dump * @param {GameRoot} root + * @param {boolean=} metaOnly */ - generateGameDump(root) { + generateGameDump(root, metaOnly = false) { let staticEntities = []; const entities = root.entityMgr.getAllWithComponent(StaticMapEntityComponent); // Limit the entities - if (entities.length < 5000) { + if (!metaOnly && entities.length < 500) { for (let i = 0; i < entities.length; ++i) { const entity = entities[i]; const staticComp = entity.components.StaticMapEntity; diff --git a/src/js/platform/browser/storage_indexed_db.js b/src/js/platform/browser/storage_indexed_db.js index 3d29c246..0c1dbe4f 100644 --- a/src/js/platform/browser/storage_indexed_db.js +++ b/src/js/platform/browser/storage_indexed_db.js @@ -34,10 +34,12 @@ export class StorageImplBrowserIndexedDB extends StorageInterface { reject("Indexed DB access error"); }; + // @ts-ignore request.onsuccess = event => resolve(event.target.result); request.onupgradeneeded = /** @type {IDBVersionChangeEvent} */ event => { /** @type {IDBDatabase} */ + // @ts-ignore const database = event.target.result; const objectStore = database.createObjectStore("files", { diff --git a/src/js/states/main_menu.js b/src/js/states/main_menu.js index 1c9d5010..98471084 100644 --- a/src/js/states/main_menu.js +++ b/src/js/states/main_menu.js @@ -122,6 +122,7 @@ export class MainMenuState extends GameState { const closeLoader = this.dialogs.showLoadingDialog(); const reader = new FileReader(); reader.addEventListener("load", event => { + // @ts-ignore const contents = event.target.result; let realContent;