From 087075a9fd2ec9d23f2b758f02364996b5354bfa Mon Sep 17 00:00:00 2001 From: ThaUnknown <6506529+ThaUnknown@users.noreply.github.com> Date: Thu, 11 Jul 2024 19:11:50 +0200 Subject: [PATCH] fix: reduce message size for large fonts --- common/modules/parser.js | 5 +++-- common/modules/subtitles.js | 3 ++- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/common/modules/parser.js b/common/modules/parser.js index c6e0af0..42a50d3 100644 --- a/common/modules/parser.js +++ b/common/modules/parser.js @@ -1,5 +1,6 @@ -import { fontRx } from './util.js' import Metadata from 'matroska-metadata' +import { arr2text } from 'uint8-util' +import { fontRx } from './util.js' export default class Parser { parsed = false @@ -33,7 +34,7 @@ export default class Parser { for (const file of files) { if (fontRx.test(file.filename) || file.mimetype?.toLowerCase().includes('font')) { // this is cursed, but required, as capacitor-node's IPC hangs for 2mins when runnig on 32bit android when sending uint8's - this.client.dispatch('file', { data: JSON.stringify([...file.data]) }) + this.client.dispatch('file', { data: arr2text(file.data) }) } } }) diff --git a/common/modules/subtitles.js b/common/modules/subtitles.js index 31ac0ea..a0835a9 100644 --- a/common/modules/subtitles.js +++ b/common/modules/subtitles.js @@ -1,4 +1,5 @@ import JASSUB from 'jassub' +import { text2arr } from 'uint8-util' import { toTS, subRx, videoRx } from './util.js' import { settings } from '@/modules/settings.js' import { client } from '@/modules/torrent.js' @@ -41,7 +42,7 @@ export default class Subtitles { this.timeout = null this.handleFile = ({ detail }) => { if (this.selected) { - const uint8 = new Uint8Array(JSON.parse(detail.data)) + const uint8 = text2arr(detail.data) this.fonts.push(uint8) this.renderer?.addFont(uint8) }