Munkelzahn
Privileged
1 year ago

The "Link" formatting button doesn't work anymore.
When I click it, nothing happens.

treos
Blocked
1 year ago

what's wrong with this script? i rebooted my laptop earlier and now the script is showing the shortcut bar like it should. i bet the settings menu for it in my account settings page isn't showing up either...of course not.

do i need to reinstall this whenever i reboot my laptop or something cause i've gotten used to using that thing and now not having it is...less convenient in a number of ways. :/

edit: no, reinstalling didn't fix the problem. esix has gone and died on me entirely. :(

treos
Blocked
1 year ago

seems theres a slight snag with a pool i've been reading.

pool #2746

i eventually hit page 589 of this incredibly long pool/fanfic and esix extend is saying that's the last page of the pool yet it still goes on until page 620. also, upon loading page 590, none of the esix buttons or anything appears where the next/previous links are in the top left corner of the page. perhaps it has to do with the fact this is one incredibly lengthy pool or something?


Err... I think the "Mentions" link on the toolbar should be https://e926.net/comment?poster_id=229276 instead of https://e926.net/comment?user_id=229276


What's e926?

parasprite
Former Staff
1 year ago
blue_eyes cutie_mark digital_media_(artwork) duo ear_tuft english_text equine eshredder feathered_wings feathers female feral fluttershy_(mlp) friendship_is_magic fur hair inner_ear_fluff long_hair looking_at_viewer mammal my_little_pony parasprite_(mlp) pegasus pink_hair simple_background smile solo_focus text tongue tongue_out tuft wings yellow_feathers yellow_fur

Rating: Safe
Score: 36
User: Fluttershy
Date: April 15, 2013

ckgjkjj6 said:
What's e926?

https://e926.net. It's essentially e6 with rating:s forced on.

treos
Blocked
1 year ago

hmmm... could this script be updated so it recognizes when a post in a pool has been replaced? what i mean is this isn't the first time a post has been flagged > deleted > replaced by a superior version which then results in esix extend stuck showing i have a unchecked pool with (currently) ?/77 posts.

it detects when posts are added just fine but not when they're replaced like this.

example: AdmiralGreg replaced the newest post in pool #7064 with post #1211858 but instead of redirecting to the new post, esix extend still points to the old post (post #1211821 in this case) and thus shows ?/77 in the updated part of the subscriptions pop-up.


Whenever I try to import my subscriptions the script stops working and I get this error:

(unknown) {eSixExtend} TypeError: Cannot read property 'length' of null
-= Stack =---------------------------------------------------------------------
TypeError: Cannot read property 'length' of null
    at countSubsUpdates (eval at <anonymous> (:2:297), <anonymous>:3940:23)
    at eval (eval at <anonymous> (:2:297), <anonymous>:598:19)
    at Window.eval (eval at <anonymous> (:2:297), <anonymous>:4549:3)
    at <anonymous>:2:297
    at window.eSixExtend.versionName (eval at <anonymous> (:2:297), <anonymous>:2:1)
    at eval (eval at <anonymous> (:2:297), <anonymous>:3:3)
    at Object.eval (eval at <anonymous> (:2:297), <anonymous>:4557:6)
    at eval (eval at <anonymous> (:2:297), <anonymous>:4557:50)
    at eval (<anonymous>)
    at <anonymous>:2:297
eSixExtend V3.027 (161228). File last updated on December 28, 2016 3:44 Am (UTC-6). ©2012-2015 Xch3l

Let me just start off by saying, good golly gosh how have I been using this site for so long and not installed this, I am a fool.

That being said there is one feature that I kinda wish was in here and that is a resize hotkey. Being an artist I like to make sure I like some pieces composition before checking out the details. What could be even cooler would be an interface to create your own hotkeys but that sounds like it could be buggy and complicated.

Great work on everything though.

Edit: Now its time to bind hotkeys to my mouse for the ultimate 'browsing' experience! *maniacal laughter ensues*


Favourite count is now broken due to forum #235702.


JAKXXX3 said:
Favourite count is now broken due to forum #235702.

Eeyup. Gonna need a new counting method.

Granberia
Contributor
10 months ago
2015 animal_humanoid apron blush clothing dragon dragon_humanoid female granberia green_scales hair hi_res humanoid looking_at_viewer monster_girl monster_girl_(genre) monster_girl_quest naked_apron red_hair scales simple_background solo standing tau_1111 video_games yellow_eyes

Rating: Safe
Score: 15
User: Granberia
Date: September 02, 2017

On some forum pages (for example the one I'm looking at now) script doesn't work correctly. Console shows this error:

{eSixExtend} InvalidCharacterError: String contains an invalid character
-= Stack =---------------------------------------------------------------------
[email protected]:///C:/Users/anomaly/AppData/Roaming/Mozilla/Firefox/Profiles/1kk67t1b.default/gm_scripts/eSix_Extend/eSix_Extend.user.js:625:11
@file:///C:/Users/anomaly/AppData/Roaming/Mozilla/Firefox/Profiles/1kk67t1b.default/gm_scripts/eSix_Extend/eSix_Extend.user.js:637:3
@file:///C:/Users/anomaly/AppData/Roaming/Mozilla/Firefox/Profiles/1kk67t1b.default/gm_scripts/eSix_Extend/eSix_Extend.user.js:45:2
eSixExtend V3.027 (161228). File last updated on December 28, 2016 3:44 Am (UTC-6). ©2012-2015 Xch3l

Granberia said:
On some forum pages (for example the one I'm looking at now) script doesn't work correctly.

You can blame parasprite for this. Or, more precisely, her user rank. If "Decorate user ranks" is enabled, the script will try to add the user rank as a css class to its container. The problem is, css class names cannot contain spaces, and the script is not prepared for this. I don't know when "Former Staff" was introduced, but this script was made way before that, and there were no user ranks with spaces back then.

You can fix this manually by changing the end of line 622 from rank.innerHTML.toLowerCase(); to rank.innerHTML.toLowerCase().replace(/ /g, '-');. Do be mindful that editing your local copy of the script will more than likely disable automatic updates for it though.


I've been having trouble with the script for quite a long time really. It used to be that whenever I tried to update the settings with new shortcuts, the script simply wouldn't update for me.

Yesterday, I cleared my cache and that unfortunately cleared all the settings I had for the script. So I was trying to fix my settings and shortcuts again today, and when I tried to reload a page after saving, Firefox froze up and then told me to stop the unresponsive script. Happens every time I load a page, and now I can't seem to use the script at all. Even updated it to try and see if that would work, but to no avail.

Kind of a bummer that this has happened, but I understand with all the changes that have been going on around here since it was last updated.


JAKXXX3 said:
Whenever I try to import my subscriptions the script stops working and I get this error: ...

I've fixed this bug by adding null-checks to lines 3935 and 3941, within the countSubsUpdates() function (sub != null condition in the for loops). It's a bit of a kludge, and I have no idea of the ramifications of this edit besides avoiding an annoying null-pointer-exception.

Here is the modified code from line 3931 to line 3947:

  function countSubsUpdates() {
    var cnt = 0, i, itm, sub;
    sub = getPoolSubscriptions();
    for(i = 0; sub != null && i < sub.length; i++) {
      itm = sub[i];
      if(isSubUpdated(itm) && itm.keep != true) cnt++;
    }
    sub = getForumSubscriptions();
    for(i = 0; sub != null && i < sub.length; i++) {
      itm = sub[i];
      if(isSubUpdated(itm)) cnt++;
    }
    return cnt;
  }

Munkelzahn said:
The "Link" formatting button doesn't work anymore.
When I click it, nothing happens.

This bug only occurs in Firefox.
Solution:
https://stackoverflow.com/questions/20419515/window-getselection-of-textarea-not-working-in-firefox#20427804

Unfortunately:
"You may be asking for selectionStart and selectionEnd (does not exist in Internet Explorer, works with Firefox and Chrome)"


BlueDingo said:
Eeyup. Gonna need a new counting method.

If KiraNoot's guess is right:

I'm guessing it does a search for your favorites and sets the per page to 1 and gets the page count to get your favorite count.

.. I've thought about this a bit, and you can probably do it in two requests; ideally asynchronously, so you can have an approximate figure in the same amount of time (one request).

1. Do the search with page_size=320
2. Set approximate_total = (page_count - 1) * 320
3. Update the gui with this approximate_total
4. Request the final page in this search (ie. page #page_count), again with page_size=320. Possibly use JSON API for this step, if it's easier to count items this way.
5. Count the number of items in the page you just got. Add it to the displayed total.

One obvious criticism that could be made of this is that the displayed total may be lower or higher than the actual total. This would occur if you added or removed favorites between the times that the two requests occurred (eg. if you unfaved 2 items in that time, then the displayed total would be 2 higher than the actual total).

I think that consequence is trivial enough and rare enough that this is a workable solution.

BlueDingo
Privileged
7 months ago
2013 5_fingers abs anthro athletic canine claws collarbone cute dingo front_view fur gloves_(marking) half-length_portrait holding_arm imiak inner_ear_fluff looking_at_viewer male mammal markings navel nipples nude peachez pecs pink_eyes pink_fur pink_nose portrait pose shy solo tan_fur v-cut

Rating: Safe
Score: 36
User: flux_capacitor
Date: March 02, 2013

Actually, the counter issue was fixed months ago. It works just fine now.


I'm having issues with 'reading' comics, and using the tag checker and so forth.

I believe this has to do with me being on Firefox 57. It's a complete re-write for extensions.
Greasemonkey has had to update and cause major changes:
https://www.greasespot.net/2017/09/greasemonkey-4-announcement.html

They follow up with this:
USERS:
https://www.greasespot.net/2017/09/greasemonkey-4-for-users.html

DEVELOPERS:
https://www.greasespot.net/2017/09/greasemonkey-4-for-script-authors.html

If a fix is not found for this script, Greasemonkey has suggested using TamperMonkey or Violentmonkey in order to possibly keep this script working on the newer Firefox 57+.


Onii-chan said:
I'm having issues with 'reading' comics, and using the tag checker and so forth.

I believe this has to do with me being on Firefox 57. It's a complete re-write for extensions.
Greasemonkey has had to update and cause major changes:
https://www.greasespot.net/2017/09/greasemonkey-4-announcement.html

They follow up with this:
USERS:
https://www.greasespot.net/2017/09/greasemonkey-4-for-users.html

DEVELOPERS:
https://www.greasespot.net/2017/09/greasemonkey-4-for-script-authors.html

If a fix is not found for this script, Greasemonkey has suggested using TamperMonkey or Violentmonkey in order to possibly keep this script working on the newer Firefox 57+.

I am having problems on the most recent Firefox as well. My name at the top right redirects to the original admin account and a bunch of features aren't working at all. The script has to be updated to work with the most recent version of Greasemonkey, it seems.


Well, finally getting over myself and checking out the GM pages, I don't see how the newest update breaks the script but I guess I won't really know until I actually check it out....

Edit:

Okay so, from what I saw, GM is very misleading when reporting errors via Exception.stack. Some errors pointed to lines with strings, others to comments and others to lines way outside of those in the script (4552, +1 if you count the } at the very end). Besides that, most errors seem to root from the reduced access to window and this thing called "XRay Vision"

I've wanted to rewrite this thing for some time already, adding a queue to requests since they happen like all at the same time (or as soon as the browser has time to do them), redoing many parts of it but in a better and more efficient way and basically making it 2017-compatible overall but for now, I'll provide a patch that fixes these two issues:

  • Some links being wrong (Malformed URI errors)
  • Access to window

I'll do a new comment when this file is available


Using Tapermonkey instead of Greasemonkey makes the script work properly again with Firefox 57+ but you can't save the settings.


Tampermonkey worked fine for me, and it seems to be remembering my settings as well (though to be fair I really only use it for pool watching).

One thing to note is that if you switch from greasemonkey to tampermonkey then it will forget your pool list and probably the rest of your settings as well. So long as you export your settings and import them you'll be fine though. Found that out the hard way and had to resort to an export file that was several months old. Luckily I was able to use my browser history to go back and find any pools that I needed to re-follow.


logitech said:
Tampermonkey worked fine for me, and it seems to be remembering my settings as well (though to be fair I really only use it for pool watching).

One thing to note is that if you switch from greasemonkey to tampermonkey then it will forget your pool list and probably the rest of your settings as well. So long as you export your settings and import them you'll be fine though. Found that out the hard way and had to resort to an export file that was several months old. Luckily I was able to use my browser history to go back and find any pools that I needed to re-follow.

Yeah, apparently it has to do with the reduced access to window (didn't think it got that reduced) plus the encapsulating of modifications to HTML Elements via JS (apparently to keep code pollution away and redefinition of functions like alert).

I'm still between completely rewriting the entire thing or posting a duct taped version that works around them limitations


So I just want to thank Xch3l for making a framework that makes it super easy to modify this script to fit your needs.
My only issue was when I accidentally cleared out the entire import/export boxes to remove junk I had put in there (dunno if it was too old of a backup or what), and instead of that making the extension load up the defaults, it loaded up... nothing. That was fun to try to fix.

But something that's bothered me for a while: Going through a bunch of posts, and favoriting ones I really like. But my predictable ass has already favorited them before, so the script just immediately assumes I want it out of my favorites. Most of the time I catch that the message is different, sometimes I don't. So I separated favorite/unfavorite into 2 different hotkeys. Honestly it was a total of... 9 changed lines? And all but 2 of those were just changing it to handle the second key differently, and give warnings about "You've already favorited this post" and "You haven't favorited this post"

I seriously thought there would be more to adding a keybind setting than addKeyPreference(internal name,display name)
and also adding a default, just in case something happened.

Overall this is a fantastic script, I would just change the setting load script to check for null or blank settings to set them to default. I can understand why a favorite toggle would be good for some people, but personally, it caused more issues, and I rarely unfavorite a post after favoriting it.


I don’t think you can, but how do you delete a note from the note history. I don’t believe it’s possible to do that, though because once it’s there, the note history will still keep it even if deleted on the post, I apologize if I sound confusing.


HIMofangels said:
...Going through a bunch of posts, and favoriting ones I really like. But my predictable ass has already favorited them before, so the script just immediately assumes I want it out of my favorites. Most of the time I catch that the message is different, sometimes I don't. So I separated favorite/unfavorite into 2 different hotkeys. Honestly it was a total of... 9 changed lines? And all but 2 of those were just changing it to handle the second key differently, and give warnings about "You've already favorited this post" and "You haven't favorited this post"...

Can you post your changes? I would like this too.


Xch3l said:
I wrote this script following some posts on the feature request thread (mainly forum #46188, forum #51506 and forum #64874) which does some stuff to your user experience.

Features
  • Adds these formatting buttons to the comment/reply box and any other textbox that allows formatting
  • Changes the top header from this to this. (look in the next section for an explanation about the UserBar)
  • Also, a character counter for blips!
  • Hotkeys! Fave, vote up/down and navigate pools with a single keypress! (forum #57688)
  • Keep track of updates to pools and forum threads
  • TinyAliases, a quick way to add several tags with just one (forum #89046)
  • Preview which posts are in dispute in takedown requests
  • Common Tags: List the tags that are common in a search and in how many posts it appears
  • Quick "add to blacklist" function. Just click the "X" near a tag and voilá, it's now on your blacklist! Works for posts and users too! (for posts click the "Blacklist post" link on the Options section; for users, head to an user profile, by clicking on its username, and then click on "Blacklist user" link at he top)
  • And many more!!

Tested on Opera, Firefox and Chrome.

It is also compatible with:
How to install
▼ Opera (for versions after 15, please take a look at section "Chrome/Chromium-based browsers")
  • Create a folder in your documents (like "C:\Users\name\Documents\JS" or similar, if you don't have it already)
  • Download the script from here (right click on "Install" > Save Linked Content As…) to the folder you just created
  • Open Opera's preferences (Ctrl+F12)
  • Go to "Advanced" tab.
  • On "Content" section (over the left box), click "JavaScript options" button.
  • On the new dialog locate the User JavaScript box (is at the bottom) click "Choose..." and look for the folder you just created earlier
    • Alternatively type the location of the folder (mine is on "C:\X\Docs\JavaScript", to give you an idea)
  • Click OK on everything and enjoy.

tl;dr: Tools > Preferences > Advanced > Content > JavaScript Options > User JavaScript folder. Select the folder you created.

Note: Make sure you have Opera to run scripts on secure (https) pages by going to "opera:config#UserPrefs|UserJavaScriptonHTTPS" (without quotes) on a new tab and ticking the box if it isn't. You can copy the address, open a new tab and pasting with Ctrl+Shift+V.

This is info for Opera on Windows. I don't know if the order in other plaforms is the same *shrug*

▼ Firefox

You must have Greasemonkey in order to be able to install the script.

Go to this page and click "Install".

If you see a lot of words instead of the actual dialog, then that means you don't have Greasemonkey installed. you should read the text that is in bold more often :D

▼ Google Chrome/Chromium-based browsers

Chrome works pretty much like Firefox, in the way of installing userscripts, except that you don't need Greasemonkey! But you need Tamperonkey. Which is a good trade if you want better control with your userscripts.

Install Tampermonkey from the Chrome store
Then go here and click "Install".

The UserBar

The UserBar is a small space that contains useful links (such as your user profile, faves, messages) and is divided in three parts.

▼ Click to collapse
  • Its appearance, with default settings, is like this:
    • Main links: This section holds 4 links to important parts of the site
      • ? : Leads to your account page. The page where you find several links to other parts of the site related to your activity
      • [UserName]: This link's label will change to your user name. It leads to your user profile
      • M0: Displays the count of new, unread, messages you've received and links to your Message Center (you can hide it)
      • ?6213: The actual count of your favorites. You can choose whether it counts faves that are now deleted or not displaying it at all
      • S2: This link will appear when you have subscriptions (added pools or forums to a tracking list) and it will show the number of subscriptions that have updated (ex. the link displays two new updates)
    • Custom links: This section can hold an unlimited amount of links (up to 10 visible, more than that and they will be in a separate list). Configurable in the script's settings. These are in the list by default
      • R?: Replies to your comments
      • C?: Comments on your posts
      • U?: Upload
      • D?: DNP List
      • E?: This thread
    • Settings/Logout: Pretty much that. It holds the last two useful links for an user.
      • S?: Settings. Clicking it will take you to your account settings. Right-clicking it takes you to the script's settings (which happens on the same place but with the appropriate tab selected)
      • L?: Logout.
    So...

    Anything I missed/would you like me to add (or fix/unbroke)? Or you want to hit me for no special reason? Fell free to slap them comments here for everyone to see!

    Current version

    [05/09/2016] Version 3.026 (Code 160904)

    • Updated DNP Database to version 431
    • New option to hide child/parent post relationships (aka green/yellow colored borders) [via PM]
    • Correct displaying of username for cases where it has characters outside of those permitted in URLs [forum #199607]
    • Fixed some messages on the Script Preferences pane
    • [ADMIN] Added hotkeys for Approving and Deleting posts [via PM]
    • Fixed "undefined" on the results popup after counting comments' score [forum #186378, forum #204085]
    • Added detection of available formatting options for input boxes

    Code related

    • Changed how the current page is referred to (previous versions used an array, while current uses a more understandable naming)
    • Minor code cleanup (like, really minor)
    • Added request timeout error handlers

    Change logs for previous versions are here

    Download

    Get it from here and follow the instructions that are appropriate for your browser from the sections above.

    I hope you find it useful! Any kind of support and/or feedback will be appreciated! Donations are good too and help keep this project going! :3

    Out of curiosity, what is the "localhost:3621" permission for? I'm not aware of anything that specifically runs on that port, though it's obviously something to do with e621...


    Been a year but I'll ask again :]

    I love the 'Blackhole Blacklist' feature! Could you possibly do the same for the 'Random' button on the Posts page?

    It's silly but
    1.) It's a potential time sink if you're the curious type
    2.) You can still land on blacklisted stuff which sucks

    Maybe that and other parts of the site in general having the option to be blackholed/hidden could be useful. Less clutter is nice :]


    Human-Shaped said:
    Been a year but I'll ask again :]

    I love the 'Blackhole Blacklist' feature! Could you possibly do the same for the 'Random' button on the Posts page?

    It's silly but
    1.) It's a potential time sink if you're the curious type
    2.) You can still land on blacklisted stuff which sucks

    Maybe that and other parts of the site in general having the option to be blackholed/hidden could be useful. Less clutter is nice :]

    Hi, I've quickly clobbered together a tiny script to get rid of the Random links. (You may need to quote me to copy the code properly, but it should work fine.)

    ▼ Click to collapse
    // ==UserScript==
    // @name         No Random Post on e621
    // @namespace    https://e621.net/user/show/97563
    // @version      0.1
    // @description  Removes the "Random" link(s) from the post index and post pages.
    // @author       EsalRider
    // @match        *://e621.net/post/*
    // @match        *://e926.net/post/*
    // @grant        none
    // ==/UserScript==
    (function() {
        'use strict';
        var nl = document.querySelectorAll('a[href="/post/random"]');
        for (var i = 0; i < nl.length; i++)
        {
            var p = nl[i].parentElement;
            if (p.childNodes.length > 1)
            {
                // Removing from sidebar
                p.removeChild(nl[i].nextSibling);
                p.removeChild(nl[i]);
            }
            else
            {
                // Removing from sub-navigation bar
                p.parentElement.removeChild(p);
            }
        }
    })();
    

    Also, you can always search for order:random if you want random posts without seeing blacklisted content.