-
v0.15.0
StableAll checks were successfulTest and publish Docker image / test (pull_request) Successful in 36sTest and publish Docker image / e2e (pull_request) Successful in 4m45sTest and publish Docker image / build (pull_request) Has been skippedTest and publish Docker image / test (push) Successful in 34sTest and publish Docker image / e2e (push) Successful in 4m41sTest and publish Docker image / build (push) Successful in 47sreleased this
2026-05-02 11:58:36 +02:00 | 4 commits to main since this releasev0.15.0
Features
- Demo user banner: Demo accounts now display a persistent banner showing a live countdown to the next
scheduled data reset. The banner usesrole=statusfor accessibility and updates in real time. - Clock-aligned demo resets: The demo cleanup loop now aligns to clock half-hours (:00 and :30) rather than
running on a fixed interval from startup. The next reset timestamp is exposed to the frontend for accurate
countdown display.
Fixes
- Editor link insertion: Selecting text and inserting a link via the toolbar now correctly preserves the
selection. Previously, focus shifting to the URL input lost the selected range; the selection is now saved
before the modal opens and restored on confirm. The Enter key is also scoped to the URL input to prevent
keystrokes from leaking into the editor after the modal closes. - Editor link styles: Inserted links in the editor are now visually underlined (
.ProseMirror a). - Skip link: Fixed unreliable positioning by switching from
position:absolute; top:-100%toposition:fixed; translateY(-100%). - Ko-fi button: Added
width:auto; display:inline-blockto prevent the button image from stretching to fill its container. - Signup form links: Links now use accent color + underline instead of muted text with no decoration.
- Demo banner stability: Cleared the countdown interval before triggering a reload to avoid double-fire.
Guarded againstNaNtimestamps from missing or malformeddata-*attributes. - Demo banner layout: Corrected a duplicate vertical offset that pushed the banner too far down on pages using the app layout.
- Half-hour boundary condition: Fixed an off-by-one in
_seconds_until_next_half_hourthat could return0seconds exactly on the boundary. - Demo reset timestamp:
demo_next_reset_tsis now only computed whenis_demois true, avoiding unnecessary work on every request.
Tests
- Unit tests for
_seconds_until_next_half_hourcovering boundary and midpoint cases. - E2E tests for the demo banner (visibility, countdown display, role attribute).
Downloads
-
Source code (ZIP)
1 download
-
Source code (TAR.GZ)
1 download
- Demo user banner: Demo accounts now display a persistent banner showing a live countdown to the next