lemmy-ui: fix asset URLs

As `fetchFromGitHub` does not preserve the `.git` directory,
lemmy-ui fails to derive the value for its `COMMIT_HASH` variable
during the build.
The package previously (and mistakenly) assumed that `src.rev`
would somehow return the commit hash and not the version.
Fortunately, we do not need to know the precise commit rev.
This value is only used to generate the templated URLs without
further processing (and is also only injected for cache invalidation).
This commit is contained in:
Niklas Korz
2025-11-23 20:28:25 +01:00
parent a44b21793f
commit 72bdfe866b
2 changed files with 15 additions and 21 deletions
+1 -1
View File
@@ -210,7 +210,7 @@ in
root * ${cfg.ui.package}/dist
file_server
}
handle_path /static/${cfg.ui.package.passthru.commit_sha}/* {
handle_path /static/${cfg.ui.package.version}/* {
root * ${cfg.ui.package}/dist
file_server
}
+14 -20
View File
@@ -18,15 +18,13 @@ stdenvNoCC.mkDerivation (finalAttrs: {
pname = "lemmy-ui";
version = pinData.uiVersion;
src =
with finalAttrs;
fetchFromGitHub {
owner = "LemmyNet";
repo = "lemmy-ui";
rev = version;
fetchSubmodules = true;
hash = pinData.uiHash;
};
src = fetchFromGitHub {
owner = "LemmyNet";
repo = "lemmy-ui";
tag = finalAttrs.version;
fetchSubmodules = true;
hash = pinData.uiHash;
};
nativeBuildInputs = [
nodejs
@@ -48,20 +46,17 @@ stdenvNoCC.mkDerivation (finalAttrs: {
buildPhase = ''
runHook preBuild
pnpm build:prod
pnpm run prebuild:prod
# Required to pass a custom value for COMMIT_HASH, as the normal
# `pnpm build:prod` tries to derive its value by running `git`.
# This value is only injected into the templated asset URLs for cache invalidation,
# so we don't really need a commit hash here, just a value that changes on every
# update.
pnpm exec webpack --env COMMIT_HASH="${finalAttrs.version}" --mode=production
runHook postBuild
'';
# installPhase = ''
# runHook preInstall
# mkdir -p $out/{bin,lib/${finalAttrs.pname}}
# mv {dist,node_modules} $out/lib/${finalAttrs.pname}
# runHook postInstall
# '';
preInstall = ''
mkdir $out
cp -R ./dist $out
@@ -81,7 +76,6 @@ stdenvNoCC.mkDerivation (finalAttrs: {
passthru = {
updateScript = ./update.py;
tests.lemmy-ui = nixosTests.lemmy;
commit_sha = finalAttrs.src.rev;
};
meta = {