a51f7d5329
ci(credo): enforce StrictModuleLayout and additional zero-violation checks
2026-06-16 15:38:02 +02:00
cbd37ecb2c
style: order module directives per StrictModuleLayout
2026-06-16 15:34:35 +02:00
6e50b91e51
refactor(membership-fees): share fee-type delete handling between LiveViews
2026-06-16 15:30:56 +02:00
9667ddac04
refactor(web): use canonical DateFormatter for all date display
2026-06-16 15:23:52 +02:00
3d50b49436
refactor(vereinfacht): reuse EmailSync.Loader for linked-member lookup
2026-06-16 15:20:18 +02:00
9702f45e9a
refactor(membership-fees): fold cycle-generation run/0 into run/1
2026-06-16 15:16:54 +02:00
1b2b27368c
refactor(settings): unify JSONB single-field update between member-field changes
2026-06-16 15:13:27 +02:00
8ae8d92df0
refactor(email): share build/deliver skeleton across join emails
2026-06-16 15:10:03 +02:00
98ff6c1944
refactor(web): extract shared current_actor controller helper
2026-06-16 15:06:34 +02:00
bc1dbb1d11
refactor(web): share member-dropdown keyboard navigation between LiveViews
2026-06-16 15:03:05 +02:00
070d9d1fc3
refactor(authorization): unify own_data read check across linked resources
2026-06-16 14:56:07 +02:00
7d712f6ce2
refactor(oidc): drop OidcRoleSyncConfig passthrough and use Mv.Config directly
2026-06-16 14:52:34 +02:00
418c07efc8
refactor(member-export): remove dead fetch/2 export chain
2026-06-16 14:49:06 +02:00
dab1389b30
chore(accounts): remove orphaned UserIdentity resource file
2026-06-16 14:45:36 +02:00
f797118a1c
perf(member): drop per-render timing log on the member-list hot path
2026-06-16 14:42:12 +02:00
2587ed751c
fix(auth): boot AshAuthentication children under the :mv otp_app
2026-06-16 14:33:39 +02:00
c3a3de23a8
feat(justfile): add lean server recipe (db + phx.server, no mailcrab/rauthy)
continuous-integration/drone/push Build is passing
2026-06-15 23:57:39 +02:00
9aa5bdb6a7
Merge pull request 'Cleanup of the docs closes #507 ' ( #530 ) from issue/mitgliederverwaltung-507 into main
...
continuous-integration/drone/push Build is passing
Reviewed-on: #530
2026-06-15 22:00:43 +02:00
43f463997d
docs: add a documentation index and fix dangling references
continuous-integration/drone/push Build is passing
2026-06-15 21:53:36 +02:00
6fddb5285b
docs(project): condense progress log, roadmap and test/infra docs
2026-06-15 21:53:36 +02:00
3797bc8fae
docs(ui): condense and translate email, UI and PDF docs to English
2026-06-15 21:53:36 +02:00
0b36a43edc
docs(db): refresh, condense and align database and groups docs
2026-06-15 21:53:36 +02:00
5d8f173529
docs(membership): condense membership, onboarding and import docs and align with the code
2026-06-15 21:53:36 +02:00
8d783276d0
docs(roles): condense roles/permissions/auth docs and align with the code
2026-06-15 21:53:36 +02:00
07503fc6fe
Merge pull request 'parallel dev isolation' ( #529 ) from feat/parallel-dev-isolation into main
...
continuous-integration/drone/push Build is passing
Reviewed-on: #529
2026-06-15 18:03:00 +02:00
2363ef69e3
feat(justfile): add start-test-db recipe for an isolated test database
continuous-integration/drone/push Build was killed
continuous-integration/drone/promote/production Build was killed
2026-06-15 17:48:53 +02:00
c332a4dde2
feat(dialyzer): allow overriding PLT paths via PLT_CORE_PATH/PLT_LOCAL_PATH
2026-06-15 17:48:53 +02:00
0a53e11cc4
feat(config): read database host port from DB_PORT in dev and test
2026-06-15 17:48:53 +02:00
365ff10fd8
feat(docker): parametrize host ports and project name for parallel dev stacks
...
Several isolated stacks can now coexist: host ports come from DB_PORT/RAUTHY_PORT/MAILCRAB_PORT (defaulting to today's values) and the container namespace from COMPOSE_PROJECT_NAME. Drops the fixed rauthy-dev container_name that blocked a second stack.
2026-06-15 17:48:53 +02:00
19377be909
Merge pull request 'Fix sort by custom date closes #496 ' ( #528 ) from issue/mitgliederverwaltung-496 into main
...
continuous-integration/drone/push Build is passing
Reviewed-on: #528
2026-06-15 16:34:40 +02:00
346291cc0d
docs(changelog): record custom-date sorting fix under Unreleased
continuous-integration/drone/push Build was killed
continuous-integration/drone/promote/production Build is passing
2026-06-15 16:18:42 +02:00
2eda661e37
fix(export): order member export chronologically by custom :date fields
2026-06-15 16:18:13 +02:00
6d4629ef5b
fix(member): order member list chronologically by custom :date fields
2026-06-15 16:14:14 +02:00
1aaa0ece5d
fix(membership): add chronological sort key for custom :date fields
...
Custom :date values are real Date structs; sorting them by Erlang term
order compares day, then month, then year, so the member list ordered
them like day-first text instead of chronologically. Derive the sort key
from a single shared helper that maps a date to its Gregorian day count,
leaving the other value types at their already-correct natural order.
2026-06-15 16:10:14 +02:00
d6c322fd79
Merge pull request 'Collection of small UI Improvements closes #511 ' ( #527 ) from issue/mitgliederverwaltung-511 into main
...
continuous-integration/drone/push Build is passing
Reviewed-on: #527
2026-06-15 15:44:58 +02:00
0745eece25
docs(changelog): record member UI improvements under Unreleased
continuous-integration/drone/push Build is passing
continuous-integration/drone/promote/production Build is passing
2026-06-15 15:10:44 +02:00
856ea4279c
refactor(member): share Ash error formatting across member-show components
2026-06-15 15:10:44 +02:00
24f67bea80
feat(member): keep text selection in the overview table from opening the member
2026-06-15 15:10:44 +02:00
be57dcfce8
fix(web): prevent sortable-header tooltips from being clipped by the sticky header
2026-06-15 15:10:44 +02:00
035edae522
feat(web): add tooltips to icon-only action buttons
2026-06-15 15:10:44 +02:00
bec49f0771
feat(settings): explain that OIDC enables single sign-on
2026-06-15 15:10:44 +02:00
3dc3a2b8ef
feat(member): deactivate and reactivate members via an exit-date dialog
2026-06-15 15:10:44 +02:00
bcab2e21c4
Merge pull request 'fix publiccode.yml' ( #526 ) from fix-opencode into main
...
continuous-integration/drone/push Build is failing
Reviewed-on: #526
2026-06-15 13:37:04 +02:00
6f62ef8bb9
fix: revert change to publiccode.yml
continuous-integration/drone/push Build is passing
2026-06-15 13:36:30 +02:00
b026cf6d94
Merge pull request 'Fix bulk action dropdown width' ( #525 ) from fix-bulk-action-width into main
...
continuous-integration/drone/push Build is passing
Reviewed-on: #525
2026-06-08 12:15:16 +02:00
62c6970bf0
Merge pull request 'chore(deps): update mix dependencies' ( #517 ) from renovate/mix-dependencies into main
...
continuous-integration/drone/push Build is passing
Reviewed-on: #517
2026-06-08 12:06:13 +02:00
2a11bfe60a
chore: pin nodejs for browser-test tooling; ignore /node_modules
continuous-integration/drone/push Build is failing
2026-06-08 11:53:27 +02:00
9b7368d0a3
fix: width of bulk action
continuous-integration/drone/push Build is passing
continuous-integration/drone/promote/production Build is passing
2026-06-08 11:44:26 +02:00
72cf85e5cb
Merge branch 'main' into renovate/mix-dependencies
continuous-integration/drone/push Build is passing
continuous-integration/drone/promote/production Build is passing
2026-06-08 11:25:57 +02:00
7769fd53dc
Merge pull request 'Collect Bulk Actions in Dropdown' ( #524 ) from issue/mitgliederverwaltung-420 into main
...
continuous-integration/drone/push Build is passing
Reviewed-on: #524
2026-06-04 17:38:25 +02:00