From 68adf5d1a23080a8e54803be92806d9df01d1800 Mon Sep 17 00:00:00 2001
From: Jeffrey Phillips Freeman <the@jeffreyfreeman.me>
Date: Fri, 13 Oct 2023 17:35:00 -0400
Subject: [PATCH] Fixed missing avatars in comment section

---
 CHANGELOG.md                     |   2 ++
 api/activitypub-html/render.ts   |   6 +++---
 static/images/missing_avatar.png | Bin 0 -> 3292 bytes
 3 files changed, 5 insertions(+), 3 deletions(-)
 create mode 100644 static/images/missing_avatar.png

diff --git a/CHANGELOG.md b/CHANGELOG.md
index 8db1a9ffb..3d74cc305 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -6,6 +6,8 @@
 * Created activity and status pages for each page independent from the outbox.
     This should enable searches for specific posts to work rather than simply
     pointing to the main user.
+* In the comment section for a page if a user doesnt have a profile picture
+    setup it will now default to a generic avatar rather than render text.
 
 ## 1.0.1
 
diff --git a/api/activitypub-html/render.ts b/api/activitypub-html/render.ts
index 024e92a68..1bc1b74dd 100644
--- a/api/activitypub-html/render.ts
+++ b/api/activitypub-html/render.ts
@@ -117,7 +117,7 @@ export default async function (req: VercelRequest, res: VercelResponse) {
     if (typeof actor == "string") {
       return `<a href="${escapeHTML(actor)}" target="_parent" rel="nofollow">${escapeHTML(actor)}</a>`;
     } else if (actor != undefined ) {
-      let actor_icon_url = "";
+      let actor_icon_url = "/images/missing_avatar.png";
       if( actor.icon != undefined) {
         actor_icon_url = actor.icon.url;
       }
@@ -135,7 +135,7 @@ export default async function (req: VercelRequest, res: VercelResponse) {
     if (typeof actor == "string") {
       return `<a href="${escapeHTML(actor)}" target="_parent" rel="nofollow">${escapeHTML(actor)}</a>`;
     } else if (actor != undefined ) {
-      let actor_icon_url = "";
+      let actor_icon_url = "/images/missing_avatar.png";
       if( actor.icon != undefined) {
         actor_icon_url = actor.icon.url;
       }
@@ -153,7 +153,7 @@ export default async function (req: VercelRequest, res: VercelResponse) {
     if (typeof actor == "string") {
       return `<div><a href="${escapeHTML(actor)}" target="_parent" rel="nofollow">${escapeHTML(actor)}</a> wrote: <blockquote>${escapeHTML(stripHTML(object.content))}</blockquote></div>`;
     } else if (actor != undefined ) {
-      let actor_icon_url = "";
+      let actor_icon_url = "/images/missing_avatar.png";
       if( actor.icon != undefined) {
         actor_icon_url = actor.icon.url;
       }
diff --git a/static/images/missing_avatar.png b/static/images/missing_avatar.png
new file mode 100644
index 0000000000000000000000000000000000000000..34c8e45e61ce1e1ddeb6a9f69dc1979816a7286e
GIT binary patch
literal 3292
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
T1m@pU{u3x2G_pqP0p|YzWF96{

literal 0
HcmV?d00001

-- 
GitLab