message: Don't teardown identical cards across multiple columns
diff: @@ -50,8 +50,6 @@ export const maybeRenderCardsInColumns = makeBTDModule((options) => {
  const observer = new IntersectionObserver(
  (entries, thisObserver) => {
  - const allColumns = TD.controller.columnManager.getAllOrdered();
  -
  entries.forEach((entry) => {
  if (entry.isIntersecting) {
  return;
  @@ -69,6 +67,19 @@ export const maybeRenderCardsInColumns = makeBTDModule((options) => {
  return;
  }
  + const columnNode = chirpNode.closest('[data-column]');
  +
  + if (columnNode) {
  + const columnKey = columnNode.getAttribute('data-column');
  +
  + const column = TD.controller.columnManager.get(columnKey || '');
  +
  + if (column) {
  + column.ui.teardownCard(chirpKey);
  + }
  + } else {
  + const allColumns = TD.controller.columnManager.getAllOrdered();
  +
  allColumns.forEach((c) => {
  if (!c.updateIndex[chirpKey]) {
  return;
  @@ -76,6 +87,7 @@ export const maybeRenderCardsInColumns = makeBTDModule((options) => {
  c.ui.teardownCard(chirpKey);
  });
  + }
  thisObserver.unobserve(entry.target);
  });
  