-
Notifications
You must be signed in to change notification settings - Fork 572
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
Appview v2: don't apply missing modlists #2122
Merged
+67
−21
Merged
Changes from 3 commits
Commits
Show all changes
5 commits
Select commit
Hold shift + click to select a range
File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains 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
This file contains 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
Oops, something went wrong.
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.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm a little torn on modifying the
ProfileViewer
s in this way. There are implicit dependencies betweengetProfileViewerStates()
, this logic, and mute/block evaluation. We could also handle it on the flip side, when blocks are being evaluated, inviewerBlockExists()
andviewerMuteExists()
, and in some ways I think that fits better into how hydration vs. view logic currently works. Either case introduces some dependencies, so I'd be for leaving another comment or two to document those. That would be either:getProfileViewerStates()
the dependence on a later call toremoveNonModListsFromProfileViewer()
for evaluation of blocks/mutes orviewerMute/BlockExists()
that referenced lists must be hydrated.There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
yeah i thought about doing it in the view layer
but I think there's a decent argument that this should be handled in hydration. in v1, we were doing this in hydration & the lists on ProfileViewers don't actually "exist". Imo this isn't "view logic", it's an additional piece of logic on hydration that would ideally be handled in the hydration query but isn't because everything is denormalized & this is expensive to materialize 🤔
Def down to rework logic/document it better
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I agree it would be more ideal for this to be in
getProfileViewerStates
but then it mixes it up with list logic which is kinda pretty strange because we have to jam a list hydration call in there...maybe we could add a higher level
getProfilerViewerStates
to the hydrator that handles this logicand have a lower level
getUncheckedProfileViewerStates
on the profile hydrator that calls out the response is incomplete