1. 23 Apr, 2020 2 commits
    • Robert Knight's avatar
      Add a note about why the thread list is virtualized · 996f8766
      Robert Knight authored
      Several new developers have in the past asked why we use virtualization
      since it adds complexity to the thread list implementation. Add a note
      to the `ThreadList` docs explaining why it is needed.
      996f8766
    • Robert Knight's avatar
      Move margin between `ThreadCard`s to `ThreadList` · ebee0db9
      Robert Knight authored
      Move the bottom margin on thread cards from the root `<div>` rendered by
      `ThreadCard` to the wrapper div that contains it rendered by
      `ThreadList`.
      
      Aside from making conceptual sense that the list component controls the
      spacing of list items, this also fixes an issue where the thread list
      would sometimes jump when scrolling. This happened because the height of
      individual threads was computed by calling `getElementHeightWithMargins`
      on the wrapper div, which only accounted for margins on the wrapper div,
      not margins on descendants. Note that due to margin collapsing, the descendant
      margins did not contribute to the `getBoundingClientRect()` of the
      wrapper div.
      ebee0db9
  2. 22 Apr, 2020 21 commits
  3. 21 Apr, 2020 4 commits
  4. 20 Apr, 2020 10 commits
  5. 17 Apr, 2020 3 commits