Skip to content

Commit bef5ec2

Browse files
authored
fix: add profile image fallback handlers for model and user avatars in remaining areas (open-webui#22486)
* fix(ui): add profile image fallback handlers for models and users * Update UserList.svelte * fix(ui): add profile image fallback handlers for models on New Chat page
1 parent 9465e29 commit bef5ec2

8 files changed

Lines changed: 30 additions & 0 deletions

File tree

src/lib/components/admin/Users/UserList.svelte

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -377,6 +377,9 @@
377377
class="rounded-full w-6 min-w-6 h-6 object-cover mr-0.5 flex-shrink-0"
378378
src={`${WEBUI_API_BASE_URL}/users/${user.id}/profile/image`}
379379
alt="user"
380+
on:error={(e) => {
381+
e.currentTarget.src = '/favicon.png';
382+
}}
380383
/>
381384
</ProfilePreview>
382385

src/lib/components/channel/MessageInput/MentionList.svelte

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -200,12 +200,18 @@
200200
src={`${WEBUI_API_BASE_URL}/models/model/profile/image?id=${item.id}&lang=${$i18n.language}`}
201201
alt={item?.data?.name ?? item.id}
202202
class="rounded-full size-5 items-center mr-2"
203+
on:error={(e) => {
204+
e.currentTarget.src = '/favicon.png';
205+
}}
203206
/>
204207
{:else if item.type === 'user'}
205208
<img
206209
src={`${WEBUI_API_BASE_URL}/users/${item.id}/profile/image`}
207210
alt={item?.label ?? item.id}
208211
class="rounded-full size-5 items-center mr-2"
212+
on:error={(e) => {
213+
e.currentTarget.src = '/favicon.png';
214+
}}
209215
/>
210216
{/if}
211217

src/lib/components/channel/Messages/Message.svelte

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -242,6 +242,9 @@
242242
alt={message.reply_to_message.meta.model_name ??
243243
message.reply_to_message.meta.model_id}
244244
class="size-4 ml-0.5 rounded-full object-cover"
245+
on:error={(e) => {
246+
e.currentTarget.src = '/favicon.png';
247+
}}
245248
/>
246249
{:else}
247250
<img
@@ -278,6 +281,9 @@
278281
src={`${WEBUI_API_BASE_URL}/models/model/profile/image?id=${message.meta.model_id}`}
279282
alt={message.meta.model_name ?? message.meta.model_id}
280283
class="size-8 translate-y-1 ml-0.5 object-cover rounded-full"
284+
on:error={(e) => {
285+
e.currentTarget.src = '/favicon.png';
286+
}}
281287
/>
282288
{:else}
283289
<ProfilePreview user={message.user}>

src/lib/components/chat/ChatPlaceholder.svelte

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,9 @@
5757
class=" size-[2.7rem] rounded-full border-[1px] border-gray-100 dark:border-none"
5858
alt="logo"
5959
draggable="false"
60+
on:error={(e) => {
61+
e.currentTarget.src = '/favicon.png';
62+
}}
6063
/>
6164
</Tooltip>
6265
</button>

src/lib/components/chat/MessageInput/Commands/Models.svelte

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -86,6 +86,9 @@
8686
src={`${WEBUI_API_BASE_URL}/models/model/profile/image?id=${model.id}&lang=${$i18n.language}`}
8787
alt={model?.name ?? model.id}
8888
class="rounded-full size-5 items-center mr-2"
89+
on:error={(e) => {
90+
e.currentTarget.src = '/favicon.png';
91+
}}
8992
/>
9093
<div class="truncate">
9194
{model.name}

src/lib/components/chat/ModelSelector/ModelItem.svelte

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -82,6 +82,9 @@
8282
alt={$i18n.t('{{modelName}} profile image', { modelName: item.label })}
8383
class="rounded-full size-5 flex items-center"
8484
loading="lazy"
85+
on:error={(e) => {
86+
e.currentTarget.src = '/favicon.png';
87+
}}
8588
/>
8689
</Tooltip>
8790
</div>

src/lib/components/chat/Placeholder.svelte

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -128,6 +128,9 @@
128128
class=" size-9 @sm:size-10 rounded-full border-[1px] border-gray-100 dark:border-none"
129129
aria-hidden="true"
130130
draggable="false"
131+
on:error={(e) => {
132+
e.currentTarget.src = '/favicon.png';
133+
}}
131134
/>
132135
</button>
133136
</Tooltip>

src/lib/components/layout/Sidebar/PinnedModelItem.svelte

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,9 @@
3939
src={`${WEBUI_API_BASE_URL}/models/model/profile/image?id=${model.id}&lang=${$i18n.language}`}
4040
class=" size-5 rounded-full -translate-x-[0.5px]"
4141
alt="logo"
42+
on:error={(e) => {
43+
e.currentTarget.src = '/favicon.png';
44+
}}
4245
/>
4346
</div>
4447

0 commit comments

Comments
 (0)