Files
crowd-funder-from-jason/src/main.web.ts
Matthew Raymer 7d5e81263c # Commit Message for SharedArrayBuffer Platform Exclusion
fix: eliminate SharedArrayBuffer checks on non-web platforms

* Add platform guard in AbsurdSqlDatabaseService to only initialize on web
* Change singleton pattern from eager to lazy instantiation
* Update worker import to use lazy singleton pattern
* Prevents absurd-sql initialization on Electron/Capacitor platforms
* Reduces console noise and memory footprint on desktop/mobile
* Maintains full web platform functionality and performance

Resolves SharedArrayBuffer-related console output on Electron platform
while preserving all web features and maintaining clean architecture.
2025-07-03 05:15:57 +00:00

36 lines
1.1 KiB
TypeScript

import { initializeApp } from "./main.common";
import { logger } from "./utils/logger";
const platform = process.env.VITE_PLATFORM;
const pwa_enabled = process.env.VITE_PWA_ENABLED === "true";
// Only log SharedArrayBuffer info for web platform in development
if (platform === "web" && process.env.NODE_ENV !== "production") {
logger.debug(
`[SharedArrayBuffer] Available: ${typeof SharedArrayBuffer !== "undefined"}`,
);
logger.debug(`[Browser] User Agent: ${navigator.userAgent}`);
logger.debug(
`[Headers] Check COOP/COEP in Network tab if SharedArrayBuffer is false`,
);
}
// Only import service worker for web builds
if (pwa_enabled) {
import("./registerServiceWorker"); // Web PWA support
}
const app = initializeApp();
// Note: Worker initialization is now handled by WebPlatformService
// This ensures single-point database access and prevents double migrations
if (platform === "web" || platform === "development") {
logger.debug(
"[Web] Database initialization will be handled by WebPlatformService",
);
} else {
logger.debug("[Web] SQL not initialized for platform", { platform });
}
app.mount("#app");