tree c5a317846841df1982f68761c308e47aba41e627
parent d4fadd73f1f18514faae7f15db6defc321f7ddaa
author Alice Kober-Sotzek <aliceks@google.com> 1599735592 +0200
committer Alice Kober-Sotzek <aliceks@google.com> 1600247494 +0200

Extract and rewrite the logic for comment threads

We need the logic for comment threads in more places (see I9d8091c3a
and I4af5946ce). Instead of duplicating it and possibly getting it
wrong, we now consolidate it in one place. This also includes the logic
when a comment thread is considered as unresolved/resolved.

A large benefit of this extraction is that we finally have proper test
coverage for various situations around comment threads. The previous
integration tests only verified a common case.

The new logic should also cover the issues previously solved by
I97c6aeb47 and I2788fdb22. In addition, the new logic also properly
covers longer child branches for which comments are not left one after
the other but with mixed dates. For just determining the unresolved
state of the whole thread, this didn't matter as only the last comment
(previously also determined by date for child branches) is relevant.
Now that we build the full comment threads and hand them out, we should
get the order of the contained comments right.

Unfortunately, the frontend orders comments on its own into threads.
That logic (currently contained in gr-comment-api.js) might differ from
the one implemented in the backend. Improving this situation or aligning
the logic is beyond the scope of this change, though.

Change-Id: Ie2713ebdbe05b69a705d2c9c03375b206a248e01
