2
0

Fix accidentally instantiating Web Worker (#35473)

This commit is contained in:
Echo
2025-07-23 16:01:45 +02:00
committed by GitHub
parent 14a781fa24
commit 7d3ef27a8d
2 changed files with 17 additions and 9 deletions

View File

@@ -4,19 +4,27 @@ import { toSupportedLocale } from './locale';
const userLocale = toSupportedLocale(initialState?.meta.locale ?? 'en'); const userLocale = toSupportedLocale(initialState?.meta.locale ?? 'en');
const worker = let worker: Worker | null = null;
'Worker' in window
? new Worker(new URL('./worker', import.meta.url), {
type: 'module',
})
: null;
export async function initializeEmoji() { export async function initializeEmoji() {
if (!worker && 'Worker' in window) {
try {
worker = new Worker(new URL('./worker', import.meta.url), {
type: 'module',
credentials: 'omit',
});
} catch (err) {
console.warn('Error creating web worker:', err);
}
}
if (worker) { if (worker) {
worker.addEventListener('message', (event: MessageEvent<string>) => { // Assign worker to const to make TS happy inside the event listener.
const thisWorker = worker;
thisWorker.addEventListener('message', (event: MessageEvent<string>) => {
const { data: message } = event; const { data: message } = event;
if (message === 'ready') { if (message === 'ready') {
worker.postMessage('custom'); thisWorker.postMessage('custom');
void loadEmojiLocale(userLocale); void loadEmojiLocale(userLocale);
// Load English locale as well, because people are still used to // Load English locale as well, because people are still used to
// using it from before we supported other locales. // using it from before we supported other locales.

View File

@@ -4,7 +4,6 @@ import EMOJI_REGEX from 'emojibase-regex/emoji-loose';
import { autoPlayGif } from '@/mastodon/initial_state'; import { autoPlayGif } from '@/mastodon/initial_state';
import { assetHost } from '@/mastodon/utils/config'; import { assetHost } from '@/mastodon/utils/config';
import { loadEmojiLocale } from '.';
import { import {
EMOJI_MODE_NATIVE, EMOJI_MODE_NATIVE,
EMOJI_MODE_NATIVE_WITH_FLAGS, EMOJI_MODE_NATIVE_WITH_FLAGS,
@@ -17,6 +16,7 @@ import {
searchCustomEmojisByShortcodes, searchCustomEmojisByShortcodes,
searchEmojisByHexcodes, searchEmojisByHexcodes,
} from './database'; } from './database';
import { loadEmojiLocale } from './index';
import { import {
emojiToUnicodeHex, emojiToUnicodeHex,
twemojiHasBorder, twemojiHasBorder,