diff options
Diffstat (limited to 'webAO')
| -rw-r--r-- | webAO/client.js | 40 | ||||
| -rw-r--r-- | webAO/master.js | 63 |
2 files changed, 69 insertions, 34 deletions
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:") { |
