diff --git a/nix/templates/harness-base.nix b/nix/templates/harness-base.nix index b1ad1dd8..e1bd2879 100644 --- a/nix/templates/harness-base.nix +++ b/nix/templates/harness-base.nix @@ -431,7 +431,7 @@ path = [ pkgs.curl pkgs.coreutils - pkgs.librsvg + pkgs.python3 ]; script = '' ICON=/etc/hyperhive/icon.svg @@ -452,16 +452,9 @@ exit 0 fi TOKEN=$(cat "$TOKEN_FILE") - # Rasterize SVG → PNG (Forgejo's Go image library can't decode SVG). - PNG=$(mktemp --suffix=.png) - if ! rsvg-convert -f png -w 512 -h 512 "$ICON" -o "$PNG" 2>/dev/null; then - echo "forge-avatar-sync: rsvg-convert failed; skipping" - rm -f "$PNG" - exit 0 - fi - IMAGE=$(base64 -w 0 < "$PNG") - rm -f "$PNG" - DATA_URI="data:image/png;base64,$IMAGE" + # Base64-encode the SVG and wrap in a data URI. + IMAGE=$(base64 -w 0 < "$ICON") + DATA_URI="data:image/svg+xml;base64,$IMAGE" RESP=$(curl -sf --max-time 10 \ -X POST "$FORGE_URL/api/v1/user/avatar" \ -H "Authorization: token $TOKEN" \