From 03c8f73d36f7491080adc97732f2da064008badc Mon Sep 17 00:00:00 2001
From: Lars-Dominik Braun <lars@6xq.net>
Date: Sat, 20 Jan 2018 17:01:47 +0100
Subject: twitter: Expand “more replies” links
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Click them periodically.
---
 crocoite/data/per-site/twitter.js | 29 +++++++++++++++++++++--------
 1 file changed, 21 insertions(+), 8 deletions(-)

diff --git a/crocoite/data/per-site/twitter.js b/crocoite/data/per-site/twitter.js
index 330370a..2773f64 100644
--- a/crocoite/data/per-site/twitter.js
+++ b/crocoite/data/per-site/twitter.js
@@ -1,17 +1,30 @@
-/* Fixups for twitter: Some accounts are hidden behind a “suspicious activity”
- * message, click that.
+/* Fixups for twitter:
+ * - Some accounts are hidden behind a “suspicious activity” message, click
+ *   that.
+ * - Click “more replies” buttons periodically (as they popup when scrolling)
  */
 (function(){
-function fixup () {
-	var show = document.querySelector ("button.ProfileWarningTimeline-button"); 
-	if (show) {
-		var click = new MouseEvent('click', {
+function makeClickEvent () {
+	return new MouseEvent('click', {
 				view: window,
 				bubbles: true,
 				cancelable: true
 				});
-		show.dispatchEvent (click);
+}
+function expandThread () {
+	let links = document.querySelectorAll('a.ThreadedConversation-moreRepliesLink');
+	for (let i = 0; i < links.length; i++) {
+		links[i].dispatchEvent (makeClickEvent ());
+	}
+	return true;
+}
+function showProfile () {
+	var show = document.querySelector ("button.ProfileWarningTimeline-button");
+	if (show) {
+		show.dispatchEvent (makeClickEvent ());
 	}
 }
-window.addEventListener("load", fixup);
+window.addEventListener("load", showProfile);
+/* XXX: can we use a mutation observer instead? */
+window.setInterval (expandThread, 1000);
 }());
-- 
cgit v1.2.3