Notechondria

Version: 0.1.61 Build Date: 2026-04-22T23:30

What's Changed

notechondria_shared file-size cleanup — repo-wide §1.5 done

  • Two shared-library components were still over the §1.5 ceiling from earlier rounds unrelated to this refactor. They cap-out the file-size enforcement: after this round, no .dart file anywhere in the repo exceeds 1000 lines.

  • auth_dialogs.dart 1134 → 683. RegistrationWizard + _RegistrationWizardState move to a new auth_dialogs_wizard.dart (451 lines). Both files cross-import each other for FeedbackText / RegistrationWizard references — Dart allows this at the library level.

  • splash_screen.dart 1121 → 304. The _Particle class + _KrebsCyclePainter custom painter move to a new splash_painter.dart (818 lines). Renamed to SplashParticle / KrebsCyclePainter (no underscore prefix) so they can be used across files; private types are not visible across .dart file boundaries even within the same library.

Refactor summary 0.1.53 – 0.1.61

  • editor_app/lib: app_shell 5000 → 552, 23 per-concern extensions.
  • planner_app/lib: app_shell 3861 → 899, 23 per-concern extensions.
  • portal_app/lib: app_shell 3760 → 901, 20 per-concern extensions.
  • shared mixins: AppShellLogMixin, AppShellAuthActionsMixin, AppShellOAuthMixin + AuthClient + url_strategy shim, consumed by all three apps.
  • ~700 LOC of inter-app duplication removed.
  • ~4700 LOC of per-app duplication removed via extraction.

Files Changed

  • frontend/notechondria_shared/lib/src/components/auth_dialogs.dart
  • frontend/notechondria_shared/lib/src/components/auth_dialogs_wizard.dart (new).
  • frontend/notechondria_shared/lib/src/components/splash_screen.dart
  • frontend/notechondria_shared/lib/src/components/splash_painter.dart (new).
  • frontend/notechondria_shared/lib/notechondria_shared.dart — exports updated.