left4me/l4d2web/l4d2web
mwiegand 06a358943e
feat(server-detail): pin Console-modal transcript on modal:opened
The console-modal transcript was not autoscrolled to the bottom on open
because tabs.js called dlg.showModal() directly, bypassing modals.js's
openInline() which dispatches the modal:opened CustomEvent. Fixed by
routing the expand-button open through window.modals.openInline() when
available.

Added inline script in server_detail.html that listens for modal:opened
on #console-modal and calls scrollAutoscrollTargets via requestAnimationFrame
so the browser has committed dialog layout before scrollHeight is read.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-20 23:00:16 +02:00
..
routes feat(server-detail): cap inline console to 20 newest; modal keeps 50 2026-05-20 22:49:12 +02:00
services fix(log-streaming): point logaddress at non-loopback IP 2026-05-20 00:31:45 +02:00
static feat(server-detail): pin Console-modal transcript on modal:opened 2026-05-20 23:00:16 +02:00
templates feat(server-detail): pin Console-modal transcript on modal:opened 2026-05-20 23:00:16 +02:00
__init__.py refactor(repo): uv workspace + hatchling + layout restructure 2026-05-15 22:04:29 +02:00
app.py feat(log-streaming): enable srcds log streaming + temp UDP capture listener 2026-05-19 23:22:00 +02:00
auth.py refactor(datetime): introduce UtcDateTime, remove naive-strip workarounds 2026-05-16 11:59:29 +02:00
cli.py refactor(repo): uv workspace + hatchling + layout restructure 2026-05-15 22:04:29 +02:00
config.py fix(log-streaming): point logaddress at non-loopback IP 2026-05-20 00:31:45 +02:00
db.py refactor(repo): uv workspace + hatchling + layout restructure 2026-05-15 22:04:29 +02:00
models.py refactor(datetime): introduce UtcDateTime, remove naive-strip workarounds 2026-05-16 11:59:29 +02:00