diff --git a/distro-packages/Arch-Linux/skald-git/PKGBUILD b/distro-packages/Arch-Linux/skald-git/PKGBUILD index 716f6a5..137ff0d 100644 --- a/distro-packages/Arch-Linux/skald-git/PKGBUILD +++ b/distro-packages/Arch-Linux/skald-git/PKGBUILD @@ -2,7 +2,7 @@ # shellcheck shell=bash disable=SC2034,SC2154 pkgname=skald-git -pkgver=0.0.0.r1543.g8ff3161 +pkgver=0.0.0.r1544.g6cd3ec1 pkgrel=1 pkgdesc='Audio-only hall-based conferencing server' arch=('x86_64' 'aarch64') diff --git a/static/skald.css b/static/skald.css index 7d45daf..fa666b8 100644 --- a/static/skald.css +++ b/static/skald.css @@ -845,9 +845,12 @@ h1 { border: 1px solid #767676; border-radius: 2px; font-family: monospace; - margin: 0; overflow: auto; padding: 2px; +} + +#chalkboard-view-text { + margin: 0; white-space: pre-wrap; } diff --git a/static/skald.html b/static/skald.html index d227fcd..a44e646 100644 --- a/static/skald.html +++ b/static/skald.html @@ -79,7 +79,9 @@

Virtual chalkboard

- +
diff --git a/static/skald.js b/static/skald.js index d2faa48..d9cb80e 100644 --- a/static/skald.js +++ b/static/skald.js @@ -2650,6 +2650,7 @@ function flushLiveRegion(elementId) { let text = state.queue.shift(); if(text === undefined) { + announcement.replaceChildren(); state.active = false; return; } @@ -2690,6 +2691,10 @@ function getChalkboardView() { return document.getElementById('chalkboard-view'); } +function getChalkboardViewText() { + return document.getElementById('chalkboard-view-text'); +} + /** * @param {string} text */ @@ -2700,9 +2705,9 @@ function setChalkboardText(text) { if(editor && editor.value !== text) editor.value = text; - let view = getChalkboardView(); - if(view && view.textContent !== text) - view.textContent = text; + let viewText = getChalkboardViewText(); + if(viewText && viewText.textContent !== text) + viewText.textContent = text; } function chalkboardHasFocus() { diff --git a/webserver/static_accessibility_test.go b/webserver/static_accessibility_test.go index f124ce4..05fff33 100644 --- a/webserver/static_accessibility_test.go +++ b/webserver/static_accessibility_test.go @@ -56,6 +56,7 @@ func TestStaticLiveRegionAnnouncementsStayWired(t *testing.T) { requireFunctionContains(t, js, "announceLiveRegion", "state.queue.push") requireFunctionContains(t, js, "announceLiveRegion", "flushLiveRegion") requireFunctionContains(t, js, "flushLiveRegion", "appendChild") + requireFunctionContains(t, js, "flushLiveRegion", "announcement.replaceChildren()") requireFunctionContains(t, js, "addToChatbox", "announceChat") requireFunctionContains(t, js, "setUserStatus", "announceUrgent(`${username}: hand raised`)") requireFunctionContains(t, js, "setUserStatus", "announceUrgent(`${username}: hand lowered`)") @@ -79,11 +80,12 @@ func TestChalkboardReadOnlyViewIsNotAnEditBox(t *testing.T) { js := readStaticFile(t, "skald.js") requireContains(t, html, `