Compare commits

..

View file

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