open-webui/src/lib/components/chat
Classic298 c895490aa8
fix: blank chat messages on Safari caused by content-visibility virtualization (#26805)
Since v0.10.0 chat messages are virtualized with content-visibility: auto to skip rendering of off-screen messages. Safari's implementation of content-visibility has known paint bugs (WebKit bugs 277573, 281570 and 283846) that can leave the contents of a message unpainted even when it is on screen. On iOS this makes assistant responses render as empty, both in Safari and as a PWA, while the same chats render fine in Chromium and Firefox. This matches the regression window reported in #26712, which appeared when upgrading from 0.9.6 to 0.10.2.

Detect Safari (including all iOS browsers, which use WebKit) with the same user agent check already used in MessageInput and ShareChatModal, and skip the virtualization class there. Safari falls back to rendering all messages like before v0.10.0, while other engines keep the optimization. Verified with a spoofed Safari user agent that messages render without the virtualization class and with content-visibility resolving to visible, while Chromium keeps content-visibility: auto.

Fixes #26712
2026-07-23 23:38:18 -04:00
..
ChatControls refac 2026-02-24 16:12:02 -06:00
ContentRenderer refac 2026-04-24 18:20:10 +09:00
Controls refac 2026-07-15 16:33:25 -04:00
FileNav refac 2026-07-14 04:15:20 -04:00
MessageInput fix: make native date/time picker icons visible in dark mode (#27275) 2026-07-23 22:23:46 -04:00
Messages fix: blank chat messages on Safari caused by content-visibility virtualization (#26805) 2026-07-23 23:38:18 -04:00
ModelSelector refac 2026-07-16 21:57:15 -04:00
Overview refac 2026-07-14 04:15:20 -04:00
Placeholder refac 2026-07-21 13:53:30 -04:00
Settings fix: make native date/time picker icons visible in dark mode (#27275) 2026-07-23 22:23:46 -04:00
Artifacts.svelte refac 2026-07-14 04:15:20 -04:00
Chat.svelte fix: empty assistant message content in action function body (#26798) 2026-07-23 23:34:14 -04:00
ChatControls.svelte refac 2026-07-15 21:43:47 -04:00
ChatPlaceholder.svelte chore: format 2026-07-20 22:11:42 -04:00
EmbeddedChatHistoryDropdown.svelte refac 2026-07-15 23:21:06 -04:00
EmbeddedChatHistoryItem.svelte refac 2026-07-15 23:21:06 -04:00
FileNav.svelte refac 2026-07-14 04:15:20 -04:00
MessageInput.svelte feat: add setting to toggle keyboard shortcuts on/off (#27300) 2026-07-23 22:14:56 -04:00
Messages.svelte refac 2026-07-23 17:53:13 -04:00
ModelSelector.svelte refac 2026-07-14 02:55:01 -04:00
Navbar.svelte refac 2026-07-15 04:25:51 -04:00
Overview.svelte 0.6.33 (#18118) 2025-10-07 16:20:27 -05:00
Placeholder.svelte refac 2026-07-17 06:38:10 -04:00
PyodideFileNav.svelte refac 2026-06-28 22:35:59 -05:00
SettingsModal.svelte feat: add setting to toggle keyboard shortcuts on/off (#27300) 2026-07-23 22:14:56 -04:00
ShareChatModal.svelte refac 2026-07-15 04:25:51 -04:00
ShortcutItem.svelte refac 2026-07-15 04:52:06 -04:00
SkillsModal.svelte refac 2026-07-15 04:25:51 -04:00
Suggestions.svelte refac 2026-07-14 04:26:18 -04:00
TagChatModal.svelte enh: auto tag feedback 2024-10-23 20:18:51 -07:00
Tags.svelte refac 2026-07-14 01:39:40 -04:00
ToolServersModal.svelte refac 2026-07-15 04:25:51 -04:00
XTerminal.svelte fix: trim terminal bearer token so whitespace can't break the WebSocket (#25686) 2026-06-29 03:35:19 -05:00