aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--package.json1
-rw-r--r--webAO/client.js40
-rw-r--r--webAO/master.js63
3 files changed, 70 insertions, 34 deletions
diff --git a/package.json b/package.json
index 9ce6d53..73205cd 100644
--- a/package.json
+++ b/package.json
@@ -31,6 +31,7 @@
"dependencies": {
"@fingerprintjs/fingerprintjs": "^3.0.5",
"core-js": "^3.8.2",
+ "fingerprintjs2": "^2.1.2",
"golden-layout": "^1.5.9",
"regenerator-runtime": "^0.13.7"
}
diff --git a/webAO/client.js b/webAO/client.js
index b854a1b..b0d0295 100644
--- a/webAO/client.js
+++ b/webAO/client.js
@@ -4,7 +4,7 @@
* credits to aleks for original idea and source
*/
-import FingerprintJS from '@fingerprintjs/fingerprintjs';
+import Fingerprint2 from 'fingerprintjs2';
import { escapeChat, encodeChat, prepChat, safe_tags } from './encoding.js';
@@ -60,20 +60,34 @@ let extrafeatures = [];
let hdid;
const options = { fonts: { extendedJsFonts: true, userDefinedFonts: ["Ace Attorney", "8bitoperator", "DINEngschrift"] }, excludes: { userAgent: true, enumerateDevices: true } };
-FingerprintJS.load().then(fp => {
- fp.get().then(result => {
- // Handle the result
- hdid = result.visitorId;
+if (window.requestIdleCallback) {
+ requestIdleCallback(function () {
+ Fingerprint2.get(options, function (components) {
+ hdid = Fingerprint2.x64hash128(components.reduce((a, b) => `${a.value || a}, ${b.value}`), 31);
+ client = new Client(serverIP);
+ viewport = new Viewport();
- client = new Client(serverIP);
- viewport = new Viewport();
+ if (/webOS|iPod|BlackBerry|BB|PlayBook|IEMobile|Windows Phone|Kindle|Silk|PlayStation|Opera Mini/i.test(navigator.userAgent)) {
+ oldLoading = true;
+ }
+ client.loadResources();
+ });
+ });
+} else {
+ setTimeout(function () {
+ Fingerprint2.get(options, function (components) {
+ hdid = Fingerprint2.x64hash128(components.reduce((a, b) => `${a.value || a}, ${b.value}`), 31);
+ client = new Client(serverIP);
+ viewport = new Viewport();
+
+ if (/webOS|iPod|BlackBerry|BB|PlayBook|IEMobile|Windows Phone|Kindle|Silk|PlayStation|Opera Mini/i.test(navigator.userAgent)) {
+ oldLoading = true;
+ }
+ client.loadResources();
+ });
+ }, 500);
+}
- if (/webOS|iPod|BlackBerry|BB|PlayBook|IEMobile|Windows Phone|Kindle|Silk|PlayStation|Opera Mini/i.test(navigator.userAgent)) {
- oldLoading = true;
- }
- client.loadResources();
- })
-})
let lastICMessageTime = new Date(0);
diff --git a/webAO/master.js b/webAO/master.js
index 34d86ef..c1543f3 100644
--- a/webAO/master.js
+++ b/webAO/master.js
@@ -1,7 +1,7 @@
const MASTERSERVER_IP = "master.aceattorneyonline.com:27014";
import { version } from '../package.json';
-import FingerprintJS from '@fingerprintjs/fingerprintjs';
+import Fingerprint2 from 'fingerprintjs2';
import { unescapeChat } from './encoding.js';
import { safe_tags } from './encoding.js';
@@ -18,26 +18,47 @@ let servers = [];
servers[-2] = { name: "Singleplayer", description: "Build cases, try out new things", ip: "127.0.0.1", port: 50001, assets: "", online: "" };
servers[-1] = { name: "Localhost", description: "This is your computer on port 50001", ip: "127.0.0.1", port: 50001, assets: "", online: "Online: ?/?" };
-FingerprintJS.load().then(fp => {
- fp.get().then(result => {
- // Handle the result
- hdid = result.visitorId;
-
- if (/webOS|iPod|BlackBerry|BB|PlayBook|IEMobile|Windows Phone|Kindle|Silk|PlayStation|Opera Mini/i.test(navigator.userAgent)) {
- lowMemory = true;
- }
-
- check_https();
-
- masterserver = new WebSocket("ws://" + MASTERSERVER_IP);
- masterserver.onopen = (evt) => onOpen(evt);
- masterserver.onerror = (evt) => onError(evt);
- masterserver.onmessage = (evt) => onMessage(evt);
-
- // i don't need the ms to play alone
- setTimeout(() => checkOnline(-1, "127.0.0.1:50001"), 0);
- })
-})
+if (window.requestIdleCallback) {
+ requestIdleCallback(function () {
+ Fingerprint2.get(options, function (components) {
+ hdid = Fingerprint2.x64hash128(components.reduce((a, b) => `${a.value || a}, ${b.value}`), 31);
+
+ if (/webOS|iPod|BlackBerry|BB|PlayBook|IEMobile|Windows Phone|Kindle|Silk|PlayStation|Opera Mini/i.test(navigator.userAgent)) {
+ lowMemory = true;
+ }
+
+ check_https();
+
+ masterserver = new WebSocket("ws://" + MASTERSERVER_IP);
+ masterserver.onopen = (evt) => onOpen(evt);
+ masterserver.onerror = (evt) => onError(evt);
+ masterserver.onmessage = (evt) => onMessage(evt);
+
+ // i don't need the ms to play alone
+ setTimeout(() => checkOnline(-1, "127.0.0.1:50001"), 0);
+ });
+ });
+} else {
+ setTimeout(function () {
+ Fingerprint2.get(options, function (components) {
+ hdid = Fingerprint2.x64hash128(components.reduce((a, b) => `${a.value || a}, ${b.value}`), 31);
+
+ if (/webOS|iPod|BlackBerry|BB|PlayBook|IEMobile|Windows Phone|Kindle|Silk|PlayStation|Opera Mini/i.test(navigator.userAgent)) {
+ lowMemory = true;
+ }
+
+ check_https();
+
+ masterserver = new WebSocket("ws://" + MASTERSERVER_IP);
+ masterserver.onopen = (evt) => onOpen(evt);
+ masterserver.onerror = (evt) => onError(evt);
+ masterserver.onmessage = (evt) => onMessage(evt);
+
+ // i don't need the ms to play alone
+ setTimeout(() => checkOnline(-1, "127.0.0.1:50001"), 0);
+ });
+ }, 500);
+}
export function check_https() {
if (document.location.protocol === "https:") {