Skip to content

fix: удалить мёртвую регистрацию AddScoped<TableRenderCoordinator> (#108)#113

Merged
EvaTheSalmon merged 1 commit into
masterfrom
feature/108
Jun 5, 2026
Merged

fix: удалить мёртвую регистрацию AddScoped<TableRenderCoordinator> (#108)#113
EvaTheSalmon merged 1 commit into
masterfrom
feature/108

Conversation

@EvaTheSalmon

Copy link
Copy Markdown
Member

Closes #108. Завершает остаток issue: п.1 (Dispose координатора в DisposeRuntimeComponents обоих контролов) был закрыт в #112, здесь — п.2.

Что сделано

Удалена мёртвая регистрация services.AddScoped<TableRenderCoordinator>() из DiContainer.cs.

Обоснование безопасности удаления

  • Резолва TableRenderCoordinator из контейнера не существует — координатор создаётся только через ActivatorUtilities.CreateInstance в обоих шеллах (TableControl.Lifecycle.cs:108, MbeTableEditorControl.Lifecycle.cs:107).
  • CreateScope() в кодовой базе не вызывается ни разу — scoped-регистрация недостижима в принципе.
  • architecture.md («Control-side composition») прямо фиксирует правило «do not register these types in the container» — правка приводит код в соответствие с документацией.
  • Других регистраций UI-bound типов того же класса в контейнере нет — эта была единственной.

Поведение не меняется; рантайм-валидация в MasterSCADA не требуется. 290/290 тестов зелёные, dotnet format чистый.

🤖 Generated with Claude Code

)

Координатор всегда создаётся через ActivatorUtilities от root-провайдера,
scope в кодовой базе не создаётся ни разу — регистрация только вводила
в заблуждение и противоречила architecture.md («do not register these
types in the container»).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@EvaTheSalmon EvaTheSalmon merged commit 3a76cb0 into master Jun 5, 2026
1 check passed
@EvaTheSalmon EvaTheSalmon deleted the feature/108 branch June 5, 2026 08:32
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

TableRenderCoordinator не утилизируется — утечка подписок на синглтоны DI

1 participant