Add filtering to RecallContextManager
#1095
Draft
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 PR implements the change mentioned in #1083 (comment) and the following comment.
Some notes and things that remain to be done:
UiRecallContextManagerclass might not actually necessary, because it simply adds a different defaultfilterfunction.filter_ui_objectsfunction is meant to returnTrueforTagChildorTagAttrsorNoneobjects. However, there's not really a good way to check if something is aTagChildorTagAttrs, since those aren't classes, but instead Union types which are recursive. I suppose we could recurse into the objects and check the entire tree to see if everything fits into the type, but that seems pretty crude. This issue is the most questionable part of this approach.TagChildargs, while others acceptTagChild | TagAttrs, but thefilter_ui_objectsfunction currently only checks for the latter. There should be a different filter function that checks for the former.