Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Refactor index workflow to prepare for the tree view #375

Merged
merged 5 commits into from
May 13, 2024

Conversation

mlopatkin
Copy link
Owner

@mlopatkin mlopatkin commented May 13, 2024

This refactoring rewrites how Index filter is handled. Instead of ad hoc combination of the main filter and the custom filter, we now use the proper customized FilterModel.

Also, fixed #374 along the way.

Part of #162.

mlopatkin added 5 commits May 13, 2024 18:38
We never unsubscribed the LogModelFilter observer registered by the
IndexFilterController. A similar leak happens in BookmarkController, but
it never frees itself anyway.

Issue: #162
This doesn't work because we don't update other filters when removing.
Fixing this makes removal linear, though it is already because the array
list has to be compacted.

It is unlikely that we're going to have tens of thousands of filters, so
having a linear complexity of any filter operation is fine. The only
exception is the initialization, where adding the filters one by one may
exhibit quadratic behavior. To work around that the loading code is now
rewritten.

Issue: #374
@mlopatkin mlopatkin added this to the 0.23 milestone May 13, 2024
@mlopatkin mlopatkin self-assigned this May 13, 2024
@mlopatkin mlopatkin merged commit 06aab7a into master May 13, 2024
2 checks passed
@mlopatkin mlopatkin deleted the ml/162/refactor-index-window branch May 13, 2024 20:38
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.

Exception when editing a filter after deleting the one before it
1 participant