Misc changes.

Layout changes

Smaller filename font, smaller thumbnails, subjectively better multi-file posts.

.uploadCell img:not(.imgExpanded) {
    width: 125px;
    height: 125px;
    object-fit: contain;
  }
  div.panelUploads.multipleUploads figure.uploadCell details summary 
  div.uploadDetails :not(.coloredIcon, .originalNameLink, .hideMobile) {
    display: none;
  }
  .uploadDetails {
    font-size: 9px;
  }
  .divMessage {
      margin: 1em 1em 1em 1em;
  }
  .innerPost {  
    min-width: 100%;
  }

Hide hidden post stubs

1
2
3
.postCell:has(> span.unhideButton.glowOnHover) {
  display: none;
}

JavaScript snippets

Thread trimmer

const threadTrimmer = function () {
    var maxLength = 500;
    var postLinks = document.querySelectorAll('.postCell');
    if (postLinks.length > maxLength){
        for (let i=0; i < postLinks.length-maxLength; i++){
            postLinks[i].remove();
        }
    }
}
setInterval(threadTrimmer, 10000); //Cleans up once every 10s

Hide replies to hidden posts

const hideReplies = function() {
    const _posts = document.querySelectorAll('.postCell');
    for (let i = 0; i < _posts.length; i++){
       var _post = _posts[i];
       const postLinks = _post.querySelectorAll('.divMessage > a.quoteLink');
       if (postLinks != null && postLinks.length > 0){
           postLinks.forEach(_linkedPost => {
               const _linkID = _linkedPost.href.split('#')[1];
               try {
                   if (document.getElementById(_linkID).firstChild.className == "unhideButton glowOnHover" 
                   || document.getElementById(_linkID).style.display == 'none'){
                       _post.style.display = 'none';
                   }
               } catch (error){
               }
           });
       }
    }
}
setInterval(hideReplies, 2000);

Prevent auto scrolling to the bottom after replying. Use Greasemonkey/Violentmonkey for this one.

// ==UserScript==
// @name        8chan-overrides
// @namespace   Violentmonkey Scripts
// @match       https://8chan.moe/*/res/*
// @grant       none
// @version     1.0
// @author      -
// @description Prevents auto scrolling after replying
// ==/UserScript==

thread.replyCallback = function(status, data) {

  if (status === 'ok') {

    postCommon.storeUsedPostingPassword(api.boardUri, api.threadId, data);
    api.addYou(api.boardUri, data);

    document.getElementById('fieldMessage').value = '';
    document.getElementById('fieldSubject').value = '';
    qr.clearQRAfterPosting();
    postCommon.clearSelectedFiles();

    if (!thread.autoRefresh || !thread.socket) {
      thread.refreshPosts(true);
    }

  } else {
    alert(status + ': ' + JSON.stringify(data));
  }

};

thread.replyCallback.stop = function() {

  thread.replyButton.value = thread.originalButtonText;

  qr.setQRReplyText(thread.originalButtonText);

  thread.replyButton.disabled = false;
  qr.setQRReplyEnabled(true);

};

thread.replyCallback.progress = function(info) {

  if (info.lengthComputable) {
    var newText = 'Uploading ' + Math.floor((info.loaded / info.total) * 100)
        + '%';
    thread.replyButton.value = newText;

    qr.setQRReplyText(newText);
  }

};
Edit Report
Pub: 18 Apr 2025 01:19 UTC
Edit: 18 Apr 2025 16:40 UTC
Views: 268