fix(frontend): workers should be imported as url to correctly resolve

This commit is contained in:
Jack Westbrook
2025-03-03 09:52:52 +01:00
parent 846afe2e68
commit d3469ceca0
5 changed files with 18 additions and 7 deletions
+4 -2
View File
@@ -8,7 +8,9 @@ import { corsWorker } from 'app/core/utils/CorsWorker';
import { contextSrv } from '../services/context_srv';
import { corsSharedWorker, sharedWorkersSupported } from '../utils/CorsSharedWorker';
import clientWorkerUrl from './client.worker?worker&url';
import { isChromePerformance, prepareContext } from './crash.utils';
import detectorWorkerUrl from './detector.worker?sharedworker&url';
const logger = createMonitoringLogger('core.crash-detection');
@@ -48,7 +50,7 @@ export function initializeCrashDetection() {
dbName: 'grafana.crashes',
createClientWorker(): Worker {
return corsWorker('./client.worker', { name: 'crash' });
return corsWorker(clientWorkerUrl, { name: 'crash' });
},
/**
@@ -61,7 +63,7 @@ export function initializeCrashDetection() {
* We guarantee the type assertion is correct by returning a SharedWorker in CorsSharedWorker constructor.
*/
createDetectorWorker() {
return corsSharedWorker('./detector.worker', { name: 'crashDetector' });
return corsSharedWorker(detectorWorkerUrl, { name: 'crashDetector' });
},
reportCrash: async (report) => {
@@ -1,5 +1,7 @@
import { corsWorker } from 'app/core/utils/CorsWorker';
import matcherWorkerUrl from './routeGroupsMatcher.worker?worker&url';
// CorsWorker is needed as a workaround for CORS issue caused
// by static assets served from an url different from origin
export const createWorker = () => corsWorker('./routeGroupsMatcher.worker.ts', { name: 'routeGroupsMatcher' });
export const createWorker = () => corsWorker(matcherWorkerUrl, { name: 'routeGroupsMatcher' });
@@ -1,3 +1,5 @@
import { corsWorker } from 'app/core/utils/CorsWorker';
export const createWorker = () => corsWorker('./DetectChangesWorker.ts', { name: 'detectChanges' });
import detectChangesWorkerUrl from './DetectChangesWorker?worker&url';
export const createWorker = () => corsWorker(detectChangesWorkerUrl, { name: 'detectChanges' });
@@ -1,3 +1,5 @@
import { corsWorker } from 'app/core/utils/CorsWorker';
export const createWorker = () => corsWorker('./service.worker.ts', { name: 'centrifuge' });
import centrifugeWorkerUrl from './service.worker?worker&url';
export const createWorker = () => corsWorker(centrifugeWorkerUrl, { name: 'centrifuge' });
@@ -1,4 +1,7 @@
import { corsWorker } from 'app/core/utils/CorsWorker';
export const createWorker = () => corsWorker('./layout.worker.js', { name: 'nodeGraphLayout' });
export const createMsaglWorker = () => corsWorker('./layeredLayout.worker.js', { name: 'nodeGraphLayeredLayout' });
import layeredLayoutWorkerUrl from './layeredLayout.worker?worker&url';
import layoutWorkerUrl from './layout.worker?worker&url';
export const createWorker = () => corsWorker(layoutWorkerUrl, { name: 'nodeGraphLayout' });
export const createMsaglWorker = () => corsWorker(layeredLayoutWorkerUrl, { name: 'nodeGraphLayeredLayout' });