Compare commits
1 changed files with 4 additions and 11 deletions
|
|
@ -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" \
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue