Thread viewer for Bluesky

fixed counting of self-threads and reposted replies

Changed files
+10 -2
+10 -2
posting_stats_page.js
··· 332 this.resetUserProgress(dids); 333 334 let requests = dids.map(did => this.appView.loadUserTimeline(did, requestedDays, { 335 - filter: 'posts_no_replies', 336 onPageLoad: (data) => { 337 if (this.scanStartTime != startTime) { 338 return { cancel: true }; ··· 480 481 let timeLimit = startTime - requestedDays * 86400 * 1000; 482 posts = posts.filter(x => (feedPostTime(x) > timeLimit)); 483 484 if (options.users) { 485 for (let user of options.users) { ··· 487 } 488 } 489 490 for (let item of posts) { 491 - if (item.reply) { continue; } 492 493 let user = item.reason ? item.reason.by : item.post.author; 494 let handle = user.handle; ··· 501 } else { 502 users[handle].own += 1; 503 allNormalPosts += 1; 504 } 505 } 506
··· 332 this.resetUserProgress(dids); 333 334 let requests = dids.map(did => this.appView.loadUserTimeline(did, requestedDays, { 335 + filter: 'posts_and_author_threads', 336 onPageLoad: (data) => { 337 if (this.scanStartTime != startTime) { 338 return { cancel: true }; ··· 480 481 let timeLimit = startTime - requestedDays * 86400 * 1000; 482 posts = posts.filter(x => (feedPostTime(x) > timeLimit)); 483 + posts.reverse(); 484 485 if (options.users) { 486 for (let user of options.users) { ··· 488 } 489 } 490 491 + let ownThreads = new Set(); 492 + 493 for (let item of posts) { 494 + if (item.reply) { 495 + if (!ownThreads.has(item.reply.parent.uri)) { 496 + continue; 497 + } 498 + } 499 500 let user = item.reason ? item.reason.by : item.post.author; 501 let handle = user.handle; ··· 508 } else { 509 users[handle].own += 1; 510 allNormalPosts += 1; 511 + ownThreads.add(item.post.uri); 512 } 513 } 514