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

Posted under e621 Tools and Applications

Xch3l said:
"Get Source" now supports FurAffinity's direct image URL [forum #121881]

I've installed version 2.87, but this new feature doesn't seem to work correctly :-(

When I use it on post #463424, eSix Extend searches Furaffinity for:
seth-iova
It should be searching for:
seth-iova peabooty
Reason:
eSix Extend uses
http://www.furaffinity.net/search?q=seth-iova&20peabooty
instead of
http://www.furaffinity.net/search?q=seth-iova%20peabooty

Also, when I click "Get Source" on posts that don't have a source yet, nothing happens:
post #463622
post #463623

I'm using Firefox 28.0 on openSUSE 13.1

Updated by anonymous

Thanks for your reports!! Munkelzahn, I hit your issue first since it borked an important feature, and because it was a quick one (damn typos). I'll get to the others when I come back from school :)

Oh, I also added a confirmation for the blacklist features, because misclicks happen :)

Updated by anonymous

ktkr

Former Staff

I got "Old pool format detected. Converting..." on every page after the update. But I accidentally fixed it and can't reproduce bug.

Edit:
Feature request tiem. It would be nice to automagically search the calculated md5 of image from upload page to check if already uploaded. I wonder how slow calculation of md5 would be with JS on larger files.

Updated by anonymous

ktkr said:
I got "Old pool format detected. Converting..." on every page after the update. But I accidentally fixed it and can't reproduce bug.

Already reported it myself.

PheagleAdler said:
Can't get to my user page using the orange link in the top right. Keeps linking to 'https://e621.net/user/show/undefined'

And I can't change these even though they're incorrect:
[userID]: Your user id (undefined)
[userLV]: Your user level (undefined)

Try logging out then logging back in and let us know if that fixed the problem.

***

The "Get source" bug reversed itself. Now it does nothing on posts with at least one source.

Updated by anonymous

EsalRider said:
Try logging out then logging back in and let us know if that fixed the problem.

no change

Updated by anonymous

PheagleAdler said:
Can't get to my user page using the orange link in the top right. Keeps linking to 'https://e621.net/user/show/undefined'

And I can't change these even though they're incorrect:
[userID]: Your user id (undefined)
[userLV]: Your user level (undefined)

Funny thing is that that user does exist :P

Anyway, try puttng

javascript:(function(){var ls=window.localStorage;ls.removeItem('userID');ls.removeItem('userLV');ls.removeItem('userNM');})();

on your addressbar. This should clear that information and they should be retrieved again

EsalRider said:
Already reported it myself.

Try logging out then logging back in and let us know if that fixed the problem.

***

The "Get source" bug reversed itself. Now it does nothing on posts with at least one source.

DAMMIT!!

----

I'll get to fixing these issues when I get home (I'm still outside doing school stuff). But if you like, for the moment, you can switch back to the previous version.

Updated by anonymous

Hey guys, sorry for not replying in due time. This week, I've been having most of my time at school, with my aunt (I'm currently living with her, btw. We've eaten a lot and been drinking coffee and chatting until 2 or 3 Am :P ) and visits from my brother and my cousin n_n;

But don't worry, I'm still at the script. I've fixed several issues and been posting the script as bugs are fixed (of which you've probably noticed), it's just that I want to fix them all before posting as a new changelog.

But anyway, here's the news. Don't let somebody tell you they heard them elsewhere!

Also, get ready for 4/20! No, not by blazing it, but because it's easter!!

Updated by anonymous

Xch3l said:
Funny thing is that that user does exist :P

Anyway, try puttng

javascript:(function(){var ls=window.localStorage;ls.removeItem('userID');ls.removeItem('userLV');ls.removeItem('userNM');})();

on your addressbar. This should clear that information and they should be retrieved again

Still getting the same problem :/
Funny thing that, my browser doesn't like the word 'javascript' so when I copy-paste the 'javascript:' part is eliminated, had to enter it manually.

Updated by anonymous

Alright! Now to tackle them bugs!

EsalRider's list:
Script tries to subscribe to pool #0 if no pool is in the old tracker variable. Converting notification shows up but the process never finishes. Error "unable to load resource" appears in the console (e621.net/pool/show.json?id=0). (had to manually delete the variable instead)
Added a check that makes sure that the last pool ID exists and is not 0. It did that because I forgot that when you clicked "Stop Reading" id stored 0 instead of just removing the tracker. *derp*

On a related note, the userbar appears on .json pages when viewed directly in the browser. And on error pages like the one for no pool with id 0 (XD). Not that important, though.
Added an exclusion at the script header. Since my browser opens JSON files on notepad I didn't really thought that much about viewing them there.

Once again, the navigation guides don't show up when clicking the "read" button on a post's page. And the hotkeys aren't responding then as well (unless refreshing / going to another page).
I know that. I've been trying to get that darn pesky bug, because it does work sometimes :I

Edit: I'll try to fix that one too, I don't know what causes it :/

To the Bug, I will find you. And I will kill you. *hangs phone*

</Edit>

When clicking the Wiki button to change the highlighted text to a wiki link, the edit box will show up, completely empty. But no matter what you write into the fields, the highlighted word will be simply surrounded with double square brackets, and custom title won't be added.
Fixed. It was an old piece of code that I overlooked when I did the "so many improvements". It was also at the Link button.

You forgot to change the script download URLs in the "How to install" section.
Done. Again, good catch!

The "Get source" bug reversed itself. Now it does nothing on posts with at least one source.
Fixed again

PheagleAdler's (single item) list:
Can't get to my user page using the orange link in the top right. Keeps linking to 'https://e621.net/user/show/undefined'[/s]
Fixed and added a check that finds your details (username, id and level. Not the other details) and stores them. Going to the static page ( » ) will trigger the action regardless if it has been saved alreadyOk, Those were all of them (as of now, that is :) ). Current version should be 2.874

Updated by anonymous

When you use the Furaffinity search on this pic:
post #464691

eSix Extend searches FA for:
mr

It should search for:
mr.pink kaaaaaaiijuuuuu

Updated by anonymous

Munkelzahn said:
When you use the Furaffinity search on this pic:
post #464691

eSix Extend searches FA for:
mr

It should search for:
mr.pink kaaaaaaiijuuuuu

Donuts! :3

I didn't know FA accepted "." in filenames, I thought they were replaced by "_"

(CV: 2.875)

Edit: Saving your preferences is broken disabled by now. I'm testing another method of saving (I have to modify 4 locations each time an option is added or removed on a version. After this I'll just have to change 2)

Updated by anonymous

EsalRider said:
I have a strange feeling that pool subscriptions are bugged...

This goes for forum subscriptions as well. Keeps reporting that the last entry in THIS topic is forum #122152.

What version do you have? Looking at it... it does check but does'nt save the changes... The "0/2" is because the subscription isn't updated (the pool did, but the script didn't notice). I was going to suggest you to click "Check for updates now" on the settings, but as I said, it doen't save them :/

Also, sorry, but the first screenshot made me laugh (dunno why though)

Still, don't click on "Save" at the settings, it has bugs

Edit: When you press "N" or "V" when writing a comment, do you get redirected to the next/previous post in the pool?
Edit2: In effect, it does not save the last post in the forum (it doesn't even look it up!)

Updated by anonymous

Xch3l said:
What version do you have?

Tampermonkey keeps the script up-to-date. It's v. 2.875 (050414) (updated ~2 hours ago). But the problem was already there in previous versions.

Edit:

Xch3l said:
When you press "N" or "V" when writing a comment, do you get redirected to the next/previous post in the pool?

Yes, it does jump to the next/prev post.

Btw, don't you have problems with the "Respond" link? Because it's broken for me. The link at the bottom just gets me back to the top, and the respond links in other forum posts do nothing. I have to manually make the form visible... Annoying.

Updated by anonymous

EsalRider said:
Yes, it does jump to the next/prev post.

Btw, don't you have problems with the "Respond" link? Because it's broken for me. The link at the bottom just gets me back to the top, and the respond links in other posts do nothing. I have to manually make the form visible... Annoying.

I know that. Trigger an update. I was changing something in the script that e621 didn't expect and made jQuery practically unusable (sorreeee!)

Current verion (2.8751) fixes that and disables pool hotlink (for now). I'm posting it as it is right now to fix that issue.

Updated by anonymous

Xch3l said:
I know that. Trigger an update. I was changing something in the script that e621 didn't expect and made jQuery practically unusable (sorreeee!)

Current verion (2.8751) fixes that and disables pool hotlink (for now). I'm posting it as it is right now to fix that issue.

Hey, it works!

And this clearly demonstrates the problem massive updates can cause. The amount (and nature) of bugs can be unbearable.

Updated by anonymous

EsalRider said:
And this clearly demonstrates the problem massive updates can cause. The amount (and nature) of bugs can be unbearable.

Agreed.

Edit: Oh, btw, I'll still post updates as these bugs are squashed (increasing the last two digits in the version and the first 2 of the code -- which is actually the date) . :3

Updated by anonymous

Updated!

Done:
  • Removed an unused LocalStorage Variable ("activeDelay")

Checking for updates in forum and pool subscriptions should work by now
Fixed pool navigation
Fixed a problem where the X's to remove a recently PM'd user were stacked at the top-right corner of the list
Fixed PM'd users not recorded when sending a dmail (a.k.a. PMs)

To do:
  • Fix automatic updating of forum subscriptions

The "Save" button still does not work (the "Default" does, so don't even try clicking it yet) because the script has kinda a dependency on another script (explains why "Save" throws an error) If you want to use it and/or help report bugs quicker have a look at it (ashamed plug)

Current version is 2.8753 (I won't post an "official" update changelog until all bugs are ready for the next version completely fixed)

Updated by anonymous

New (nightly) updaet!

Done:
  • Saving has been enabled (partially, TinyAliases won't be saved though. Still on it)

New option to include all posts in a search at the common tags list
For new users: A link to the DNP List in the userbar
Pressing Enter in the "Check Tag" field now looks for the tag and pressing it again after searching adds it to the list
Creating a new custom link now focuses the title box
URLs in the URL field will now remove the " https://e621.net " part because that is a little redundant (imo, since it's on the same page, why slap it on the browser's face? :P)

To do:
  • Subscriptions (pools do update, forum updates are still dumb -- or "they don't know when you view the last page of a thread so they're not sure if they should update or not")

Break other things to make this list less empty just kidding

Whoo! Just one more to go and I'll make that an official update log! (and by official I mean like this yup, dumb/funny comment > actual changelog > "serious" comment )

(V2.8754 - 090414)

Updated by anonymous

I've found some kind of stylesheet glitch... like in forum #123362, where the "Reason:" text and the "Respond | Report" links overlap. It's not happening with eSix disabled.

Also, pool subscriptions still appear to be broken. They won't recognize posts that were added after subscribing.

Updated by anonymous

Problem with Furaffinity usernames that contain a ~

1) Go to post #467604
2) Search for it with eSix Extend's Furaffinity search
3) Furaffinity displays this error message:
Search backend failure
syntax error, unexpected '~' near '~popcornpanic~ petsmalllll'

It works if you search instead for:
popcornpanic petsmalllll

Reason:
Furaffinity uses the ~ for word proximity searching:
"hello world"~10

Updated by anonymous

Munkelzahn said:
Problem with Furaffinity usernames that contain a ~

1) Go to post #467604
2) Search for it with eSix Extend's Furaffinity search
3) Furaffinity displays this error message:
Search backend failure
syntax error, unexpected '~' near '~popcornpanic~ petsmalllll'

It works if you search instead for:
popcornpanic petsmalllll

Reason:
Furaffinity uses the ~ for word proximity searching:
"hello world"~10

Done. ~ will be stripped. Should I add &, |, !, (, ), @, / to the strip list too? Just in case?

Also:

  • Added "Find source on Pixiv"

Fixed saving your settings (TinyAliases are now saved)
Added an indicator of new subscription updates. (it acts right now as a placeholder, but still shows the updates list)
Added a notification when a problem occurs while loading your settings (they won't be damaged, it's just a typo when loading that prevents the script from parsing them correctly)
Moved the settings link outside the custom links group
Subscriptions still have problems, but at least I found what causes it - I think - turns out that the updater never reaches the last subscription in the list... (still on it)

(V2.876 C120414 - Reduced 719 bytes)

Updated by anonymous

Xch3l said:
Done. ~ will be stripped. Should I add &, |, !, (, ), @, / to the strip list too? Just in case?

That's a good idea.
If an FA search operator is also a valid FA username character, it should definitely be removed.
And if not, removing it will just do nothing.

Out of curiosity, I've made a thread about this on the FA forums:
http://forums.furaffinity.net/threads/1212664-Valid-FA-usernames

Updated by anonymous

Munkelzahn said:
That's a good idea.
If an FA search operator is also a valid FA username character, it should definitely be removed.
And if not, removing it will just do nothing.

Out of curiosity, I've made a thread about this on the FA forums:
http://forums.furaffinity.net/threads/1212664-Valid-FA-usernames

There's a limitation in the first charater of the username? I don't remember that...
This also got me thinking, relating to usernames, if symbols are allowed on filenames or they're stripped too or replaced with undescores

Updated by anonymous

Notice:

I'm having problems with Google Drive duplicating my files on my laptop, so script updates are kinda in hiatus until I fix it. Pages and scripts themselves will not be available. Sorry.

Unless somebody has a better idea or a suggestion :)

Updated by anonymous

Xch3l said:
problems with Google Drive duplicating my files on my laptop, so script updates are kinda in hiatus until I fix it

a better idea or a suggestion :)

Have you tried turning it off and on again

Updated by anonymous

AmericanExistence said:
Have you tried turning it off and on again

I did. Got dupes of the dupes :I

I'm changing folders to see if this fixes it. *crosses fingers*

Updated by anonymous

Forgot to mention that the mess Drive caused was fixed yesterday... *sorrz* I didn't had to change any URL here (fortunately)

Also:
  • I got to fix the issue in that the subscriptions updater never touched the last pool/forum in the list, it did check for but never saved it (now, to make them self-aware of the updates in pools and forums)

Updated subscriptions now show what has changed (not into too much detail, though)

    • Pools show the current page you're in (displayed as something like "Post: 5/10")

In the same way, forum updates display as "124133 → 124623" (last seen → current post)

  • If there are no updates, the notification will not display the link to show them

The subscriptions icon in the UserBar now works
Now you can't blacklist yourself
Improved source searching for FurAffinity (now takes "d.furaffinity.net" besides "d.facdn.net")
Tomatoes are fruits
Bulleted lists are awesome!

(V2.877 C160414, +880b)

Updated by anonymous

This keeps popping up:

SyntaxError: Unexpected token :
at eval (eval at (eval at (unknown source)), :45:61)
at Object.eval (eval at (eval at (unknown source)), :2294:3)
at Object.eval (eval at (eval at (unknown source)), :2297:4)
at ag (eval at (unknown source), :190:4)
at eval (eval at (unknown source), :1:24)
at TM_do (:89:70)
at an (eval at (unknown source), :389:44)
at K (eval at (unknown source), :190:27)
at o (eval at (unknown source), :456:2)
at U (eval at (unknown source), :460:85)

Also, I had to do a manual reinstall because tampermonkey didn't update automatically.

EDIT: Everything loaded just fine except for the contents of the General Settings and the TinyAias panels. So I thought saving my settings could solve the problem, and it did. I had to copy-paste my TinyAlias list, though.

Updated by anonymous

Munkelzahn said:
Whenever I go to this page:
https://e621.net/static/more

eSix Extend displays this message:
User ID, level and name stored

Is this a bug?

No, that's intentional.
Whenever you visit the static page, the script updates your user information. It is to fix issues like forum #122148.

Updated by anonymous

EsalRider said:
This keeps popping up:

SyntaxError: Unexpected token :
at eval (eval at (eval at (unknown source)), :45:61)
at Object.eval (eval at (eval at (unknown source)), :2294:3)
at Object.eval (eval at (eval at (unknown source)), :2297:4)
at ag (eval at (unknown source), :190:4)
at eval (eval at (unknown source), :1:24)
at TM_do (:89:70)
at an (eval at (unknown source), :389:44)
at K (eval at (unknown source), :190:27)
at o (eval at (unknown source), :456:2)
at U (eval at (unknown source), :460:85)

Also, I had to do a manual reinstall because tampermonkey didn't update automatically.

EDIT: Everything loaded just fine except for the contents of the General Settings and the TinyAias panels. So I thought saving my settings could solve the problem, and it did. I had to copy-paste my TinyAlias list, though.

I know that. I reversed the way settings are saved. So saving them again fixes it (unless there's an error, in which case, the error log will appear with relevant information). The settings are divided in 3 parts (General+TinyAliases, Pool/Forum subscriptions list and Custom links) so that may be why TA's were'nt recovered.

But I'll check that anyway.

Munkelzahn said:
Whenever I go to this page:
https://e621.net/static/more

eSix Extend displays this message:
User ID, level and name stored

Is this a bug?

Nope, it's in case one of them doesn't exist and as a mean to refresh it. Though, I gotta admit it's kinda annoying :I (but you'll get used to it)

Edit: Oh, EsalRider got to it first. Thanks!

Updated by anonymous

Munkelzahn said:
Workaround for the "images not showing" bug

On some posts, the preview image doesn't load, like post #398665

Workaround:
1) Take the direct link:
http://static1.e621proxy.ru/data/42/da/42da9de5cba01a221e679a229656852c.gif
2) Replace "https" with "http":
http://static1.e621.net/data/42/da/42da9de5cba01a221e679a229656852c.gif

Suggestion:
Add the workaround as an option to eSix Extend.

I've been thinking about this the whole time too!

Updated by anonymous

Done. Also added Import/Export settings (collapsed at the bottom).

To reload an image, click it while pressing Shift and "Please wait" should appear below it. Depending on the filesize, it may take little time (or a lot, which was my case, had to try with images larger than 15MB). I could'nt do it automatically because neither Opera or Firefox reported any error while loading the image (always got a "302 Found")

Exporting your settings is as easy as copying the text on the boxes to Notepad.
To import them, paste each line in their respective box (use with caution, it does not check which setting goes where. Make sure you label them) and then click on "Import". The page reloads and your settings are the imported ones (been planning this since two versions ago but didn't know how to do it :I ) Useful when you want to have the same settings on every browser :)

(V 2.879 C200414 - Increased 6140 bytes)

Updated by anonymous

Xch3l said:
I could'nt do it automatically because neither Opera or Firefox reported any error while loading the image (always got a "302 Found")

e621 returns "200 Found" if the image loads properly.
It returns "302 Found" if the image doesn't load:
http://en.wikipedia.org/wiki/HTTP_302
"The HTTP response status code 302 Found is a common way of performing a redirection."

Checked with HttpFox

Updated by anonymous

Munkelzahn said:
e621 returns "200 Found" if the image loads properly.
It returns "302 Found" if the image doesn't load:
http://en.wikipedia.org/wiki/HTTP_302
"The HTTP response status code 302 Found is a common way of performing a redirection."

Checked with HttpFox

Exactly. The correct URL is found so it never triggers error state on the image and apparently <img> tags don't like redirections (damn, u lazy tags). The URL returns a document, which is not supported by <img> and so it never displays... :I

This'll need more experimenting...

Updated by anonymous

Xch3l said:
To reload an image, click it while pressing Shift and "Please wait" should appear below it. Depending on the filesize, it may take little time (or a lot, which was my case, had to try with images larger than 15MB). I could'nt do it automatically because neither Opera or Firefox reported any error while loading the image (always got a "302 Found")

Doesn't work for me :(
Example: post #9463

The image doesn't load, instead I see this text:
e621 akita_morgue blood female gore monster monster_girl nude solo

Nothing happens when I shift-click on the tags.
I'm using Firefox 28.0 in openSUSE 13.1

Updated by anonymous

So, I've just installed this script, finally! and I have to say, it's super useful! Thanks for making it.

Updated by anonymous

Munkelzahn said:
Doesn't work for me :(
Example: post #9463

The image doesn't load, instead I see this text:
e621 akita_morgue blood female gore monster monster_girl nude solo

Nothing happens when I shift-click on the tags.
I'm using Firefox 28.0 in openSUSE 13.1

Did you click where the image should be or on the tags at the left?

Edit: Added a link in the Options section in case that does'nt work or you're on mobile (afaik Opera Classic supports user scripts)

Ryuzaki_Izawa said:
So, I've just installed this script, finally! and I have to say, it's super useful! Thanks for making it.

Whoo! :3

Updated by anonymous

Weird... Seems like the script stopped working on the upload page when using the bookmarklet (I'm using it to upload Raven Wolf images from InkBunny).

EDIT: The problem seems to be triggered when the image URL's using https protocol.

Updated by anonymous

Hmmm, never tried that... Any error, log or both?

Might fix it while I'm at it (I just finished fixing importing/exporting) so it'll come along with the new update.

Edit: That's extremely weird. It just fails without any error or log. As if the script isn't even installed...

----

Edit 2: Found it. The script had "*.jpg", "*.png", "*.gif" and "*.swf" as exclusions, and when using the bookmarklet, the URL had one of those resulting in the script not running there.

For example, with your avatar, using the bookmarklet resulted in

https://e621.net/post/upload?url=https%3A%2F%2Fd.facdn.net%2Fart%2Ftoxictoby%2F1376405789.toxictoby_dd.png

which hit the exclusion list and the script did not run. *derp*

Edit 3: Updated the script! And changed these things:

  • More code improvements

Fixed thumbnails tooltips not appearing/appearing too far at the bottom
A fix of an error that appeared when clicking on post thumbnails in profile pages ("cannot convert 's' to object")
Added a button to reload all of your user info (name, id and level)
Added checkbox for single item exporting or everything in a large block
Fixed importing not doing anything (yeah, it read your stuff but never saved it)
Added a link in the left side of the page to reload an image with the HTTP workaround (besides Shift+Clicking where the image should be)
When there are no subscription updates, "[No updates]" will be added instead of just leaving the list empty

(V2.8791, C240414, +2028B)

Updated by anonymous

BUG:

Subscription checking's broken again. It never finishes (and blocks auto-updates). No relevant error message appeared in the console, though. So I took a peek at the network activity, and... http://kepfeltoltes.hu/140430/eSix_Extend_Subscription_Bug_www.kepfeltoltes.hu_.png

FEATURE REQUEST:

It'd be nice to reach any tag's wiki entry by pressing ctrl+enter in the search field (so instead of searching for posts, it should head to the wiki with your search query as the title). I'm mainly thinking of single tag queries, but if opening each tag's wiki page of a multi-tag query on new tabs can be solved without too much effort, then that would be nice too.

Updated by anonymous

EsalRider said:
BUG:

Subscription checking's broken again. It never finishes (and blocks auto-updates). No relevant error message appeared in the console, though. So I took a peek at the network activity, and... http://kepfeltoltes.hu/140430/eSix_Extend_Subscription_Bug_www.kepfeltoltes.hu_.png

Wow, that must be a really long pool o_o

It actually sets the next check to 1/1/4000 :P
No, really, I know that. Believe it or not, that's the part where I've been poking the most. I think I got it for this update, which will come in a few hours (once I get home from school and do some cleanup to it).

FEATURE REQUEST:

It'd be nice to reach any tag's wiki entry by pressing ctrl+enter in the search field (so instead of searching for posts, it should head to the wiki with your search query as the title). I'm mainly thinking of single tag queries, but if opening each tag's wiki page of a multi-tag query on new tabs can be solved without too much effort, then that would be nice too.

Hmmm, sounds nice. You mean it as a kind of shortcut, right?

Updated by anonymous

Xch3l said:
Hmmm, sounds nice. You mean it as a kind of shortcut, right?

Pretty much, yes. A quick way to get to the wiki page you need directly from the post listing. (Or maybe any post page.)

Also, an idea to avoid this accidental auto-update killing bug.

Right now, the script stores the time when the next update is due. And to avoid multiple pages updating simultaneously, it temporarily changes the update time to 1/1/4000. And after updates are checked, the next update time is stored.
BUT! If the tab is closed before the update check finishes, the update time never gets properly set, thus preventing further automatic updates. So, instead of storing the time of the next update, it would better to store the time of the current update.
The script should first check whether the set amount of time has passed since the last update, and if it did, set that variable to the current time before proceeding. This way, the script wouldn't have problems even if the update process was cancelled (or bugged), while still preventing multiple simultaneous updates.

Updated by anonymous

EsalRider said:
Pretty much, yes. A quick way to get to the wiki page you need directly from the post listing. (Or maybe any post page.)

Also, an idea to avoid this accidental auto-update killing bug.

Right now, the script stores the time when the next update is due. And to avoid multiple pages updating simultaneously, it temporarily changes the update time to 1/1/4000. And after updates are checked, the next update time is stored.
BUT! If the tab is closed before the update check finishes, the update time never gets properly set, thus preventing further automatic updates. So, instead of storing the time of the next update, it would better to store the time of the current update.
The script should first check whether the set amount of time has passed since the last update, and if it did, set that variable to the current time before proceeding. This way, the script wouldn't have problems even if the update process was cancelled (or bugged), while still preventing multiple simultaneous updates.

Thanks for the feedback. I also thought of setting a flag that technically said "hey, I haven't finished" but as soon as another tab could be open, the checking process would start again, the same could happen there. I currently have it so when next update time has come, set the timer for the next 10 minutes and when it finishes, set it again with the correct time you have in your settings.

New update is posted, btw!

Updated by anonymous

[04/30/14] Version 2.881 (Code 300414)

  • Fixed the way the script handles retrieving settings (it used to fail and die; now it just panics, fails and dies) (it now checks settings > fallback settings [defset] > fails and returns null. This had to be done manually and I forgot to do it in some parts which lead to not-so-noticeable errors)

Changed the gray color on some items ("help" cursor will not display anymore)
Counting tags will now display the correct number instead of how many spaces are in the tags box
Improved settings importing
Search in the wiki for the tags in the search box by pressing Ctrl+Enter [forum #128148]
Added a check for posts when either an image or a flash animation is viewed the "Reload over HTTP" workaround should apply
Improved "Get Source": It will now take "data.furaffinity.net" URLs as filename candidates
New option: "Highlight blacklisted posts". This will make blacklisted posts glow red-ish on the borders after enabling them on the post listing via the "Blacklisted" group
When navigating in a pool's posts at the second to last post, the script will now check if there's more posts in it
Almost rewrote the subscription updater, this should notify updates on the last forum or pool subscription in the list
Fixed an issue where closing a tab in the middle of the subscription checking process would make it never check again (or until 1/01/4000)
Improvements when displaying updates (and when there are no updates too)

(V2.881, C300414, +2998B)

Updated by anonymous

TypeError: Cannot read property 'length' of undefined
    at countSubsUpdates (unknown source)), 2301:41)
    at eval (unknown source)), 349:23)
    at Object.eval (unknown source)), 2549:3)
    at Object.eval (unknown source)), 2552:4)
    at s (unknown source), 28:86)
    at eval (unknown source), 1:25)
    at TM_do (32:242)
    at n (unknown source), 46:114)
    at Y (unknown source), 28:102)
    at $ (unknown source), 56:125)

Also, I'm starting to suspect that Tampermonkey's bugged. This is the third time I had to do a manual userscript "downgrade" to update the script. Anyone else having problems?

Updated by anonymous

EsalRider said:
\

Also, I'm starting to suspect that Tampermonkey's bugged. This is the third time I had to do a manual userscript "downgrade" to update the script. Anyone else having problems?[/quote]

Probably. When I try to update on TM, it says that there are no updates (even if it's 2 versions old). Also, I've noticed that that happens each time I update the settings or the way they are handled (though, I did'nt do any major change), so it might be on my part...

Updated by anonymous

BUGS?:

Every time I browse to a new page, a green popup displays saying "User ID, level and name stored"

Also, I can't save any of my extension settings to disable the popups D:

Updated by anonymous

Okay... Seems like the function countSubsUpdates causes a fatal error, and the script won't be loaded further than displaying the faves counter.

I commented it out (and put return 0; to the end), then I got this error in the console:

GET https://e621.net/pool/show.json?id=undefined&page=1 404 (Not Found)

Interesting...

Ok, I took a peek at the contents of the LocalStorage. Every single quotation mark in the forum and pool subscription parts is escaped as &amp;#34;. Somehow I doubt that it does any good there. Nope, that doesn't seem to be the cause. Or not exactly. Anyways, I've cleared my pool and forum subscriptions manually, now everything seems to be working fine.

Seems like this bug WAS caused by that excessive escaping thing. I've re-added some forum threads and pools to the lists, it's working fine.

@MrGaoth: Maybe this will help: put this in the address bar while viewing an e621 page (any page, even this thread will do)

javascript:{localStorage.removeItem("forumSubscriptions"); localStorage.removeItem("poolSubscriptions");}

You might need to re-add javascript: at the beginning if the browser removes it, but other than that, it should work. Don't forget to refresh.

Updated by anonymous

MrGaoth said:
BUGS?:

Every time I browse to a new page, a green popup displays saying "User ID, level and name stored"

Also, I can't save any of my extension settings to disable the popups D:

You probably have localStorage disabled or are browsing in a private tab

EsalRider said:
Okay... Seems like the function countSubsUpdates causes a fatal error, and the script won't be loaded further than displaying the faves counter.

I commented it out (and put return 0; to the end), then I got this error in the console:

GET https://e621.net/pool/show.json?id=undefined&page=1 404 (Not Found)

Interesting...

Ok, I took a peek at the contents of the LocalStorage. Every single quotation mark is escaped as &amp;#34;. Somehow I doubt that it does any good there.

Is that, I don't know why is caused. When I changed this thread's title, the script failed while updating, so I had to escape "s and 's to avoid that, but somewhere in the updater, the objects to store get converted as a string. So the problem is in either "saveForumSubscriptions", "savePoolSubscriptions" or "asJSON" (which converts objects to strings because I did'nt like how JSON.stringify did it and caused too much problems)

I don't know how did you get that 404 though, the updates counter is independent of any other request. In fact, it is the last step of the updater.

Try this, copy "poolSubscriptions" and/or "forumSubscriptions" (whichever has the &#34; problem, probably the forums one) from the local storage in any text editor, replace quotes to nothing and &#34; to quotes and save again in the local storage. This works as a temporary fix to whatever causes this problem (I really don't know what is, but I'm looking at it)

Updated by anonymous

@Xch3l: I'm suspecting a version conversion glitch, if you had to do something like that because of the string escaping. Freshly added subscriptions seem to be OK.

Xch3l said:

Try this, copy "poolSubscriptions" and/or "forumSubscriptions" (whichever has the &#34; problem, probably the forums one) from the local storage in any text editor, replace quotes to nothing and &#34; to quotes and save again in the local storage. This works as a temporary fix to whatever causes this problem (I really don't know what is, but I'm looking at it)

Tried something similar, though I didn't remove quotes first. Didn't work.

Updated by anonymous

EsalRider said:
I'm suspecting a version conversion glitch, if you had to do something like that because of the string escaping. Freshly added subscriptions seem to be OK.

Maybe, but still, I don't know why it gets passed as a string...

Yeah, newly added subscriptions get saved correctly, though, sometimes they get screwed again :I

Tried something similar, though I didn't remove quotes first. Didn't work.

Huh, I've tried it several times and it has worked for me.

Updated by anonymous

Xch3l said:
Maybe, but still, I don't know why it gets passed as a string...

Yeah, newly added subscriptions get saved correctly, though, sometimes they get screwed again :I

Weird...

Huh, I've tried it several times and it has worked for me.

I guess there was a &amp;#34; somewhere within a string (or a regular " slipped in) and it broke everything, and that caused an error.

Updated by anonymous

In a perfect world, there would be an update today. Unfortunately there isn't one... no, wait. There is one!

[05/04/2014] Version 2.89 (Code 040514, -305 B)

  • Reduced some lines in the code related to floating panels (Heading, some dialogs, subscription updates lists, get source, etc.)

Improved counting of tags in the TinyAlias editor
Added check to see whether the field to search for tags exists in the page (broke TinyAliases on pages where it didn't exist *coughWhenUploadingcough*)
Fixed problem while saving the settings. Mainly the one that screwed up subscriptions.

So, yup. The "countSubsUpdates" bug is ded. Let's give a minute of silence *5 seconds later* WHO WANTS TACOS!! :3

Updated by anonymous

Could you add an option to replace *all* HTTPS links with HTTP links?
I've been getting the "images won't load" bug recently, especially with thumbnails.
And I don't care if the NSA knows what porn I'm looking at :p

Updated by anonymous

Munkelzahn said:
Could you add an option to replace *all* HTTPS links with HTTP links?
I've been getting the "images won't load" bug recently, especially with thumbnails.
And I don't care if the NSA knows what porn I'm looking at :p

It has been happening to thumbnails too? I haven't seen it happening since a while

Updated by anonymous

Was soup! *reads upper post* Wow, it really was 27 days ago? It felt as if it was more time. No, really... Anyway... before talking, I want to say some words:

[6/06/2014] Version 2.891 (Code 060614, +1120 B)

  • Added setting to apply the HTTP Tweak on every image (change HTTPS to HTTP on image's SRC attribute) [forum #129101]

Added check for empty contents for the encoder used in the settings exporter
Dropped support for beta.ouroboros.ws since the site is no longer active
Fixed a typo in the subscriptions link (the one that opens the subscription panel) [Reported via PM]
Capitalized First Word On Every Alt Text Of The Main Links ( ▶ [Name] [PMs] [Faves] [Subscriptions] )
Added shortcut to stop reading the current post that is on a pool
Fixed a small selection that is based on which browser the script is running (determines if the browser uses WebKit or not)

And now for something completely different, yesterday was Donut Day, as well as the D-Day (which I don't know what does that mean). Did you guys got your recommended dose of donuts? :3

Update shall come in a moment.

Updated by anonymous

Xch3l said:
Added setting to apply the HTTP Tweak on every image (change HTTPS to HTTP on image's SRC attribute) [forum #129101]

Thank you very much!
This fixes the "images not loading" problem for me, both for thumbnails and previews.

Updated by anonymous

Munkelzahn said:
Thank you very much!
This fixes the "images not loading" problem for me, both for thumbnails and previews.

Welcome! Btw, the setting is disabled by default.

Updated by anonymous

Munkelzahn said:
Can you implement this feature request in eSix Extend?
https://e621.net/forum/show/130083

I think so. In fact, I have so fix some stuff. Since the new site update some links that the script adds are shown as normal text (white color in Hexagon theme) but they're still functional, some paddings here and there, etc.

If you see some places that might need a fix too, do tell here! :)

Update shall come in less than 2 days (unless my brother wants to see a movie and takes my laptop again yay for being back home -3- )

Edit: Update will be pushed more a couple of days, sorry for that. I'm having a bit of problems...

Updated by anonymous

After some emotional outbursts, I managed to fix the thing!

[06/17/14] Version 2.892 (Code 170614, +4726)

  • Improved handlng of settings. Now it just doesn't fail after the first attempt at any error encountered, it tries a second time (both without - original - and with parentheses - new format, caused problems, no longer used)

Removed an unused function in TinyAliases (I can't remember why I added that)
Improved theme link color detection! The clickable links the script makes will no longer appear as normal text! Their color should also change when you change your theme (not always accurate)
Added a bit of padding for settings panes so they look nicer
Right clicking the settings link ( S▶ ) will no longer pop out a new window, instead will change the page with the script's settings
Speaking of the settings page, I've reworded some of the texts that appear there and added some "(?)"s to reduce visible text
Changed a bit of order when selecting a subscription ("Check selection > clear preview > load new preview" to "Clear preview > check selection > load new preview"). Won't be really noticeable, unless you're using Chrome (it can select selection groups - bold text)
Improved again how tags are counted
While tagging, either while uploading or editing a post, tags are now counted automatically (removed the "Count" button too! "Sort" still remains)
Checking tags will now have spaces replaced for underscores (these things: _) and pressing [Enter] again will now reactivate the tags box
Floating formatting buttons (double click on their space or between the buttons to make them float) now have a visible dragging handle (double clicking on it will return them to their original place)
Pressing [Enter] on the fields for the buttons "Wiki", "Section" and "Link" will focus the next field or insert the format tags if there are no more fields
Right-clicking "Quote" button will insert an inverse quote (Normal: "\

\

", inverse: "\[/quote]\

"). For those who like to split quotes and reply to them in parts
Fixed the "last messaged to" selection box while sending PMs to fit like it did some versions ago
Added a setting to include a link to user profiles when quoting (as explained in forum #130083) [forum #131061]
Added support to enhance warning messages (never seen one personally, but I couldn't resist leaving it alone)

And in other news, I have a future feature (lol, they sound alike) I'd like to add: autocomplete for TinyAlias.

Edit: Holy shit! Did I really do that lot of changes!?

EDIT 2: WAIT!!! DON'T SAVE CHANGES YET!! SUBSCRIPTIONS WILL GET SCREWED UP AGAIN!!! I'M FIXING THIS RIGHT NOW! . Fixed. You may save now. C: Version should be 2.892A

Updated by anonymous

Is there any possibility of implementing tag completion at some point?
It seems like it would cut down on problems like forum #131576 (gender_bend / genderbent /genderbend), it certainly does in my own local tagging system.

I have e621 tag data if needed; the totality of e621's tags as of a few weeks ago, adds up to roughly 2.1mb on disk uncompressed (this is storing a very simple name:count map in JSON format.).

Updated by anonymous

savageorange said:
Is there any possibility of implementing tag completion at some point?
It seems like it would cut down on problems like forum #131576 (gender_bend / genderbent /genderbend), it certainly does in my own local tagging system.

I have e621 tag data if needed; the totality of e621's tags as of a few weeks ago, adds up to roughly 2.1mb on disk uncompressed (this is storing a very simple name:count map in JSON format.).

I actually have something planned like that but for DNP artists (conditional DNP too). So, when you add an artist tag that is on the DNP, the script will notify you about that.

But I don't know how to do it yet (use a separate script as a library or include it in the main script)

Now, on to your idea, as I got it. When you add a tag, if there is a similar tag but more widely used, it will be replaced by that one? Or it pops out suggestions ordered by post count (popularity or on how many posts it is used) and filters them as you type?

Updated by anonymous

Xch3l said:
I actually have something planned like that but for DNP artists (conditional DNP too). So, when you add an artist tag that is on the DNP, the script will notify you about that.

That seems quite useful.

When you add a tag, if there is a similar tag but more widely used, it will be replaced by that one?

That's an interesting idea, but I think it would require some manual massaging of the tag data (you can't just go by levenshtein distances, I've tried it, it for example picks up 'dress' and 'dressing' as similar, which is true but not useful.). Definitely not the idea I was going for though, to be clear.

Or it pops out suggestions ordered by post count (popularity or on how many posts it is used) and filters them as you type?

Yes, this is what I meant. Though I believe you probably mean tagging count -- the number of times that the particular tag has been applied.. Being able to seeing what options already exist is VASTLY superior to just writing text, from my own experience with TMSU and dmenu on my own machine. IMO once the offending taggers had started typing 'gender', they would see that there was already an option available and select it.

IMO dmenu-style completion would work well for e621. By that I mean that what the user types would ideally be treated as a fragment of a tag, rather than the beginning of a tag -- this would allow 'gender' to complete into 'crossgender', and 'hair' to bring up the black|brown|aqua|..._hair tags as well as hair_over_eyes, hairband, etc.
Given user input of 'hair', classical completion is like searching hair*, whereas dmenu style completion is like searching *hair*

Updated by anonymous

savageorange said:
Yes, this is what I meant. Though I believe you probably mean tagging count -- the number of times that the particular tag has been applied.. Being able to seeing what options already exist is VASTLY superior to just writing text, from my own experience with TMSU and dmenu on my own machine. IMO once the offending taggers had started typing 'gender', they would see that there was already an option available and select it.

Yeah, tagging count. Didn't know exactly how to put it... Anyhoo, that sounds like a neat idea. It'll be kinda hard to make but this could be a great addition to the script. I have no experience with either (never heard of them until now) but yeah, +1 from me

IMO dmenu-style completion would work well for e621. By that I mean that what the user types would ideally be treated as a fragment of a tag, rather than the beginning of a tag -- this would allow 'gender' to complete into 'crossgender', and 'hair' to bring up the black|brown|aqua|..._hair tags as well as hair_over_eyes, hairband, etc.
Given user input of 'hair', classical completion is like searching hair*, whereas dmenu style completion is like searching *hair*

Oh, yeah. This'll require some testing.

Updated by anonymous

Xch3l said:
Yeah, tagging count. Didn't know exactly how to put it... Anyhoo, that sounds like a neat idea. It'll be kinda hard to make but this could be a great addition to the script. I have no experience with either (never heard of them until now) but yeah, +1 from me

Oh, yeah. This'll require some testing.

Well, imo the actual searching should be straightforward, since the source for DMenu is available. I don't know javascript very well, but I can probably write up a Python version of DMenu's matching algorithm if that would make it more understandable.

It really just splits the string into a list of tokens (dmenu uses space as a token separator, underscore would make more sense for e621), then iterates over the candidate items, skipping them if any of the tokens are not matched (ie the token is not a substring of the candidate), otherwise adding them to the list of items to display.

so technically it's like this (Python):

# Assuming the candidates are stored in the list named 'candidates',
# and userinput in 'userinput' variable
tokens = userinput.split(' ')
completion_result = []
for candidate in candidates:
    if all(token in candidate for token in tokens):
         completion_result.append(candidate)

There is a little additional work done by the dmenu code to place exact matches first
(eg. if you type 'foo' and there is a candidate 'foo', it should be the first result listed), followed by prefix matches (eg. you type 'foo' and there is a candidate foo_bar) , followed by substrings (eg. you type 'foo' and there is a candidate sharing_food). That's obviously not essential, just a UI improvement.

Updated by anonymous

savageorange said:
Well, imo the actual searching should be straightforward, since the source for DMenu is available. I don't know javascript very well, but I can probably write up a Python version of DMenu's matching algorithm if that would make it more understandable.

It really just splits the string into a list of tokens (dmenu uses space as a token separator, underscore would make more sense for e621), then iterates over the candidate items, skipping them if any of the tokens are not matched (ie the token is not a substring of the candidate), otherwise adding them to the list of items to display.

so technically it's like this (Python):

# Assuming the candidates are stored in the list named 'candidates',
# and userinput in 'userinput' variable
tokens = userinput.split(' ')
completion_result = []
for candidate in candidates:
    if all(token in candidate for token in tokens):
         completion_result.append(candidate)

There is a little additional work done by the dmenu code to place exact matches first
(eg. if you type 'foo' and there is a candidate 'foo', it should be the first result listed), followed by prefix matches (eg. you type 'foo' and there is a candidate foo_bar) , followed by substrings (eg. you type 'foo' and there is a candidate sharing_food). That's obviously not essential, just a UI improvement.

I was imagining something like that. Taking 'foo' as the tag:

  • Direct possible matches would come first: foo, food, fool, foot, etc.

Then indirect matches: i_pity_da_foo, sharing_food, etc.

And yeah, Pyhon technically makes it a bit more understandable. C (or C++) needs more words for the same routine that uses less on other languages... I understand a bit of C, though, it's just that pointers and stuff are a tad too technical for me (I don't get how I understand Java)...

I'll get on to it, then...

Updated by anonymous

Java != Javascript, BTW -- they basically have no relation to speak of. Yes, this is absurd.

Updated by anonymous