Mechanical cleanup, quick fixes & deduplication closes #531 #543

Merged
moritz merged 17 commits from issue/mitgliederverwaltung-531 into main 2026-06-16 16:06:52 +02:00
Owner

Description of the implemented changes

The changes were:

  • Bugfixing
  • New Feature
  • Breaking Change
  • Refactoring

A batch of small, low-risk maintenance changes bundled under one theme: fix two latent bugs, remove dead code, deduplicate behavior-preserving logic, normalize module layout, and tighten the Credo gate. No behavior changes other than the two bug fixes.

What has been changed?

  • Boot AshAuthentication children under the :mv otp_app
  • Drop per-render timing log on the member-list hot path
  • Remove orphaned UserIdentity resource file
  • Remove dead fetch/2 export chain
  • Drop OidcRoleSyncConfig passthrough and use Mv.Config directly
  • Unify own_data read check across linked resources
  • Share member-dropdown keyboard navigation between LiveViews
  • Extract shared current_actor controller helper
  • Share build/deliver skeleton across join emails
  • Unify JSONB single-field update between member-field changes
  • Fold cycle-generation run/0 into run/1
  • Reuse EmailSync.Loader for linked-member lookup
  • Use canonical DateFormatter for all date display
  • Share fee-type delete handling between LiveViews
  • Order module directives per StrictModuleLayout
  • Enforce StrictModuleLayout and additional zero-violation checks

Definition of Done

Code Quality

  • No new technical depths
  • Linting passed
  • Documentation is added were needed

Accessibility

  • New elements are properly defined with html-tags
  • Colour contrast follows WCAG criteria
  • Aria labels are added when needed
  • Everything is accessible by keyboard
  • Tab-Order is comprehensible
  • All interactive elements have a visible focus

Testing

  • Tests for new code are written
  • All tests pass
  • axe-core dev tools show no critical or major issues

Additional Notes

  • This is a behavior-preserving cleanup with one intentional fix: the otp_app: :my → :mv correction (auth background workers now boot under real config). (The reject_join_request @spec was investigated under §3.15 but turned out to already be correct — no net change.)
  • One commit (style: order module directives per StrictModuleLayout) is a large mechanical reorder across ~88 files — expect a big but purely structural diff there.
  • Credo ratchet: Readability.StrictModuleLayout plus 8 already-zero-violation checks are promoted into the gate. Five further checks (Readability.ImplTrue ~269, Refactor.NegatedIsNil ~63, Refactor.AppendSingleItem ~10, Refactor.MapMap ~8, Refactor.IoPuts 3) are left disabled with documented violation counts for a follow-up; Warning.UnsafeToAtom is intentionally out of scope (handled in a separate issue).
  • No items were deferred under the partial-acceptance allowance — the full scope landed.
## Description of the implemented changes The changes were: - [x] Bugfixing - [ ] New Feature - [ ] Breaking Change - [x] Refactoring A batch of small, low-risk maintenance changes bundled under one theme: fix two latent bugs, remove dead code, deduplicate behavior-preserving logic, normalize module layout, and tighten the Credo gate. No behavior changes other than the two bug fixes. ## What has been changed? - Boot AshAuthentication children under the :mv otp_app - Drop per-render timing log on the member-list hot path - Remove orphaned UserIdentity resource file - Remove dead fetch/2 export chain - Drop OidcRoleSyncConfig passthrough and use Mv.Config directly - Unify own_data read check across linked resources - Share member-dropdown keyboard navigation between LiveViews - Extract shared current_actor controller helper - Share build/deliver skeleton across join emails - Unify JSONB single-field update between member-field changes - Fold cycle-generation run/0 into run/1 - Reuse EmailSync.Loader for linked-member lookup - Use canonical DateFormatter for all date display - Share fee-type delete handling between LiveViews - Order module directives per StrictModuleLayout - Enforce StrictModuleLayout and additional zero-violation checks ## Definition of Done ### Code Quality - [ ] No new technical depths - [x] Linting passed - [x] Documentation is added were needed ### Accessibility - [ ] New elements are properly defined with html-tags - [ ] Colour contrast follows WCAG criteria - [ ] Aria labels are added when needed - [ ] Everything is accessible by keyboard - [ ] Tab-Order is comprehensible - [ ] All interactive elements have a visible focus ### Testing - [x] Tests for new code are written - [x] All tests pass - [ ] axe-core dev tools show no critical or major issues ## Additional Notes - This is a behavior-preserving cleanup with one intentional fix: the `otp_app: :my → :mv` correction (auth background workers now boot under real config). (The `reject_join_request` @spec was investigated under §3.15 but turned out to already be correct — no net change.) - One commit (`style: order module directives per StrictModuleLayout`) is a large mechanical reorder across ~88 files — expect a big but purely structural diff there. - Credo ratchet: `Readability.StrictModuleLayout` plus 8 already-zero-violation checks are promoted into the gate. Five further checks (`Readability.ImplTrue` ~269, `Refactor.NegatedIsNil` ~63, `Refactor.AppendSingleItem` ~10, `Refactor.MapMap` ~8, `Refactor.IoPuts` 3) are left disabled with documented violation counts for a follow-up; `Warning.UnsafeToAtom` is intentionally out of scope (handled in a separate issue). - No items were deferred under the partial-acceptance allowance — the full scope landed.
moritz added 17 commits 2026-06-16 15:50:07 +02:00
docs(changelog): record cleanup and quick fixes under Unreleased
Some checks reported errors
continuous-integration/drone/push Build was killed
continuous-integration/drone/promote/production Build was killed
a5c1b6c39b
moritz force-pushed issue/mitgliederverwaltung-531 from a5c1b6c39b to 4f3050cc35 2026-06-16 15:51:10 +02:00 Compare
moritz merged commit 82effde6a1 into main 2026-06-16 16:06:52 +02:00
moritz deleted branch issue/mitgliederverwaltung-531 2026-06-16 16:06:52 +02:00
Sign in to join this conversation.
No description provided.