Topic: eSix Extend (V3.02) - A script that does good stuff to your user experience!

Posted under e621 Tools and Applications

Kristal_Candeo said:
[XX:XX:XX] {eSixExtend} Query: /comment/search.json?query=user%3Akristal_candeo&page=1 (GET)
Request initiated

The user:username query syntax was actually removed around a month ago. To get it working, the script needs to do user=kristal_candeo or (preferably) user_id=180982, not query=user%3Akristal_candeo.

Kristal_Candeo said:

Update: When I hover over the results, I've noticed that the comments the scores are reflecting are not even my own comments, but instead are others' who replied to a comment I made. They are both comments from the same post, and are both in reply to the same comment I made, but I have no idea why. [/section]

See here (show search options). It's pulling up all results with both your name and "user" (it ignores the : because of how the search is optimized).

Updated by anonymous

I've had this problem for a while and I guess I just got tired of it not working as it should but, the script seems to have broken?

Whenever I switched hard drives and transferred all the settings back over via the import file off my last drive it worked for a little but now my header bar only has my name, inbox, faves, settings link, and the logout link.

Any attempt to mess with the eSix settings doesn't work either as none of the buttons within the settings work so I can't get it back to defaults either.

Updated by anonymous

@Kristal_Candeo:
Whoops! As Parasprite has mentioned, the comment search function has been changed. I haven't touched the script to update it due to computer problems, so the script is still using the old params.

I think I'm able to poke it, since I haven't had a crash in like 3-5 days... more news at 11

no prob, by the way :3

@disisandrey:
Does any error appear after loading your backup? Or you get the "Settings imported successfully!" notification (green bar at the top)?

If you wish to return to the default settings, clicking the "Defaults" button beside "Save" should do the trick (will remove everything after confirmation, of course). If nothing goes wrong with that, the page will be refreshed.

Updated by anonymous

parasprite said:
The user:username query syntax was actually removed around a month ago. To get it working, the script needs to do user=kristal_candeo or (preferably) user_id=180982, not query=user%3Akristal_candeo.

See here (show search options). It's pulling up all results with both your name and "user" (it ignores the : because of how the search is optimized).

Ah... makes since. Thanks parasprite.

I'm going to change the code for my own installment now and also save a original copy just in case.

@Xch3l

Would you like me to post the edited code here (if and) when I get it working? Perhaps it could save you some time since you seem to be having problems. (it's the least I could do to contribute since I'm poor, but only if you want me to.)

Update: Wow... That didn't take nearly as long as I thought it would so I guess I'll just go ahead and post it for now and can Redact the post later if needed.

I fixed my copy of the javaScript code for now. (at least until an official update comes out) Here is the new code from lines 1669-1696:

My loadComments Fix:

--///

// Commenting score
var ccs = createElement("input", {type:"button", value:"Commenting score", style:{marginRight:"1em"}, onclick:function() {
this.disabled = true;
var score = 0, highest = {score:0}, lowest = {score:1000}, count = 0, page = 1, stim = animatedIndicator(ccs);
var cleanHTML = function(s) {
return s.replace(/(\\|'|"|<|>|&|=)/g, function(m, a) {
return "&#" + a.charCodeAt(0) + ";";
})
.replace(/\[.*?\]/g, "")
.replace(/".+?"http.*?(?=\s)/gi, "");
};
var loadComments = function() {
query("/comment/search.json?user=" + fixUsername() + "&page=" + page, "GET", function(json, xml, text) {
if(json.length != 0) {
count += json.length;
for(var i = 0; i < json.length; i++) {
var cm = json, cs = cm.score, o = {score:cs, id:cm.id, post:cm.post_id, body:cleanHTML(cm.body)};
score += cs;
if(cs >= highest.score) highest = o;
if(cs <= lowest.score) lowest = o;
} page++;
loadComments();
} else
countScore();
}, "commentspager");
};///--(//Edited code from lines 1669-1696)

Not sure if it would help while editing the actual update code, but there it is.

One thing to note from the obvious is that is that I removed the ":" from line 1674.

Also, I've not tested the changes on other pages or anything otherwise, so I'm going to do that now and report back here if any problems arise.

Anyway, Thanks again!

Updated by anonymous

:/ is it just me or is the subscription "update check" function a bit off?

for example, the other day i went to the pool page for pool #7064 and clicked the "track" button to keep track of any newly added pages (it already had the current 20 pages when i clicked track) but now it's stuck at page 19/20 and refuses to stop setting off the update alert even when i go and click to page 20/20 manually. even unsubscribing then resubscribing and clicking "skip to last" from the pool page won't fix it and the update notification still remains stuck on page 19/20.

Updated by anonymous

Xch3l said:
@disisandrey:
Does any error appear after loading your backup? Or you get the "Settings imported successfully!" notification (green bar at the top)?

If you wish to return to the default settings, clicking the "Defaults" button beside "Save" should do the trick (will remove everything after confirmation, of course). If nothing goes wrong with that, the page will be refreshed.

Well it's been a while since I imported my settings and at the time it was successful, but since this problem started, none of the buttons on the eSix page register any clicks which means I'm also unable to set to default or click save on any other changes that I make.

I tried re-installing the script and also the tampermonkey extension but neither of those things has worked for fixing it either.

Updated by anonymous

@Kristal_Candeo: Nice to know you have that solved. I went ahead and took parasprite's suggestion (of using user_id instead of user). Oh and don't worry of breaking any other page, that little code just runs on your userpage.

The : you removed just affects clearing links on quotes (alt text on the score)

@disisandrey: Looks like it's a problem with how the settings got saved... Have you tried on another browser or device?

Updated by anonymous

Xch3l said:
@disisandrey: Looks like it's a problem with how the settings got saved... Have you tried on another browser or device?

Ok so, I've just tried it on firefox (I use chrome) and everything seems just fine. I'm confused as to how the settings are still wonky even after re-installing.

Oh, seems a solution I tried as a shot in the dark worked as I had this post open. Seems it was an e621 cookie problem! Cleared them, re-installed script and extension for good measure, and everything is back to normal now c:

Updated by anonymous

i figured out why the update function for pools i had subscribed to wasn't working right.

it's why i was seeing pools in my subscriptions in yellow stuck at "*pool name here* post 20/21" for example. you HAVE to press N (not the ">>" link like you normally would) at the next to last page of the pool or eSix won't update the notifications properly.

not sure if that was intended or not but at least i know how to fix those stuck notifications.

Updated by anonymous

treos said:
i figured out why the update function for pools i had subscribed to wasn't working right.

it's why i was seeing pools in my subscriptions in yellow stuck at "*pool name here* post 20/21" for example. you HAVE to press N (not the ">>" link like you normally would) at the next to last page of the pool or eSix won't update the notifications properly.

not sure if that was intended or not but at least i know how to fix those stuck notifications.

Nice Find, Mate. Thanks!

Updated by anonymous

treos said:
i figured out why the update function for pools i had subscribed to wasn't working right.

it's why i was seeing pools in my subscriptions in yellow stuck at "*pool name here* post 20/21" for example. you HAVE to press N (not the ">>" link like you normally would) at the next to last page of the pool or eSix won't update the notifications properly.

not sure if that was intended or not but at least i know how to fix those stuck notifications.

Yep, it's kinda intentional. Since I've mainly used the feature for reading comics, I've found a bit annoying to scroll back up and hit the ">>" link, so I added the hot key feature to switch to the next/previous page without scrolling. But I didn't actually hook up the script to update when those are clicked or when the page loads, etc.

In fact, there's a couple things that can be improved there, like time-stamping the last time the subscription was checked (not just when it was modified), going back some pages in case posts get deleted (fixing "? / 7"), maybe adding a "Mark as read"/"Mark all read" too. I think that there's more that can be fixed or improved on that area and maybe others

(Sorry, I forgot to reply :x )

Updated by anonymous

hmmm... i think i found another pool update related oddity.

<< Oversexed Eeveelutions (the comic) by Kuroodod
Page ? of 21

the page was uploaded a couple hours ago (approval pending) yet when esix checked for updates to my subscriptions it didn't detect the new post. i guess it only detects new pages after they're approved?

Updated by anonymous

treos said:
hmmm... i think i found another pool update related oddity.

<< Oversexed Eeveelutions (the comic) by Kuroodod
Page ? of 21

the page was uploaded a couple hours ago (approval pending) yet when esix checked for updates to my subscriptions it didn't detect the new post. i guess it only detects new pages after they're approved?

I don't think so, it just detects it as soon as there's a change on the pool. Mine showed up fine but lemme take a look on it in case it's a level thing

Edit: I don't see any difference between admin/anon requests so it could be that you got to the post just before the script checked for updates?

I should make something there like "shit, where am I? *checks*" :v

Updated by anonymous

So, here's a thought I just had:
In theory, I'd be kinda cool if this was on Github or something. Mainly saying that because I have a "forked" version 2.991 (150611) and am too lazy to merge it with your latest version. :D

But all a git would do is add additional maintenance overhead, which is probably not what you want... and it's not ideal for singular big files either, I think. So... maybe not.

I mean, I think all git would give me is a diff and I'd have to merge it manually anyways, I think? Haven't used git in a few years and am definitely no expert. I should just diff against the new version. And put my CSS tweaks in a seperate file. (Is there some way to override something !important? Like a !superimportant or something? ...I should google that. xD)

Updated by anonymous

Emserdalf said:
So, here's a thought I just had:
In theory, I'd be kinda cool if this was on Github or something. Mainly saying that because I have a "forked" version 2.991 (150611) and am too lazy to merge it with your latest version. :D

But all a git would do is add additional maintenance overhead, which is probably not what you want... and it's not ideal for singular big files either, I think. So... maybe not.

I mean, I think all git would give me is a diff and I'd have to merge it manually anyways, I think? Haven't used git in a few years and am definitely no expert. I should just diff against the new version. And put my CSS tweaks in a seperate file.

Believe it or not, I've been thinking about doing that. In the way of splitting the main (and only file) into its several components to manage it more easily but I barely know how to Git. :P
You can use http://www.quickdiff.com/ to check for differences but that only shows a "merged" preview of both sources, highlighting the differences.

Also, dat version :v

(Is there some way to override something !important? Like a !superimportant or something? ...I should google that. xD)

Afaik, that's the only method. I think you'd have to be overly specific, like body > div.element1 > div.element3.otherclass > div#list.not-bulleted but still including !important. Most of my CSS tweaks have been both "mix and match" and "playing with the values" c:

Tbh, I once tried !important !important but that didn't work :v

Updated by anonymous

darn subscription update function...

i recently removed post #859636 from pool #7064 (no idea what that post was doing there) and...now my subscription popup menu has said pool stuck on ?/52 and no, this time going and clicking...oh, so that did fix it.

:/ it's another issue solved by going to the latest page then pressing V followed by N to get the update to work correctly.

Updated by anonymous

treos said:
darn subscription update function...

i recently removed post #859636 from pool #7064 (no idea what that post was doing there) and...now my subscription popup menu has said pool stuck on ?/52 and no, this time going and clicking...oh, so that did fix it.

:/ it's another issue solved by going to the latest page then pressing V followed by N to get the update to work correctly.

Yep, I'm working on it. Another fix could be clicking on the "Skip to Last" on the pool overview (which will be on the subscriptions list)

Updated by anonymous

I think you might want to re-upload some of the download links bro, most of them give me a 404 google error.

Updated by anonymous

colson10 said:
where can i download this?

You can download it on the links provided under the section related to your browser along some instructions on how set it up. Links are currently broken. Sorry for the inconvenience Download link at the bottom of this post.

∑asyZ said:
I think you might want to re-upload some of the download links bro, most of them give me a 404 google error.

Huh, weird. I can't check out why at the moment since I'm having a couple problems with my laptop.

Maybe it's possible that the files got corrupted on one of the crashes and Drive picked them up thinking they were updated... :/

---

Is it me or the formatting is fucked on some sentences

Edit: I just checked the file on Drive and it looks fine and not corrupted (yay?)

You can get the latest version

here (v160221)

Updated by anonymous

Xch3l said:
Is it me or the formatting is also fucked on some sentences?

If you mean in DText lists*, then yeah. A fix is already ready for that and should be pushed soon.

Updated by anonymous

parasprite said:
If you mean in DText lists*, then yeah. A fix is already ready for that and should be pushed soon.

Oh, I didn't see it was only on lists... I haven't been around lately due to computer problems (once again) so I didn't knew there were changes...

(also, it's difficult to type on such a small screen without making typos and ragequitting because of them :/ )

Updated by anonymous

Xch3l said:
Oh, I didn't see it was only on lists... I haven't been around lately due to computer problems (once again) so I didn't knew there were changes...

(also, it's difficult to type on such a small screen without making typos and ragequitting because of them :/ )

See e926 link below :P

  • test
  • --> <-- &rarr; &larr;

Updated by anonymous

Love it! works as intended but I found a rather small bug. my name has a tilde in the middle of it and when it's displayed in the 'user bar' top right it puts "Azarath%7EAzzy" with the '%7E' in place of what should have just been ' ~ '
just a small inconvenience. hopefully, easy to fix =3

Updated by anonymous

Hey, the commenting score function on my profile isn't working. Whenever I click it, it gives me this:

Your score is: 0 (Avg: NaN)
Most rated: comment #undefined (0)
Least rated: comment #undefined (1000)

Updated by anonymous

The script doesn't seem to do anything on any of the sites listed.

Updated by anonymous

Dason said:
The script doesn't seem to do anything on any of the sites listed.

Do you have any error logs? Though, from what I just saw, AGNPH looks way much different from the last time I checked it (which honestly, it's been quite some time) but it does work on the rest of the sites, including this one

Updated by anonymous

Hello everyone. I know it's been a really long time since the last update, and I apologize. I just had some personal problems (I still do but ah, they're manageable now), besides some others with my laptop. Also, with the announcements that Google Drive and Dropbox will stop web hosting for users (Drive stopped on August 31 and Dropbox on October 3 - "for my account" as they said), I had to look for alternatives.

So that said, this version must be downloaded again from here while future updates will be downloaded automatically from there too. Also, you may have to uninstall the old version and reinstall the current one so, just in case, make sure you have a recent backup of your settings.

- - - - - - - - - - - - - - - - - - - - - - - - -

[05/09/2016] Version 3.026 (Code 160904; +3976 bytes)

  • 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

- - - - - - - - - - - - - - - - - - - - - - - - -

By the way, please note that I still have to fix the links on the Main post.

Updated by anonymous

"Xch3l":/user/show/41519 said:

Hello everyone. I know it's been a really long time since the last update, and I apologize. I just had some personal problems (I still do but ah, they're manageable now), besides some others with my laptop. Also, with the announcements that Google Drive and Dropbox will stop web hosting for users (Drive stopped on August 31 and Dropbox on October 3 - "for my account" as they said), I had to look for alternatives.

So that said, this version must be downloaded again from here while future updates will be downloaded automatically from there too. Also, you may have to uninstall the old version and reinstall the current one so, just in case, make sure you have a recent backup of your settings.

- - - - - - - - - - - - - - - - - - - - - - - - -

[05/09/2016] Version 3.026 (Code 160904; +3976 bytes)

  • 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

- - - - - - - - - - - - - - - - - - - - - - - - -

By the way, please note that I still have to fix the links on the Main post.]

Thank you for this update! I've loved how simple this script makes tagging and formatting my posts/comments. Plus, with a few minor modifications, I was able to make this userscript work on my own booru!

Would you be able to make this script more compatible with other *booru-style boards (Like moebooru)?

Updated by anonymous

Two things I wondered if Extend could do something about:

1.) There are instances where if you load a new page and your internet is starting to chug a little loading everything, you can still see blacklisted images load before the blacklist kicks in and removes them. Is there a way to make blacklisted tags function as a '-tag' search, as in they are excluded from any of the loaded results (as aparently even blacklisted tags aren't, at least for a second)? OR, at the very least, make those blacklisted thumbnails appear as the white box and black text 'Blacklisted,' as can appear on the 'Popular By Day' page for a brief second?

2.) Another instance where blacklisted stuff can still pop up is if you click the 'Random' button. One feature I'm glad you added is the 'Blackhole Blacklist' option. Would it be possible to do the same for the Random button? Or at the very least, make so the results of clicking random will adhere to your blacklist (either only showing non-blacklist stuff, or if it lands on blacklisted posts it's just a blank page)?

Thank you and keep making Extend awesome :]

Updated by anonymous

Human-Shaped said:
Two things I wondered if Extend could do something about:

1.) There are instances where if you load a new page and your internet is starting to chug a little loading everything, you can still see blacklisted images load before the blacklist kicks in and removes them. Is there a way to make blacklisted tags function as a '-tag' search, as in they are excluded from any of the loaded results (as aparently even blacklisted tags aren't, at least for a second)? OR, at the very least, make those blacklisted thumbnails appear as the white box and black text 'Blacklisted,' as can appear on the 'Popular By Day' page for a brief second?

2.) Another instance where blacklisted stuff can still pop up is if you click the 'Random' button. One feature I'm glad you added is the 'Blackhole Blacklist' option. Would it be possible to do the same for the Random button? Or at the very least, make so the results of clicking random will adhere to your blacklist (either only showing non-blacklist stuff, or if it lands on blacklisted posts it's just a blank page)?

Thank you and keep making Extend awesome :]

1) this one might be kinda hard. Generally, JS is handed control after the page has finished loading completely. There are ways around this, but then you have the problem of "well am I done or should I check again?" making it basically have to loop constantly. Not saying it's impossible, just improbable
2)this one should be straightforward enough. Maybe like how derpibooru handles filtered posts? (Because sometimes something gets blacklisted but you click on it anyways, just because, and you want to see it) Just hide the image with a line of text saying it's hidden because of tag "_____", click here to show anyways

This being said, I'm not the developer and actually don't know the specifics of how it works. Also, ofc, it's up to Xch3l if they want to take the time to implement it.

Updated by anonymous

I don't remember if I've suggested this already, but it would be cool if eSix Extend replaced every animated GIF with a placeholder image (optionally, of course).
The placeholder could show a text along the lines of "Animated GIF - Click to load".

Why it would be useful:
e621 doesn't create reduced-size samples for animated GIFs, not even when you've chosen "Image resize mode = Show reduced samples" in your settings.
So if you open post #1032950, e621 loads the entire 9.3 MB image.
(this only applies to individual posts; https://e621.net/post/index shows animated GIFs as non-animated JPG thumbnails)

Updated by anonymous

I've been unable to access the settings recently. My normal e621 account settings work fine, but nothing appears under the "eSix Extend Settings" tab when I click on it. I'm having this problem while on chrome, I can access settings in firefox, but I never use firefox anyway.

Updated by anonymous

Just installed this (again?). Looks pretty impressive.

I do have a bug report: On the E6Extend settings tab, reordering only works in one direction, down. All the up buttons appear to have no effect (item stays in place).
This is more of an inconvenience than anything, since any given ordering can be achieved with only 'down' operations.

Also, dunno if this is ..exactly.. E6Extend's domain, but it seems like something that it could do and people might like:

I was thinking about how I have a list of links in my profile that I.. well, roughly speaking, I iterate over them every so often, checking for new stuff.
Then I went: "well, you could union that stuff". That is, not all searches can be compressed into one-search-that-e621-understands, but if you only want to get 'all the new stuff on all these lists smooshed together', then .. making one request per search, throwing all the results together, and removing duplicates should work. Seems like it could be a 'poor mans tag subscriptions', without the heavy server load that real tag subscriptions incur. Might even be possible to have a 'blacklist-like' way of folding away results from a particular search.

I initially thought there might be issues with pagination, but tracking the 'final post listed' for each individual result set seems like it would allow precisely correct pagination of a unionized search.

Updated by anonymous

Xch3l said:
Hello everyone. I know it's been a really long time since the last update, and I apologize. I just had some personal problems (I still do but ah, they're manageable now), besides some others with my laptop. Also, with the announcements that Google Drive and Dropbox will stop web hosting for users (Drive stopped on August 31 and Dropbox on October 3 - "for my account" as they said), I had to look for alternatives.

So that said, this version must be downloaded again from here while future updates will be downloaded automatically from there too. Also, you may have to uninstall the old version and reinstall the current one so, just in case, make sure you have a recent backup of your settings.

- - - - - - - - - - - - - - - - - - - - - - - - -

[05/09/2016] Version 3.026 (Code 160904; +3976 bytes)

  • 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

- - - - - - - - - - - - - - - - - - - - - - - - -

By the way, please note that I still have to fix the links on the Main post.

Can you please fix the links?

It's misleading and it would be more trivial to fix the links than to make another update to the script.

Updated by anonymous

JAKXXX3 said:
I've been unable to access the settings recently. My normal e621 account settings work fine, but nothing appears under the "eSix Extend Settings" tab when I click on it. I'm having this problem while on chrome, I can access settings in firefox, but I never use firefox anyway.

The bug's still occurring, it happens whenever I subscribe to something with unusual text in the title, like unicode symbols (eg ❤), or foreign text such as japanese.

Couldn't this be fixed by converting the problematic characters to percent code or something?

Updated by anonymous

The temp blacklist isn't merging tags to my blacklist properly. Instead of making a new line and appending the tag to it, it just merges it with the last tag on my blacklist.

Updated by anonymous

Hello everybody. I wanna apologize for the sudden disappearance (not 100% gone, by the way). Even though three months don't sound like a lot, they did really feel like so, despite some days going away fast (as of lately). I'm not blaming it on things but myself. I've been somewhat "busy" with a few personal issues, besides being actually busy with work, which only gives me a free day (which I also happen to apparently waste by waking up at like 2pm, but that's a thing for another moment), that kinda leave me some time to actually do things.

Buuut anyway, before getting carried away with unneeded stuff, I'll reply to the last messages~

@Human-Shaped

Two things I wondered if Extend could do something about:

1.) There are instances where if you load a new page and your internet is starting to chug a little loading everything, you can still see blacklisted images load before the blacklist kicks in and removes them. Is there a way to make blacklisted tags function as a '-tag' search, as in they are excluded from any of the loaded results (as aparently even blacklisted tags aren't, at least for a second)? OR, at the very least, make those blacklisted thumbnails appear as the white box and black text 'Blacklisted,' as can appear on the 'Popular By Day' page for a brief second?

2.) Another instance where blacklisted stuff can still pop up is if you click the 'Random' button. One feature I'm glad you added is the 'Blackhole Blacklist' option. Would it be possible to do the same for the Random button? Or at the very least, make so the results of clicking random will adhere to your blacklist (either only showing non-blacklist stuff, or if it lands on blacklisted posts it's just a blank page)?

Thank you and keep making Extend awesome :]

#1: The only thing I can think about is hiding the entire search results and show them after the page has finished loading and processing posts to hide again but the only time the script has access to the page is when it has finished loading

#2: That's doable. I'm thinking of a "get a random post and peek" kinda thing that checks tags on the "peek" part but that would also make double requests...

@Munkelzahn

I don't remember if I've suggested this already, but it would be cool if eSix Extend replaced every animated GIF with a placeholder image (optionally, of course).
The placeholder could show a text along the lines of "Animated GIF - Click to load".

Why it would be useful:
e621 doesn't create reduced-size samples for animated GIFs, not even when you've chosen "Image resize mode = Show reduced samples" in your settings.
So if you open post #1032950, e621 loads the entire 9.3 MB image.
(this only applies to individual posts; https://e621.net/post/index shows animated GIFs as non-animated JPG thumbnails)

As mentioned before, the time where the script can touch the page is if it has completely loaded (at least on the version of Opera I'm still using :x ) though what I could do is add some icon that tells when a post is animated

@JAKXXX3

I've been unable to access the settings recently. My normal e621 account settings work fine, but nothing appears under the "eSix Extend Settings" tab when I click on it. I'm having this problem while on chrome, I can access settings in firefox, but I never use firefox anyway.

-----

The bug's still occurring, it happens whenever I subscribe to something with unusual text in the title, like unicode symbols (eg ?), or foreign text such as japanese.

Couldn't this be fixed by converting the problematic characters to percent code or something?

The issue has been fixed. I might have overdone it a bit but the thing is alright c:

@savageorange

Just installed this (again?). Looks pretty impressive.

I do have a bug report: On the E6Extend settings tab, reordering only works in one direction, down. All the up buttons appear to have no effect (item stays in place).
This is more of an inconvenience than anything, since any given ordering can be achieved with only 'down' operations.

Also, dunno if this is ..exactly.. E6Extend's domain, but it seems like something that it could do and people might like:

I was thinking about how I have a list of links in my profile that I.. well, roughly speaking, I iterate over them every so often, checking for new stuff.
Then I went: "well, you could union that stuff". That is, not all searches can be compressed into one-search-that-e621-understands, but if you only want to get 'all the new stuff on all these lists smooshed together', then .. making one request per search, throwing all the results together, and removing duplicates should work. Seems like it could be a 'poor mans tag subscriptions', without the heavy server load that real tag subscriptions incur. Might even be possible to have a 'blacklist-like' way of folding away results from a particular search.

I initially thought there might be issues with pagination, but tracking the 'final post listed' for each individual result set seems like it would allow precisely correct pagination of a unionized search.

Yep, sounds about I was thinking the first time I read your post (which by the second time, it was actually what I was thinking :v ). I guess that after removing dupes there should be enough to make a mini gallery or something like showing the first few (5, like in user pages) and then all after expanding the view

@Dason

Can you please fix the links?

It's misleading and it would be more trivial to fix the links than to make another update to the script.

All links have been fixed. Only those that had the issue where those that linked to Google Drive's hosting features (that by this time they're dead). I'm still rebuilding the new pages, but at least they don't point to a dead end anymore :D

@Faux-Pa

The temp blacklist isn't merging tags to my blacklist properly. Instead of making a new line and appending the tag to it, it just merges it with the last tag on my blacklist.

Fixed too. New changelog coming after a bit

@ktkr: Dates are DDMMYYYY and date codes are YYMMDD. Date codes are like that because they give a single increasing number, useful for versions :)

Updated by anonymous

[28/12/2016] Version 3.027 (Code 161228; +1038 bytes)

Fixed slight derp with "Post Flagged" status icon not showing (also tweaks for future icons like "GIF Animation", "Epilepsy Warning" and "Sound Warning")
Fixed another derp where new lines won't be added when merging the temporary blacklist to the real blacklist [forum #217593]
Added an option to unsubscribe from a forum thread right from the page [in relation to forum #212312]
Added a small check for certain other script I wrote that verifies its existence to report errors correctly

I'll be leaving the DNP Database update for later, since it takes me a while to organize and format it for the script.

To Be Continued

Updated by anonymous

For the "Submit current form with Ctrl+Enter" option, could you enable this feature to work when editing posts? As it is now, pressing enter in the tag field saves changes and Ctrl+Enter does nothing in the source field.

Updated by anonymous

Slight issue I think: The default quick link for "Comments on your posts" is "/comment?user_id=[userID]". Shouldn't that be "/comment?poster_id=[userID]"? It's the link found on https://e621.net/comment/
Thanks

Updated by anonymous

o_O looks like my shortcut bar has vanished.

it's enabled and everything (just reinstalled the script just to be sure) but it's suddenly stopped working entirely. even on the account settings page.

Updated by anonymous

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

Updated by anonymous

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. :(

Updated by anonymous

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?

Updated by anonymous

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.

Updated by anonymous

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

Updated by anonymous

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*

Updated by anonymous

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 =---------------------------------------------------------------------
thingsForEveryPage@file:///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

Updated by anonymous

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.

Updated by anonymous

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.

Updated by anonymous

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;
  }

Updated by anonymous

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.

Updated by anonymous

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

Updated by anonymous

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+.

Updated by anonymous

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.

Updated by anonymous

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

Updated by anonymous

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

Updated by anonymous

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.

Updated by anonymous

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

Updated by anonymous

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.

Updated by anonymous

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.

Updated by anonymous

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.

Updated by anonymous

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

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:

20PC
AGNPH

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.

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...

Updated by anonymous

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 :]

Updated by anonymous