-
v2026.9.26
StableAll checks were successfultag-release / release (push) Successful in 8spublish-and-stage / decide (push) Successful in 8sCI / release-scripts (push) Successful in 12ssecurity-scan / SBOM (trivy) (push) Successful in 10ssecurity-scan / Filesystem scan (trivy fs) (push) Successful in 14spublish-and-stage / build (backend) (push) Has been skippedpublish-and-stage / build (frontend) (push) Has been skippedsecurity-scan / JS SCA (npm audit) (push) Successful in 18spublish-and-stage / build (push) Successful in 0spublish-and-stage / deploy-staging (push) Has been skippedrelease-and-deploy / release-scripts (push) Successful in 11ssecurity-scan / Python SAST (bandit) (push) Successful in 23srelease-and-deploy / release (push) Successful in 21ssecurity-scan / Python SCA (pip-audit) (push) Successful in 41sCI / frontend-test (push) Successful in 1m6sCI / pre-commit (push) Successful in 1m11srelease-and-deploy / pre-commit (push) Successful in 1m10srelease-and-deploy / frontend-test (push) Successful in 1m9srelease-and-deploy / build (frontend) (push) Successful in 1m26srelease-and-deploy / build (backend) (push) Successful in 1m30srelease-and-deploy / build (push) Successful in 0sCI / backend-test (push) Successful in 3m58srelease-and-deploy / backend-test (push) Successful in 3m56sCI / e2e (push) Successful in 6m11srelease-and-deploy / e2e (push) Successful in 6m4srelease-and-deploy / ci (push) Successful in 0srelease-and-deploy / deploy (push) Successful in 1m31sreleased this
2026-09-26 06:25:30 +00:00 | 34 commits to main since this releaseNotifications
- Notifications are now NLDD's
nldd-notification: top right, stacked as a
deck, and 5 seconds for every message. Undo on sending and on throwing
away a draft follows that, 5 seconds instead of 10. A failure stays until
you close it.
Postvak & Meelezen
- Fixed on phones: no sideways scrolling, channel and author names stay
readable, and the reply toolbar fits on one line with "Verzend". - Fixed: an @-mention stayed plain text. It now shows the person's name and
opens their profile card, as on a card. The quoted message on a concept or a
queued reply shows the name too.
Profile card
- "Stuur een bericht" on the profile card of an @-mention opens a new message
to that person, with the cursor in the message.
New message
- Searching "Aan" puts the 1:1 conversation with someone first, then group
conversations, then channels. A 1:1 is also found by its @username.
Concepten, Uitgaande post, Notities
- The empty state on these pages is NLDD's
nldd-inline-dialog, the same one
the reading list uses.
Under the hood
- NLDD design system 0.8.90 -> 0.8.92.
- A failed login is audited once per reason and client address again, not once
per reason for everyone: the address is now the router's, verified on
staging and production. The per-window count of distinct addresses, which
only served to spot a forged header, is gone. - All rendered markdown goes through one
SafeMarkdowncomponent, the app's
onlyv-html; eslint now refusesv-htmlanywhere else. - A message can no longer draw a text field into Waggle: of
<input>, only the
task-list checkbox is kept, and it cannot be ticked. - The composer inserts at the caret and sets lists, tasks and headings with
NLDD's own commands; "Takenlijst" now also works on a selection of lines.
Container images
- Notifications are now NLDD's