diff options
Diffstat (limited to 'src/lib/Utility/fingerprint.ts')
| -rw-r--r-- | src/lib/Utility/fingerprint.ts | 25 |
1 files changed, 10 insertions, 15 deletions
diff --git a/src/lib/Utility/fingerprint.ts b/src/lib/Utility/fingerprint.ts index 5af258d0..e38ff61f 100644 --- a/src/lib/Utility/fingerprint.ts +++ b/src/lib/Utility/fingerprint.ts @@ -1,18 +1,13 @@ -export const getFingerprint = () => - btoa( - `${(() => { - const gl = new OffscreenCanvas(0, 0).getContext("webgl"); +const STORAGE_KEY = "notificationDeviceId"; - if (!gl) return "none"; +export const getFingerprint = () => { + const existingFingerprint = window.localStorage.getItem(STORAGE_KEY); - const debugInfo = gl.getExtension("WEBGL_debug_renderer_info"); + if (existingFingerprint) return existingFingerprint; - return debugInfo - ? gl.getParameter(debugInfo.UNMASKED_RENDERER_WEBGL) - : "unknown"; - })()}-${ - navigator === null || navigator === void 0 - ? void 0 - : navigator.hardwareConcurrency - }`, - ); + const generatedFingerprint = window.crypto.randomUUID(); + + window.localStorage.setItem(STORAGE_KEY, generatedFingerprint); + + return generatedFingerprint; +}; |