-
1.4.0
Stablereleased this
2026-10-05 13:56:33 +02:00 | 33 commits to main since this release[1.4.0]
Added
- Members overview – view settings – A new "View" dropdown switches the table between compact and comfortable density and controls how the Member and Address fields are shown: as combined composite cells or split into their underlying columns (Vorname/Nachname/E-Mail resp. Straße/PLZ/Ort). Every choice is remembered per browser.
- Members overview – reset columns to default – The column-visibility menu gained a reset button that restores the curated default column set.
- Members overview – add-filter builder – A searchable, grouped field picker adds filters as editable chips instead of a fixed panel; the active filters are encoded in the URL, so a filtered view is bookmarkable and survives a reload. The picker and the chips are fully keyboard-navigable: the field search behaves like the application's other comboboxes, focus follows the add-and-edit flow, and the number of matching fields is announced.
- Members overview – more filters – New filters for members active on a chosen date (point-in-time), matching any of several selected groups (OR), a range on the number of open payment cycles, and a three-way payment status: all paid, open, or suspended.
- Members overview – payment aging column – The fees column shows how many billing cycles each member has left unpaid in the selected period (cycles are member-relative), is sortable by that count, carries a short indicator on its header whenever the view is filtered (the tooltip spells out how), and lists the open cycles — unpaid and suspended in one chronological list — in a hover tooltip from which a click opens the member's fees.
- Members overview – contribution period by calendar unit – The contribution period is picked as a calendar unit — current or last month, quarter, half-year or year — so its bounds fall on the same boundaries as the billing cycles. Day-precise presets (last 7 / 30 days …) remain available for the date fields such as join and exit date, where they answer a meaningful question.
- Members overview – current and previous cycle – The contribution period can be set to each member's current or previous billing cycle instead of a calendar range. The column then shows the status of that one cycle (including a suspension), and the status filter offers paid / unpaid / suspended. Members whose cycle cannot be determined — a gap, or no fee type — keep an empty cell and stay in the list.
Changed
- Members overview – loads on demand – The overview no longer reads every member into memory. Filtering, sorting and pagination now run in the database, and rows stream in via infinite scroll as you reach the bottom of the list, so large member lists open quickly. The exact number of matching members is announced (for example "250 Members").
- Members overview – condensed name and address – By default a member shows as a composite name cell and a two-line address cell (street / postal code + city); both columns are sortable and city and postal code stay findable via search. A clear (×) button was added to the search field.
- Members overview – bulk actions span the full result set – Select-all, copy e-mail addresses, and export now act on the complete filtered set rather than only the rows currently loaded, and the count reflects the full filtered total.
- Members overview – sticky header, pinned column and sortable headers – The table keeps a sticky header and pinned identifier column, sort headers that expose the active sort direction, boolean columns rendered as ✓/✗ icons, larger touch targets in both densities, and result-count and loading changes announced through a polite live region — meeting WCAG 2.2 AA for accessibility.
- Members overview – filter panel replaced – The vertical filter panel is replaced by the add-filter builder, and date ranges now use native date inputs with relative presets, with a quick year jump and manual entry.
Fixed
- Upgrade could abort while filling in membership fee cycle ends – The migration that adds the cycle end date to membership fee cycles could fail with an error naming a fee interval (for example
"yearly"), which aborted the upgrade and left the application unable to start. The interval is now resolved without relying on other parts of the application already being loaded, and an interval the migration cannot interpret stops it with an explicit message instead of storing a guessed cycle end. - Members overview – keyboard-operable filter toggles – The filter builder's Yes/No and status toggles can now be reached and switched with the keyboard and show a visible focus indicator (WCAG 2.1.1 Keyboard, 2.4.7 Focus Visible).
- Members overview – sort menu text size – The Member column's sort menu no longer shrinks and grows with the table density; it keeps the size of the toolbar menus.
- Members overview – why bulk mail is unavailable – Hovering the disabled "Open in email program" entry now shows the explanation that there are too many recipients, in the application's own tooltip style, instead of staying silent.
- Members overview – cycle list after a filter change – The fees cell's cycle list opens on hover and keyboard focus even when a changed filter turned the cell from "all paid" into open cycles without reloading the page.
- Members overview – explanation of the fees column scope – The hint explaining which period and status the fees column currently reflects is shown in the application's own tooltip style, so it appears reliably instead of depending on the browser's native tooltip.
Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads