-
released this
2026-10-12 09:01:34 +00:00 | 9 commits to main since this releaseSecond audit pass: the items deliberately left unfixed in 3.2.0.
Fixed
- An archived topic could lose its archive flag. Trashing an archived topic and then
unarchiving it clearedarchived_at, so restoring it dropped the topic into the main
list instead of the archive. Unarchiving a trashed topic is now refused with
409 topic_trashed, and restoring returns it to the archive. - Wrong method returned 404.
POST /api/health(and every other known path with an
unsupported verb) looked like a missing route. Known paths now answer405with a
properAllowheader; unknown paths stay404. - Sign-in failures reached the browser as English prose. They now travel as stable
codes (signin_expired,state_mismatch,provider_rejected,account_disabled,
signin_failed,sauth_unconfigured) and are translated like every other error. - Markdown: emphasis ran across code spans, producing crossed
<em>/<code>tags
(_ab_cd_). Code spans are now extracted first and re-inserted last. - Markdown: a link whose URL contains parentheses was cut at the first
), leaving a
stray bracket and a truncatedhref. Balanced parentheses are now accepted. - The topic list was mouse-only. Cards are
<article tabindex="0" role="button">
with anaria-label, and Enter/Space opens them. - Escape did nothing. It now closes the confirm dialog (as "cancel") and the
create-topic modal; the confirm dialog remembers and restores focus, and focuses the
safe button first so the destructive one needs a deliberate move. - English content rendered inside the RTL document without bidi isolation. Update
summaries, raw text, topic summaries and reports now carrydir="auto", and long
unbroken tokens wrap instead of overflowing. - Removed 34 dead translation entries in both dictionaries (and their orphaned CSS).
Tests
- 2 more regression tests (140 total) covering the 405/Allow behaviour and the
archive-while-trashed guard.
Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
- An archived topic could lose its archive flag. Trashing an archived topic and then