[Bugfix] Make filter boosts respect local vs. remote scope #38
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.
Closes: #37
Continues: #36
The first version of filter duplicate boosts forgot to take the max of only local or remote scopes, so if a post had been boosted more recently by a remote account, the most recent local boost wouldn't be seen and vice versa for the federated feed. This fixes that by including those scopes in the correlated subquery.
Caveats:
Status
when used in the subquery (so rather thanWHERE s2.local = true
it would always beWHERE statuses.local = true
, which didn't work). This means that if the definition of the contexts change, then our subquery will get out of sync, but if that happens the tests should catch us.Other changes
reblog_of_id
andid
to make subquery faster!scope.merge!
call out of the block of other scopes so that it's easier to maintain - fewer merge conflictsI am not sure why the ruby linting is failing now, but i didn't touch any of those files - we'll sort of linter errors when we merge upstream tomorrow