Skip to content

Commit 929555a

Browse files
committed
🐛 Fix terminal rendering issues on iOS Safari via DOM renderer
Switch ttyd's xterm.js renderer from the default WebGL/Canvas to the DOM renderer using --client-option rendererType=dom. WebGL rendering on iOS Safari is unreliable — it silently falls back or produces garbled/invisible output. The DOM renderer trades a small amount of rendering performance for broad browser compatibility. Fixes #1016, #1026, #1027
1 parent c0830a5 commit 929555a

File tree

1 file changed

+5
-0
lines changed
  • ssh/rootfs/etc/s6-overlay/s6-rc.d/ttyd

1 file changed

+5
-0
lines changed

ssh/rootfs/etc/s6-overlay/s6-rc.d/ttyd/run

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,11 @@ options+=(-i hassio)
2323
# We want to be able to use the terminal
2424
options+=(--writable)
2525

26+
# Use DOM renderer for xterm.js to ensure compatibility with iOS Safari
27+
# and other browsers where WebGL/Canvas rendering causes display issues
28+
# Fixes: #1016, #1026, #1027
29+
options+=(--client-option rendererType=dom)
30+
2631
# Get assigned Ingress port
2732
ingress_port=$(bashio::addon.ingress_port)
2833
options+=(-p "${ingress_port}")

0 commit comments

Comments
 (0)