diff --git a/package.json b/package.json index 9acaba4..cf2d78f 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "lemmy-ui", - "version": "0.18.1-rc.5", + "version": "0.18.1-rc.4", "description": "An isomorphic UI for lemmy", "repository": "https://github.com/LemmyNet/lemmy-ui", "license": "AGPL-3.0", diff --git a/src/server/handlers/security-handler.ts b/src/server/handlers/security-handler.ts index 0aed0cd..c0f90fb 100644 --- a/src/server/handlers/security-handler.ts +++ b/src/server/handlers/security-handler.ts @@ -5,13 +5,9 @@ export default async ({ res }: { res: Response }) => { res.send( `Contact: mailto:security@lemmy.ml - Contact: mailto:admin@` + - process.env.LEMMY_UI_LEMMY_EXTERNAL_HOST + - ` - Contact: mailto:security@` + - process.env.LEMMY_UI_LEMMY_EXTERNAL_HOST + - ` - Expires: 2024-01-01T04:59:00.000Z + Contact: mailto:admin@${process.env.LEMMY_UI_LEMMY_EXTERNAL_HOST} + Contact: mailto:security@${process.env.LEMMY_UI_LEMMY_EXTERNAL_HOST} + Expires: 2024-01-01T04:59:00.000Z ` ); }; diff --git a/src/server/index.tsx b/src/server/index.tsx index 458d7f0..e1b36e2 100644 --- a/src/server/index.tsx +++ b/src/server/index.tsx @@ -20,13 +20,7 @@ const [hostname, port] = process.env["LEMMY_UI_HOST"] server.use(express.json()); server.use(express.urlencoded({ extended: false })); -server.use( - getStaticDir(), - express.static(path.resolve("./dist"), { - maxAge: 24 * 60 * 60 * 1000, // 1 day - immutable: true, - }) -); +server.use(getStaticDir(), express.static(path.resolve("./dist"))); server.use(setCacheControl); if (!process.env["LEMMY_UI_DISABLE_CSP"] && !process.env["LEMMY_UI_DEBUG"]) { diff --git a/src/server/middleware.ts b/src/server/middleware.ts index 235f072..b0ccbb9 100644 --- a/src/server/middleware.ts +++ b/src/server/middleware.ts @@ -1,4 +1,4 @@ -import type { NextFunction, Request, Response } from "express"; +import type { NextFunction, Response } from "express"; import { UserService } from "../shared/services"; export function setDefaultCsp({ @@ -22,27 +22,20 @@ export function setDefaultCsp({ // interval is rather arbitrary and could be set higher (less server load) or lower (fresher data). // // https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Cache-Control -export function setCacheControl( - req: Request, - res: Response, - next: NextFunction -) { +export function setCacheControl({ + res, + next, +}: { + res: Response; + next: NextFunction; +}) { const user = UserService.Instance; let caching: string; - if ( - process.env.NODE_ENV === "production" && - (req.path.match(/\.(js|css|txt|manifest\.webmanifest)\/?$/) || - req.path.includes("/css/themelist")) - ) { - // Static content gets cached publicly for a day - caching = "public, max-age=86400"; + if (user.auth()) { + caching = "private"; } else { - if (user.auth()) { - caching = "private"; - } else { - caching = "public, max-age=5"; - } + caching = "public, max-age=5"; } res.setHeader("Cache-Control", caching); diff --git a/src/server/utils/create-ssr-html.tsx b/src/server/utils/create-ssr-html.tsx index ba85228..f6d46b0 100644 --- a/src/server/utils/create-ssr-html.tsx +++ b/src/server/utils/create-ssr-html.tsx @@ -24,7 +24,7 @@ export async function createSsrHtml( if (!appleTouchIcon) { appleTouchIcon = site?.site_view.site.icon - ? `data:image/png;base64,${await sharp( + ? `data:image/png;base64,${sharp( await fetchIconPng(site.site_view.site.icon) ) .resize(180, 180) diff --git a/src/shared/components/post/post-listing.tsx b/src/shared/components/post/post-listing.tsx index 5c562a4..586403b 100644 --- a/src/shared/components/post/post-listing.tsx +++ b/src/shared/components/post/post-listing.tsx @@ -403,9 +403,8 @@ export class PostListing extends Component { createdLine() { const post_view = this.postView; - return ( -
+
diff --git a/src/shared/utils/app/is-auth-path.ts b/src/shared/utils/app/is-auth-path.ts index 5a201ac..0ec963a 100644 --- a/src/shared/utils/app/is-auth-path.ts +++ b/src/shared/utils/app/is-auth-path.ts @@ -1,5 +1,5 @@ export default function isAuthPath(pathname: string) { - return /^\/create_.*|inbox|settings|admin|reports|registration_applications/g.test( + return /create_.*|inbox|settings|admin|reports|registration_applications/g.test( pathname ); } diff --git a/webpack.config.js b/webpack.config.js index 0c9806d..9afdb52 100644 --- a/webpack.config.js +++ b/webpack.config.js @@ -14,7 +14,7 @@ const banner = ` @license magnet:?xt=urn:btih:0b31508aeb0634b347b8270c7bee4d411b5d4109&dn=agpl-3.0.txt AGPL v3.0 `; -function getBase(env, mode) { +function getBase(env) { return { output: { filename: "js/server.js", @@ -54,7 +54,6 @@ function getBase(env, mode) { plugins: [ new webpack.DefinePlugin({ "process.env.COMMIT_HASH": `"${env.COMMIT_HASH}"`, - "process.env.NODE_ENV": `"${mode}"`, }), new MiniCssExtractPlugin({ filename: "styles/styles.css", @@ -70,7 +69,7 @@ function getBase(env, mode) { } const createServerConfig = (env, mode) => { - const base = getBase(env, mode); + const base = getBase(env); const config = merge({}, base, { mode, entry: "./src/server/index.tsx", @@ -98,7 +97,7 @@ const createServerConfig = (env, mode) => { }; const createClientConfig = (env, mode) => { - const base = getBase(env, mode); + const base = getBase(env); const config = merge({}, base, { mode, entry: "./src/client/index.tsx",