mirror of
https://github.com/bitsocialnet/5chan.git
synced 2026-08-03 07:41:04 +02:00
fix(electron): restore packaged desktop app loading (#1095)
* fix(electron): restore packaged desktop app loading Rebuild and verify Electron native modules before packaging and use the Vite base URL for packaged asset preloads. * test(preload-utils): cover non-root base urls
This commit is contained in:
@@ -1,7 +1,7 @@
|
||||
import { afterEach, beforeEach, describe, expect, it, vi } from 'vitest';
|
||||
import { copyToClipboard } from '../clipboard-utils';
|
||||
import { hashStringToColor, getTextColorForBackground, removeMarkdown } from '../post-utils';
|
||||
import { preloadReplyModal, preloadThemeAssets } from '../preload-utils';
|
||||
import { preloadReplyModal, preloadThemeAssets, resolveAssetUrl } from '../preload-utils';
|
||||
import { computeOmittedCount, filterRepliesForDisplay, getPreviewDisplayReplies, getTotalReplyCount } from '../replies-preview-utils';
|
||||
import { getQuotedCidsFromContent, mergeQuotedCids } from '../reply-quote-utils';
|
||||
import { formatUserIDForDisplay, truncateWithEllipsisInMiddle } from '../string-utils';
|
||||
@@ -116,7 +116,16 @@ describe('misc utils', () => {
|
||||
|
||||
preloadThemeAssets();
|
||||
|
||||
expect(loadedSources).toEqual(['/buttons/default.png', '/buttons/hover.png', '/backgrounds/wallpaper.png']);
|
||||
expect(loadedSources).toEqual([
|
||||
`${import.meta.env.BASE_URL}buttons/default.png`,
|
||||
`${import.meta.env.BASE_URL}buttons/hover.png`,
|
||||
`${import.meta.env.BASE_URL}backgrounds/wallpaper.png`,
|
||||
]);
|
||||
});
|
||||
|
||||
it('resolves theme asset URLs against a non-root base URL', () => {
|
||||
expect(resolveAssetUrl('buttons/default.png', 'file:///app/')).toBe('file:///app/buttons/default.png');
|
||||
expect(resolveAssetUrl('backgrounds/wallpaper.png', 'file:///app/')).toBe('file:///app/backgrounds/wallpaper.png');
|
||||
});
|
||||
|
||||
it('schedules reply modal preload with requestIdleCallback when available', () => {
|
||||
|
||||
@@ -1,5 +1,7 @@
|
||||
import { THEME_BUTTON_IMAGES, THEME_BACKGROUND_IMAGES } from '../../generated/asset-manifest';
|
||||
|
||||
export const resolveAssetUrl = (path: string, baseUrl = import.meta.env.BASE_URL): string => `${baseUrl}${path}`;
|
||||
|
||||
/**
|
||||
* Preloads an array of image URLs by creating Image objects.
|
||||
* Images are loaded in the background and cached by the browser.
|
||||
@@ -7,7 +9,7 @@ import { THEME_BUTTON_IMAGES, THEME_BACKGROUND_IMAGES } from '../../generated/as
|
||||
const preloadImages = (imagePaths: readonly string[]): void => {
|
||||
imagePaths.forEach((path) => {
|
||||
const img = new Image();
|
||||
img.src = `/${path}`;
|
||||
img.src = resolveAssetUrl(path);
|
||||
});
|
||||
};
|
||||
|
||||
|
||||
Reference in New Issue
Block a user