Fix missing posts due to GC

Hidden/collapsed comments are not mounted so they got accidentally GC-ed
This commit is contained in:
Lim Chee Aun 2023-11-23 08:34:43 +08:00
parent b269d9d660
commit fecebc24a8
2 changed files with 11 additions and 2 deletions

View file

@ -72,7 +72,9 @@ window.__STATES_STATS__ = () => {
const { statuses } = states; const { statuses } = states;
const unmountedPosts = []; const unmountedPosts = [];
for (const key in statuses) { for (const key in statuses) {
const $post = document.querySelector(`[data-state-post-id="${key}"]`); const $post = document.querySelector(
`[data-state-post-id="${key}"], [data-state-post-ids~="${key}"]`,
);
if (!$post) { if (!$post) {
unmountedPosts.push(key); unmountedPosts.push(key);
} }
@ -89,8 +91,11 @@ setInterval(() => {
let keysCount = 0; let keysCount = 0;
const { instance } = api(); const { instance } = api();
for (const key in statuses) { for (const key in statuses) {
if (!window.__IDLE__) break;
try { try {
const $post = document.querySelector(`[data-state-post-id~="${key}"]`); const $post = document.querySelector(
`[data-state-post-id="${key}"], [data-state-post-ids~="${key}"]`,
);
const postInNotifications = notifications.some( const postInNotifications = notifications.some(
(n) => key === statusKey(n.status?.id, instance), (n) => key === statusKey(n.status?.id, instance),
); );

View file

@ -1137,6 +1137,10 @@ function StatusThread({ id, closeLink = '/', instance: propInstance }) {
disabled={uiState === 'loading'} disabled={uiState === 'loading'}
onClick={() => setLimit((l) => l + LIMIT)} onClick={() => setLimit((l) => l + LIMIT)}
style={{ marginBlockEnd: '6em' }} style={{ marginBlockEnd: '6em' }}
data-state-post-ids={statuses
.slice(limit)
.map((s) => statusKey(s.id, instance))
.join(' ')}
> >
<div class="ib avatars-bunch"> <div class="ib avatars-bunch">
{/* show avatars for first 5 statuses */} {/* show avatars for first 5 statuses */}