Show replies in context of their threads (#4871)
* Don't reconstruct threads from separate posts
* Remove post-level dedupe for now
* Change repost dedupe condition to look just at length
* Delete unused isThread
* Delete another isThread field
It is now meaningless because there's nothing special about author threads.
* Narrow down slice item shape so it does not need reply
* Consolidate slice validation criteria in one place
* Show replies in context
* Make fallback marker work
* Remove misleading and now-unused property
It was called rootUri but it was actually the leaf URI. Regardless, it's not used anymore.
* Add by-thread dedupe to non-author feeds
* Add post-level dedupe
* Always count from the start
This is easier to think about.
* Only tuner state need to be untouched on dry run
* Account for threads in reply filtering
* Remove repost deduping
This is already being taken care of by item-level deduping. It's also now wrong and removing too much (since it wasn't filtering for reposts directly).
* Calculate rootUri correctly
* Apply Following settings to all lists
* Don't dedupe intentional reposts by thread
* Show reply parent when ambiguous
* Explicitly remove orphaned replies from following/lists
* Fix thread dedupe to work across pages
* Mark grandparent-blocked as orphaned
* Guard tuner state change by dryRun
* Remove dead code
* Don't dedupe feedgen threads
* Revert "Apply Following settings to all lists"
This reverts commit aff86be6d37b60cc5d0ac38f22c31a4808342cf4.
Let's not do this yet and have a bit more discussion. This is a chunky change already.
* Reason belongs to a slice, not item
* Logically feedContext belongs to the slice
* Update comment to reflect latest behavior