diff --git a/src/server/index.tsx b/src/server/index.tsx
index 537aa72d..f8876fa6 100644
--- a/src/server/index.tsx
+++ b/src/server/index.tsx
@@ -12,7 +12,7 @@ import process from "process";
import serialize from "serialize-javascript";
import sharp from "sharp";
import { App } from "../shared/components/app/app";
-import { getHttpBase, getHttpBaseInternal } from "../shared/env";
+import { getHttpBaseExternal, getHttpBaseInternal } from "../shared/env";
import {
ILemmyConfig,
InitialFetchRequest,
@@ -65,7 +65,13 @@ Disallow: /search/
server.get("/service-worker.js", async (_req, res) => {
res.setHeader("Content-Type", "application/javascript");
- res.sendFile(path.resolve("./dist/service-worker.js"));
+ res.sendFile(
+ path.resolve(
+ `./dist/service-worker${
+ process.env.NODE_ENV === "development" ? "-development" : ""
+ }.js`
+ )
+ );
});
server.get("/robots.txt", async (_req, res) => {
@@ -237,7 +243,7 @@ process.on("SIGINT", () => {
process.exit(0);
});
-const iconSizes = [72, 96, 128, 144, 152, 192, 384, 512];
+const iconSizes = [72, 96, 144, 192, 512];
const defaultLogoPathDirectory = path.join(
process.cwd(),
"dist",
@@ -246,11 +252,8 @@ const defaultLogoPathDirectory = path.join(
);
export async function generateManifestBase64(site: Site) {
- const url = (
- process.env.NODE_ENV === "development"
- ? "http://localhost:1236/"
- : getHttpBase()
- ).replace(/\/$/g, "");
+ const url = getHttpBaseExternal();
+
const icon = site.icon ? await fetchIconPng(site.icon) : null;
const manifest = {
@@ -378,9 +381,9 @@ async function createSsrHtml(root: string, isoData: IsoDataOptionalSite) {
site &&
``
}
diff --git a/src/shared/env.ts b/src/shared/env.ts
index 14641f21..576c6c58 100644
--- a/src/shared/env.ts
+++ b/src/shared/env.ts
@@ -41,9 +41,15 @@ function getBaseLocal(s = "") {
export function getHttpBaseInternal() {
return getBaseLocal(); // Don't use secure here
}
+
+export function getHttpBaseExternal() {
+ return `http${getSecure()}://${getExternalHost()}`;
+}
+
export function getHttpBase() {
return getBaseLocal(getSecure());
}
+
export function isHttps() {
return getSecure() === "s";
}