Split remaining LiveView god-modules (global_settings, fees_component) #540

Open
opened 2026-06-15 22:22:52 +02:00 by moritz · 0 comments
Owner

Motivation

Two large LiveViews remain after the index split: global_settings_live.ex (1658 LOC, ~27 deps, coordinating
three unrelated integration-config surfaces) and membership_fees_component.ex (1334 LOC). At the upper size
bound for a single issue, but kept together to keep the issue list small.

Scope (ordered steps, CI green each)

  • R-027 — split global_settings_live.ex. Extract per-integration sections (SMTP, OIDC, Vereinfacht) into
    focused components/LiveComponents. One section per step.
  • R-028 — split membership_fees_component.ex. Isolate the cycle CRUD and related surfaces. One surface per step.

Acceptance criteria

  • Each settings/fees surface isolated into its own module; save paths tested.
  • Behavior parity on the settings and member-detail-fees screens.
  • just ci-dev green after each step.

Dependencies

  • R-028 depends on the "Correctness …" issue (R-006 hardening) and the "Import/Export …" issue (R-026 rule moved
    into Ash) landing first.
  • R-027 pairs with Track A of the "Untangle compile cycles" issue (global_settings consumes the split config).
## Motivation Two large LiveViews remain after the index split: `global_settings_live.ex` (1658 LOC, ~27 deps, coordinating three unrelated integration-config surfaces) and `membership_fees_component.ex` (1334 LOC). At the upper size bound for a single issue, but kept together to keep the issue list small. ## Scope (ordered steps, CI green each) - **R-027 — split `global_settings_live.ex`.** Extract per-integration sections (SMTP, OIDC, Vereinfacht) into focused components/LiveComponents. One section per step. - **R-028 — split `membership_fees_component.ex`.** Isolate the cycle CRUD and related surfaces. One surface per step. ## Acceptance criteria - Each settings/fees surface isolated into its own module; save paths tested. - Behavior parity on the settings and member-detail-fees screens. - `just ci-dev` green after each step. ## Dependencies - R-028 depends on the "Correctness …" issue (R-006 hardening) and the "Import/Export …" issue (R-026 rule moved into Ash) landing first. - R-027 pairs with Track A of the "Untangle compile cycles" issue (global_settings consumes the split config).
moritz added this to the Code and Test Refactoring | TI I milestone 2026-06-15 22:22:52 +02:00
moritz added this to the Sprint 18: Juli 2026 project 2026-06-15 22:22:52 +02:00
Sign in to join this conversation.
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: local-it/mitgliederverwaltung#540
No description provided.