mirror of
https://github.com/jellyfin/jellyfin-web.git
synced 2024-10-07 11:23:36 +00:00
fix: babel evt-polyfill
fix: worker paths fix: wasm paths
This commit is contained in:
parent
8848b75be0
commit
a73b691653
1
package-lock.json
generated
1
package-lock.json
generated
@ -25,6 +25,7 @@
|
|||||||
"dompurify": "3.0.1",
|
"dompurify": "3.0.1",
|
||||||
"epubjs": "0.4.2",
|
"epubjs": "0.4.2",
|
||||||
"escape-html": "1.0.3",
|
"escape-html": "1.0.3",
|
||||||
|
"event-target-polyfill": "0.0.3",
|
||||||
"fast-text-encoding": "1.0.6",
|
"fast-text-encoding": "1.0.6",
|
||||||
"flv.js": "1.6.2",
|
"flv.js": "1.6.2",
|
||||||
"headroom.js": "0.12.0",
|
"headroom.js": "0.12.0",
|
||||||
|
@ -84,6 +84,7 @@
|
|||||||
"dompurify": "3.0.1",
|
"dompurify": "3.0.1",
|
||||||
"epubjs": "0.4.2",
|
"epubjs": "0.4.2",
|
||||||
"escape-html": "1.0.3",
|
"escape-html": "1.0.3",
|
||||||
|
"event-target-polyfill": "0.0.3",
|
||||||
"fast-text-encoding": "1.0.6",
|
"fast-text-encoding": "1.0.6",
|
||||||
"flv.js": "1.6.2",
|
"flv.js": "1.6.2",
|
||||||
"headroom.js": "0.12.0",
|
"headroom.js": "0.12.0",
|
||||||
|
@ -1270,10 +1270,11 @@ function tryRemoveElement(elem) {
|
|||||||
fonts: avaliableFonts,
|
fonts: avaliableFonts,
|
||||||
fallbackFont: 'liberation sans',
|
fallbackFont: 'liberation sans',
|
||||||
availableFonts: {'liberation sans': `${appRouter.baseUrl()}/libraries/default.woff2`},
|
availableFonts: {'liberation sans': `${appRouter.baseUrl()}/libraries/default.woff2`},
|
||||||
|
// Disabled eslint compat, but is safe as corejs3 polyfills URL
|
||||||
// eslint-disable-next-line compat/compat
|
// eslint-disable-next-line compat/compat
|
||||||
workerUrl: `${appRouter.baseUrl()}/${new URL('jassub/dist/jassub-worker.js', import.meta.url)}`,
|
workerUrl: `${appRouter.baseUrl()}${new URL('jassub/dist/jassub-worker.js', import.meta.url).pathname}`,
|
||||||
// eslint-disable-next-line compat/compat
|
// eslint-disable-next-line compat/compat
|
||||||
legacyWorkerUrl: `${appRouter.baseUrl()}/${new URL('jassub/dist/jassub-worker-legacy.js', import.meta.url)}`,
|
legacyWorkerUrl: `${appRouter.baseUrl()}${new URL('jassub/dist/jassub-worker-legacy.js', import.meta.url).pathname}`,
|
||||||
timeOffset: (this._currentPlayOptions.transcodingOffsetTicks || 0) / 10000000,
|
timeOffset: (this._currentPlayOptions.transcodingOffsetTicks || 0) / 10000000,
|
||||||
// new jassub options; override all, even defaults
|
// new jassub options; override all, even defaults
|
||||||
blendMode: 'js',
|
blendMode: 'js',
|
||||||
@ -1290,37 +1291,39 @@ function tryRemoveElement(elem) {
|
|||||||
prescaleHeightLimit: 1080,
|
prescaleHeightLimit: 1080,
|
||||||
maxRenderHeight: 2160
|
maxRenderHeight: 2160
|
||||||
};
|
};
|
||||||
import('jassub').then(({ default: JASSUB }) => {
|
import('event-target-polyfill').then(() => {
|
||||||
Promise.all([
|
import('jassub').then(({ default: JASSUB }) => {
|
||||||
apiClient.getNamedConfiguration('encoding'),
|
Promise.all([
|
||||||
// Worker in Tizen 5 doesn't resolve relative path with async request
|
apiClient.getNamedConfiguration('encoding'),
|
||||||
resolveUrl(options.workerUrl),
|
// Worker in Tizen 5 doesn't resolve relative path with async request
|
||||||
resolveUrl(options.legacyWorkerUrl)
|
resolveUrl(options.workerUrl),
|
||||||
]).then(([config, workerUrl, legacyWorkerUrl]) => {
|
resolveUrl(options.legacyWorkerUrl)
|
||||||
options.workerUrl = workerUrl;
|
]).then(([config, workerUrl, legacyWorkerUrl]) => {
|
||||||
options.legacyWorkerUrl = legacyWorkerUrl;
|
options.workerUrl = workerUrl;
|
||||||
|
options.legacyWorkerUrl = legacyWorkerUrl;
|
||||||
|
|
||||||
const cleanup = () => {
|
const cleanup = () => {
|
||||||
this.#currentJASSUB.destroy();
|
this.#currentJASSUB.destroy();
|
||||||
this.#currentJASSUB = null;
|
this.#currentJASSUB = null;
|
||||||
onErrorInternal(this, 'mediadecodeerror');
|
onErrorInternal(this, 'mediadecodeerror');
|
||||||
};
|
};
|
||||||
|
|
||||||
if (config.EnableFallbackFont) {
|
if (config.EnableFallbackFont) {
|
||||||
apiClient.getJSON(fallbackFontList).then((fontFiles = []) => {
|
apiClient.getJSON(fallbackFontList).then((fontFiles = []) => {
|
||||||
fontFiles.forEach(font => {
|
fontFiles.forEach(font => {
|
||||||
const fontUrl = apiClient.getUrl(`/FallbackFont/Fonts/${font.Name}`, {
|
const fontUrl = apiClient.getUrl(`/FallbackFont/Fonts/${font.Name}`, {
|
||||||
api_key: apiClient.accessToken()
|
api_key: apiClient.accessToken()
|
||||||
|
});
|
||||||
|
avaliableFonts.push(fontUrl);
|
||||||
});
|
});
|
||||||
avaliableFonts.push(fontUrl);
|
this.#currentJASSUB = new JASSUB(options);
|
||||||
|
this.#currentJASSUB.addEventListener('error', cleanup, { once: true });
|
||||||
});
|
});
|
||||||
|
} else {
|
||||||
this.#currentJASSUB = new JASSUB(options);
|
this.#currentJASSUB = new JASSUB(options);
|
||||||
this.#currentJASSUB.addEventListener('error', cleanup, { once: true });
|
this.#currentJASSUB.addEventListener('error', cleanup, { once: true });
|
||||||
});
|
}
|
||||||
} else {
|
});
|
||||||
this.#currentJASSUB = new JASSUB(options);
|
|
||||||
this.#currentJASSUB.addEventListener('error', cleanup, { once: true });
|
|
||||||
}
|
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
@ -8,10 +8,13 @@ const { DefinePlugin } = require('webpack');
|
|||||||
const Assets = [
|
const Assets = [
|
||||||
'native-promise-only/npo.js',
|
'native-promise-only/npo.js',
|
||||||
'libarchive.js/dist/worker-bundle.js',
|
'libarchive.js/dist/worker-bundle.js',
|
||||||
|
'pdfjs-dist/build/pdf.worker.js'
|
||||||
|
];
|
||||||
|
|
||||||
|
const JassubWasm = [
|
||||||
'jassub/dist/jassub-worker.wasm',
|
'jassub/dist/jassub-worker.wasm',
|
||||||
'jassub/dist/jassub-worker-legacy.mem',
|
'jassub/dist/jassub-worker-legacy.mem',
|
||||||
'jassub/dist/default.woff2',
|
'jassub/dist/default.woff2'
|
||||||
'pdfjs-dist/build/pdf.worker.js'
|
|
||||||
];
|
];
|
||||||
|
|
||||||
const LibarchiveWasm = [
|
const LibarchiveWasm = [
|
||||||
@ -80,6 +83,14 @@ const config = {
|
|||||||
to: path.resolve(__dirname, './dist/libraries/wasm-gen')
|
to: path.resolve(__dirname, './dist/libraries/wasm-gen')
|
||||||
};
|
};
|
||||||
})
|
})
|
||||||
|
}),
|
||||||
|
new CopyPlugin({
|
||||||
|
patterns: JassubWasm.map(asset => {
|
||||||
|
return {
|
||||||
|
from: path.resolve(__dirname, `./node_modules/${asset}`),
|
||||||
|
to: path.resolve(__dirname, './dist')
|
||||||
|
};
|
||||||
|
})
|
||||||
})
|
})
|
||||||
],
|
],
|
||||||
output: {
|
output: {
|
||||||
@ -144,6 +155,7 @@ const config = {
|
|||||||
{
|
{
|
||||||
test: /\.(js|jsx)$/,
|
test: /\.(js|jsx)$/,
|
||||||
include: [
|
include: [
|
||||||
|
path.resolve(__dirname, 'node_modules/event-target-polyfill'),
|
||||||
path.resolve(__dirname, 'node_modules/rvfc-polyfill'),
|
path.resolve(__dirname, 'node_modules/rvfc-polyfill'),
|
||||||
path.resolve(__dirname, 'node_modules/@jellyfin/sdk'),
|
path.resolve(__dirname, 'node_modules/@jellyfin/sdk'),
|
||||||
path.resolve(__dirname, 'node_modules/@remix-run/router'),
|
path.resolve(__dirname, 'node_modules/@remix-run/router'),
|
||||||
|
Loading…
Reference in New Issue
Block a user