Repository navigation
Remove dead Mediator code from the filter providers - #1230
Merged
Merged
Conversation
This is cleanup that should have been part of 1903f5d (#1227); it changes no behaviour and only removes the code and naming that commit left dead. RecordFilterListProvider is now a plain class that its owning clerk creates from a property table and calls AdjustFilterSelection on directly. Until now it implemented IxCoreColleague, stored a Mediator and a configuration node it never read, and named that method OnAdjustFilterSelection, returning false, although since #1227 no provider is added to the Mediator and no AdjustFilterSelection message is sent. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
NUnit Tests 1 files ±0 1 suites ±0 14m 51s ⏱️ +21s Results for commit 231db9b. ± Comparison against base commit 8afbeb5. This pull request removes 1 and adds 1 tests. Note that renamed tests count towards both. |
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #1230 +/- ##
=======================================
Coverage 40.50% 40.51%
=======================================
Files 1559 1559
Lines 356085 356075 -10
Branches 41584 41584
=======================================
+ Hits 144243 144264 +21
+ Misses 182531 182499 -32
- Partials 29311 29312 +1
🚀 New features to boost your workflow:
|
thejambi
approved these changes
Nov 4, 2026
thejambi
left a comment
Contributor
There was a problem hiding this comment.
@thejambi reviewed 5 files and all commit messages.
Reviewable status:complete! all files reviewed, all discussions resolved (waiting on mark-sil).
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This is cleanup that should have been part of 1903f5d (#1227); it changes no behaviour and only removes the code and naming that commit left dead. RecordFilterListProvider is now a plain class that its owning clerk creates from a property table and calls AdjustFilterSelection on directly. Until now it implemented IxCoreColleague, stored a Mediator and a configuration node it never read, and named that method OnAdjustFilterSelection, returning false, although since #1227 no provider is added to the Mediator and no AdjustFilterSelection message is sent.
Reviewer notes
Start here:
Src/XCore/xCoreInterfaces/RecordFilterListProvider.cs-- the whole class as it now stands; the other four files are callers following its new signatures.What changes for callers.
RecordFilterListProviderand its only subclass,WfiRecordFilterListProvider:OnAdjustFilterSelection(object) : boolbecomesAdjustFilterSelection(object currentFilter) : voidCreate(Mediator, PropertyTable, XmlNode)becomesCreate(PropertyTable, XmlNode)Init(Mediator, PropertyTable, XmlNode)becomesInit(PropertyTable)IxCoreColleagueand itsGetMessageTargets,ShouldNotCallandPriorityare gone, as are them_mediatorandm_configurationfieldsThe unknown: does anything still reach these by name or by interface? No, and that is what makes the build sufficient validation.
AddColleague.GetMessageTargetsnever returnsm_filterProvider.IxCoreColleagueapplies to a control, slice, pane, app, list or configured listener; no configuration lists a provider as a listener.OnAdjustFilterSelectionwas the onlyOn/Displaymethod on either class.Createkeeps itsXmlNode:DynamicLoader.CreateObjectneeds it to build the provider.Where to look.
WordformFiltersTests.AdjustFilterSelectionhad no assertions since the 2012 initial commit; it now checks the Clear Wordform-Set Filter item is added for a word-set filter and removed fornull.Deliberately not here.
WordformFiltersTestsstill creates aMediator, becausePropertyTable's constructor takes one.Verification.
build.ps1 -CommentHygiene -TokenHygiene: full solution with tests, 0 warnings, 0 errors.WordformFiltersTests1/1 andRecordClerkFilterSelectionTests5/5 pass. No manual test: there is no behaviour change to observe. No Jira ticket: nothing reaches a tester.Next: approve, or tell me what to change.
Preflight review details
Code Review Summary
Branch: adjust-filter-selection-rename
Base: main (merge base 8afbeb5)
Date: 2026-11-04
Review model: Claude Opus 5.5
Files changed: 5 (1 commit)
Overview
Cleanup that should have been part of 1903f5d (#1227). That commit stopped
sending the AdjustFilterSelection Mediator message and stopped registering
WfiRecordFilterListProvider as a colleague, but left RecordFilterListProvider
shaped as a Mediator colleague. This branch removes that shape: the
IxCoreColleague implementation, the On prefix and bool return on
AdjustFilterSelection, and the Mediator and configuration node that Create and
Init stored but never read. No behaviour changes.
Contract/API Changes
All public, all on RecordFilterListProvider and its only subclass,
WfiRecordFilterListProvider; every caller is in this repository and was
updated.
OnAdjustFilterSelection(object argument)returningboolis nowAdjustFilterSelection(object currentFilter)returningvoid.IxCoreColleague;GetMessageTargets,ShouldNotCallandPriorityare removed.Create(Mediator, PropertyTable, XmlNode)is nowCreate(PropertyTable, XmlNode).Init(Mediator, PropertyTable, XmlNode)is nowInit(PropertyTable).m_mediatorandm_configurationare removed.Findings
Critical - Must address before merge
None.
Important - Should address before merge
None.
Minor - Consider
during review: it now checks the Clear item is added for a word-set filter
and removed for null)
registration (fixed during review: interface and members removed)
argument(fixed during review: renamedcurrentFilter)parameter removed from Create and Init)
review)
Init parameter removed)
Required Validation / Evidence
./build.ps1 -CommentHygiene -TokenHygiene: full solution, tests included,0 warnings, 0 errors.
./test.ps1 -TestProject Src/Common/Filters/FiltersTests -TestFilter FullyQualifiedName~WordformFiltersTests: 1/1 passed../test.ps1 -TestProject Src/xWorks/xWorksTests -TestFilter FullyQualifiedName~RecordClerkFilterSelectionTests: 5/5 passed.removed members by name or by interface at runtime (checked below).
Positive Observations
Interview Notes
registers a provider, the clerk's GetMessageTargets never returns
m_filterProvider, every non-test cast to IxCoreColleague applies to a
control, slice, pane, app, list or configured listener, no configuration
lists a provider as a listener, and OnAdjustFilterSelection was the only
On or Display method on either class.
abstract and its only subclass overrides it.
initial commit; RecordClerk adjusts the Filters menu by direct call #1227 did not touch it.
constructor takes one; the author chose to leave it.
Suggested Review Focus
🤖 Generated with Claude Code
This change is