Commit 72bdfe86 authored by Niklas Korz's avatar Niklas Korz
Browse files

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).
parent a44b2179
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -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
Original line number Diff line number Diff line
@@ -18,12 +18,10 @@ stdenvNoCC.mkDerivation (finalAttrs: {
  pname = "lemmy-ui";
  version = pinData.uiVersion;

  src =
    with finalAttrs;
    fetchFromGitHub {
  src = fetchFromGitHub {
    owner = "LemmyNet";
    repo = "lemmy-ui";
      rev = version;
    tag = finalAttrs.version;
    fetchSubmodules = true;
    hash = pinData.uiHash;
  };
@@ -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 = {