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

Posted under e621 Tools and Applications

Xch3l said:
Hahahaha!! Well, it has herm in it :V

Lol! Ok, that's just funny

Updated by anonymous

Xch3l said:

EsalRider said:
Somehow I have this strange feeling that you'll be spending some time on refining the refiner, because right now it's... Well... No words needed.]

Hahahaha!! Well, it has herm in it :V

That actually gave me a belly laugh.

Xch3l said:
Well, the search refiner is very basic at the moment, meaning that it only looks for whatever is in the box (ex. almonds), as for the second thing, it's already up! :D

I figured as much, it was mostly for the feedback since that usually helps with the refinement process. And yay, thanks! It was noticed and appreciated. =)

Updated by anonymous

furrypickle said:
I figured as much, it was mostly for the feedback since that usually helps with the refinement process. And yay, thanks! It was noticed and appreciated. =)

And I thank your feedback (all feedback is welcome and appreciated). Right now, I added an "Exact match" checkbox and rewrote it to both accomodate the new function and to optimize it :)

Updated by anonymous

This is a bit of a longshot, so don't feel bad if it's actually not possible. On the chance it is though: Is there any way a feature could be added that allowed someone to semi-permanently disable their blacklist until they turn it back on. Like for example, a ticky box that (if checked) would keep your blacklist from kicking in. I recognise that this is the exact opposite of what most people would want the blacklist to do, which is why I'm asking about it here first since I figure users of your script are far less likely to do it to themselves by accident and then freak out about their "blacklist is not working omgz" etc. The reason it would be useful is that sometimes I use the blacklist to filter content based on a tag project I'm working on. But then if I take a break and just want to browse normally for an hour, every damn search page needs it manually toggled off to view some of the images. Makes me wish I could toggle it off and it would "stick" and stay off until I wanted it back again.

Or that there was a second blacklist for projects that had this feature, since it is an unorthodox but common use for the blacklist amongst taggers. On second thought, this option might be better since it allows you to have a "temp blacklist" while still keeping the "permanent blacklist" permanent. Best of both worlds. So I guess I would prefer this version of the concept, if at all possible.

Now I know that I could always empty the necessary tags off of my blacklist and save it so that it wasn't blocking things when it want it "off". But that means I have to keep a saved copy of my 'project-centric blacklist' somewhere else to then copypaste in and out. Which is ungainly and awkward to really put into practice. I've been wishing for this sort of thing for awhile and figured it'd be worth asking how possible it even is.

So, yeah. This is my 'weird blacklist feature' question. lol I know it's a bit nuts, but what do you think: is it even possible?

Updated by anonymous

@furrypickle: (sorry for that, darn phone)

Well, for the moment, I can't edit the blacklist because as said in previous posts, I can't change user settings from anywhere due to e6 security. But I think I can do something that toggles visibility of all posts...

Updated by anonymous

Feature request:
arttags:0

https://e621.net/post/index/1/arttags:0 has been broken for some time (again), and it looks like it's not getting fixed :-(
"Broken" means it both returns posts that have an artist tag, and posts that don't.

Would it be possible to re-create this functionality with eSix Extend?

Updated by anonymous

Munkelzahn said:
Feature request:
arttags:0

https://e621.net/post/index/1/arttags:0 has been broken for some time (again), and it looks like it's not getting fixed :-(
"Broken" means it both returns posts that have an artist tag, and posts that don't.

Would it be possible to re-create this functionality with eSix Extend?

Well, I'd have to build a tag database first (as planned several pages back) but now that autocomplete for TinyAliases is done I think it's now possible, but that'll taake some time

Updated by anonymous

Munkelzahn said:
Feature request:
Find Source for direct links on Deviantart.

Example of a post where this would be useful:
post #561654
Source:
http://fc09.deviantart.net/fs70/f/2014/099/1/7/plague_vector_by_culu_bluebeaver-d7ds4te.png

In order to find the post on Deviantart, I need to google:
plague vector culu bluebeaver

I've fixed the dA link to take "fc##.deviantart.net" since the actual filename is the same, which also contains the link to the submission's fav.me that, in this case, it's http://fav.me/d7ds4te

Munkelzahn said:
Bug:
Derpibooru search doesn't work on at least one image

1) Go to post #562228
2) Use Find Source -> Derpibboru
3) It uses the image URL
http://static1.e621.net/data/sample/73/a9/73a9b6b9631a3278f406a85c42823f08.jpg
which doesn't work.

This URL works:
https://static1.e621.net/data/73/a9/73a9b6b9631a3278f406a85c42823f08.png[/quote]

After poking around in Derpibooru's reverse search form, tweaking the fuzzyness value getting to 0.4 returned results using the sample image but I also discovered that, like here, it requires an auth token, which unfortunately, I can't generate either :/

Updated by anonymous

I've just installed the whole script and it looks awesome, though I'll have to learn what some things do.

I have one bug. Clicking on my username in toolbar directs me to https://e621.net/user/show/undefined instead of my profile.

Nevermind, it was because I haven't removed cookies since I changed my username.

Updated by anonymous

Lance_Armstrong said:
Tag database? Whoa..

Eeyup. That'll take some time, though.

Granberia said:
I've just installed the whole script and it looks awesome, though I'll have to learn what some things do.

I have one bug. Clicking on my username in toolbar directs me to https://e621.net/user/show/undefined instead of my profile.

Nevermind, it was because I haven't removed cookies since I changed my username.

Good! I was going to suggest that you use the "Fix" button on the Script's settings inside the Quick Access section, but yeah, your current username is taken from your cookies

Updated by anonymous

Feature request:
It would be great if the whole Check Tag feature was not only on upload page but also on suggest implication/alias page. Typos made there are even more annoying.

Updated by anonymous

Granberia said:
Feature request:
It would be great if the whole Check Tag feature was not only on upload page but also on suggest implication/alias page. Typos made there are even more annoying.

Got it

Updated by anonymous

Yo dawg, I herd u liek updaets... uh... gee, I got nothing for that :/

[28/11/14] Version 2.973 (Code 141128, +19,253b)

  • Ditched embedded images and replaced them with external resources. I know that they were only two but hey, it reduced about 2KB! (which were taken by the new features...)

Changed how the script describes itself (accessible by typing window.eSixExtend on your developer console)
Better detection of browser's CSS prefix (used mainly for animations such as notices flashing and several other effects)
Updated DNP Database to version 264 (11/23/2014 07:40)
Added Master Panel (accessible by right-clicking on your user name and only if "Log messages to Console" is enabled)
Improved responsiveness when switching styles. Links added by the script should now have the same color as the site's
Counters now synchronize across all open tabs to reflect their current count (same for custom links)
Sorted alphabetically the General section in the preferences page
Fixed some capitalization in the settings page and changed a few words
Moved Donate button from the lower right corner to the About section
Removed some unnecessary details while previewing Forum subscriptions and in the Subscriptions list
Custom links that can't be checked for updates in Quick Access section will have their "Skip" button disabled
Included Check Tag in Alias and Implication pages [forum #144344]
Improved DeviantArt link in Find Source menu to better guess when a link points to an image [forum #143904]
Changed fuzzyness value from 0.25 to 0.4 for the Derpibooru link in Find Source menu. This should make results appear [forum #143960]
Search Refiner: Improved refiner and added refine by specific date ("day:[1-31]", "month:[1-12]" or "month:[January-December]" and "year:[####]") or almonds (kiddin') and adapted to support refine by date ("date:[1-12]/day/year" or "date:[January-December]/day/year"), rating ("rating:[s, q, e]" or "rating:[safe, questionable, explicit]"), score ("score:##"), user ("user:[user name]") and negated tags ("-tag").
New! Formatting buttons can now be docked to the right, either by popping them out or by setting them on your preferences. Useful for when you have to write a lot and don't want to scroll up and down because you resized the text box *coughlikemecough* (Video here, sorry in advance for the quality n_n; )
Dialogs can now be minimized! You can do so by dragging them to the bottom of the screen or by clicking the _ button at the top-right corner of it (don't know why or for what yet, but it's cool :) )
Fixed the Subscriptions dialog to not highlight a forum you subscribed to when you are the last user to update it
Gave an minimal appearance improvement when displaying updates on the Subscription dialog. Pool subscriptions that you kept (ones that won't be checked for updates) now display a "Kept" legend besides the posts counter

As you can see, this is the biggest update so far (size-wise, of course). Many improvements (internally) and several other fixes and tweaks. As always, if something went wrong, you know where to post it!

Updated by anonymous

Recently pools won't automaticly update anymore for me. If a new pic gets added eSix extend wont notice until i stop and start reading that pool again.

Updated by anonymous

duefff said:
Recently pools won't automaticly update anymore for me. If a new pic gets added eSix extend wont notice until i stop and start reading that pool again.

Hmmm... do they have their "Don't update, just keep it" check box or their box filled in the manager? Or in the subscriptions icon? If they're kept, the legend "(Kept)" appears before the posts counter ("S#" in your user bar)...

Or do you have your refresh interval too high, perhaps?

Updated by anonymous

Forgot to day that the last update was great! I was having issues with tampermonkey when it came out, so it slipped my mind :P

Updated by anonymous

Munkelzahn said:
Bug:
The "DeviantArt" search entry doesn't appear on post #566097

D'oh! >_<

Well, changed it to match both letters and numbers, it should be more reliable now... on the next update, of course, that adresses also a bug with custom links... :)

Tokaido said:
Forgot to day that the last update was great! I was having issues with tampermonkey when it came out, so it slipped my mind :P

S'okay! :D

Updated by anonymous

Tiny update that addresses a small bug C:

[28/11/14] Version 2.974 (Code 141205, +195b)

  • Fixed bug that prevented custom links from updating themselves

Source menu: Adjusted DeviantArt source link to accept letters and numbers regardless of their order. It should be more reliable now [forum #145060]
Minor code optimizations and reducing

I'm releasing it right now because I'll have a quite busy week (the next one, not this one that's just on its last days). I've been having a hard week emotionally, so it's probable I won't be around here in a couple of days. Wish me luck! :D

If a serious bug (more like annoying or the sorts) happens to lurk around, please don't hesitate to PM me

update on both the main post and the global change log are pending

Updated by anonymous

eSix version of set's post list seems to be broken. Clicking on [Remove] does not remove post from set. Dragging and dropping them does not change their order (after refresh their back in original order)

Updated by anonymous

Granberia said:
eSix version of set's post list seems to be broken. Clicking on [Remove] does not remove post from set. Dragging and dropping them does not change their order (after refresh their back in original order)

Did you clicked on [Save] after finishing reordering?

Updated by anonymous

Xch3l said:
Did you clicked on [Save] after finishing reordering?

I'm an idiot. I completely missed that button because I was working on top pictures and pictures were loaded rather quickly.
Ordering and removing works.

Updated by anonymous

Granberia said:
I'm an idiot. I completely missed that button because I was working on top pictures and pictures were loaded rather quickly.
Ordering and removing works.

Naw, you probably just missed it :D

Updated by anonymous

hi, long time user here, and I really like what you've been doing with this script (it has so many new features every time I check back, some that I didn't even notice until I started digging through the thread), however, I would like to propose some changes (if possible. I've implemented them myself on my local copy, but you may wish to go about it differently/not at all) to the "check tag" box (possibly my favorite feature of this script when uploading):
using .replace() forces the cursor to the end of the line when it's run, and as you run it every single time a key is pressed, that can be an issue. if I need to change 1 letter in the middle of the word, I have to click to where it is, backspace, click again, and place the letter in. using the directional keys is impossible as it always just jumps back. I would propose removing the replacer, or allow it to be turned off (AFAIK, there's really no way to tell the cursor not to jump, or to even return it to the original position, I remember having the same issue when I was using C# a while back)
don't set the focus back onto the tag box after successfully adding a tag. I do a lot of tagging by checking if it's a real tag, then applying it, so having to switch back to the box after every tag gets annoying. at least fix the tab order, if you can. as it is: tabbing skips over the tag searcher (I actually don't know if fixing the tab order is possible, but if it is, I would like it very much)

Updated by anonymous

HIMofangels said:
...using .replace() forces the cursor to the end of the line when it's run, and as you run it every single time a key is pressed, that can be an issue. if I need to change 1 letter in the middle of the word, I have to click to where it is, backspace, click again, and place the letter in. using the directional keys is impossible as it always just jumps back. I would propose removing the replacer, or allow it to be turned off (AFAIK, there's really no way to tell the cursor not to jump, or to even return it to the original position, I remember having the same issue when I was using C# a while back)

I just want to second that request. Drives me crazy when I'm testing multiple forms of a tag to see which ones are in use (without actually going to the tag index page in another window to do it). Since, unless I'm adding something to the end of the tag, I have to erase and retype it all out to change anything in the middle or beginning of the tag before checking to see if it's in use. So being able to turn off that cursor jump would be nice.

Updated by anonymous

@HIMofangels & @furrypickle
Thanks for your reports. I'd like to fix them asap, but I'm not at home right now and, as you might know, my HDD decided to screw up taking everything with it before the end of the year (poor thing, couldn't wait for today :P ).

I can't edit the file in my phone because it can't handle the file size (dunno why, it's just about 200KB *shrug*). I'll just wait for my brother to lend me his laptop to see if the thing actually dieded (or if the laptop is pulling me a quick joke >_> ) so I can recover some files (don't worry, the WIP script file is included) and fix them issues, errors and add suggestions.

Again, thanks for your reports.

Updated by anonymous

furrypickle said:
I just want to second that request. Drives me crazy when I'm testing multiple forms of a tag to see which ones are in use (without actually going to the tag index page in another window to do it). Since, unless I'm adding something to the end of the tag, I have to erase and retype it all out to change anything in the middle or beginning of the tag before checking to see if it's in use. So being able to turn off that cursor jump would be nice.

if you want a quick and dirty solution, you can edit the script yourself.
Line 2456: this.value = this.value.replace(/ +/g, "_");
remove it, or change it to //this.value = this.value.replace(/ +/g, "_");

The script will stop auto-updating if you do this, but when the new version is out you can manually update

Updated by anonymous

Okay, I finally got back home but I won't be able to check my laptop or its HDD after Jan 11th (family problems, mainly older brothers :/ ). Until then, I'll be able to give some sort of update as for the happenings and going ons on it. If I can do it sooner, news will come sooner :D

HIMofangels said:
if you want a quick and dirty solution, you can edit the script yourself.
Line 2456: this.value = this.value.replace(/ +/g, "_");
remove it, or change it to //this.value = this.value.replace(/ +/g, "_");

The script will stop auto-updating if you do this, but when the new version is out you can manually update

Thank you! I'll check that line on both the working file and the WIP file ASAP *thumbs up*

Updated by anonymous

Bug: On post pages, hitting CMD + F favourites/unfavourites a post, but it should bring up the "Find..." menu. Likewise CMD +D downvotes a post, but it should add a bookmark.
Workaround: Moved all of them to for now. Chrome 39 OS X 10.10.1

Updated by anonymous

parasprite said:
Bug: On post pages, hitting CMD + F favourites/unfavourites a post, but it should bring up the "Find..." menu. Likewise CMD +D downvotes a post, but it should add a bookmark.
Workaround: Moved all of them to for now. Chrome 39 OS X 10.10.1[/quote] Whoopsie! Looks like I forgot to consider browser shortcuts! n_n; In other news, I'll have to take the current active version and write again from scratch whatever modifications I had on the working-file which, unfortunately, I can't remember what those were :/ [spoiler]DAMN YOU, SANTA!! >:I [/spoiler]

Updated by anonymous

Good news, everyone! I have the first update for year 2015! *presents change log*

[17/01/15] Version 2.98 (Code 150117-1, +738B)

  • As you may have noticed, I have added a "dash-number" suffix to the version code. This is to prevent changing it to the next day's equivalent (Code format is YYMMDD) in case of same day updates happen (which have) to trigger updates in Greasemonkey or Tampermonkey

Updated DNP Database to version 276
Updated DNP Tag Observer (the thing that checks for artist tags on tag boxes - name just made up) to also include commissioned works. May not be 100% accurate
Fixed hotkey listener to consider when pressing additional keys. It should now react to only the key that you assigned [forum #148965]
Fixed Check Tag box to replace spaces with underscores when the spacebar is pressed (should also retain the cursor's position) [forum #147948]
When navigating a pool subscription, the current post will be set to be the last seen as opposed to setting the next or previous one when the hot key was used

Ah, there it is! Pretty, huh?

Cookie if you read the intro and the first point with Professor Farnsworth's voice. Extra cookie if you read everything before this paragraph with his voice. Updating the main page of the script is still pending due to having problems with my laptop.

Thanks for your comprehension. Update should come up in a few minutes.

Updated by anonymous

Suggestion:
When you edit the URL list for an artist, eSix Extend should automatically remove duplicate URLs.

Updated by anonymous

Munkelzahn said:
Suggestion:
When you edit the URL list for an artist, eSix Extend should automatically remove duplicate URLs.

Hmmm, that could be in the sorting phase...

Updated by anonymous

Granberia said:
Tiny aliases could work a little better.

Example. I clicked on umbreon text.

Expected behavior.

Actual behavior.

It works when clicking after typing only "ta_" but I'd like to narrow choices before clicking.

Oh. I think I overlooked that too. I'll see what can I do. Thanks for the report

Updated by anonymous

Either I'm using pool subscription wrong or they are bugged.

Pool get marked in updated subscription even after I've read last page of it. Screenshot. Some time ago it wasn't marked as updated in such situation. ( Curiously Excalibur pool works okay.) They are removed from updated subscriptions counter when I change from track to keep but, if I understand correctly, then it won't show updates of that pool in future.

Also is there a way to track pool without reading it first? Something like "mark all as read and track future updates".

Updated by anonymous

Granberia said:
Either I'm using pool subscription wrong or they are bugged.

Pool get marked in updated subscription even after I've read last page of it. Screenshot. Some time ago it wasn't marked as updated in such situation. ( Curiously Excalibur pool works okay.) They are removed from updated subscriptions counter when I change from track to keep but, if I understand correctly, then it won't show updates of that pool in future.

Bugged

I've noticed this (same as quick links not updating after importing settings on a fresh install). It's probably because I changed the behavior to "update on the current post" from "update before going to the next post".

And yeah, changing them from tracking to keeping basically tells the script to not count it, but it'll list it anyway if the last post seen does not match the one recorded.

Also is there a way to track pool without reading it first? Something like "mark all as read and track future updates".

This sounds good to add. Like a "skip to this post". It's funny, because when subscribing from a post that's halfway, the script automatically does it...

In all cases, I'll need to check what's going on in there and prolly come back with an update.

Updated by anonymous

When I go to the download address I click install and then gives me a message saying "No data recieved" (Error code: ERR_EMPTY_RESPONSE). Hopefully this is just temporary.

Updated by anonymous

BlueOxide said:
When I go to the download address I click install and then gives me a message saying "No data recieved" (Error code: ERR_EMPTY_RESPONSE). Hopefully this is just temporary.

Hmmm. It does load on my end. May I ask what browser are you using?

Updated by anonymous

Wow, dat timing :3 No really! What a coincidence to publish this update on the same day as the previous one

[17/02/15] Version 2.981 (Code 150217-1, +1629B)

  • Replaced usage of 'eval()' in favor of 'JSON.parse()' since it should be more compatible now

Updated DNP Database to version 283
Finally fixed the issue of storing settings in previous versions and breaking in this one after upgrading
Fixed bug when submitting a new keyboard layout. Now you should submit new layouts for compatibility with other users
Improved Tiny Alias' auto-complete narrowing function to actually works as intended [forum #150852]
Added direct link to a post in Derpibooru on the "Find Source" menu. Labeled as "Derpibooru ⇥"
When editing an artist profile, duplicate URLs should now be removed [forum #150460]
Reduced usage of WebStorage by removing redundant settings when saving (options that happen to be the same as the default ones are not saved)
Fixed "Quick links" not signaling updates after adding them or importing on a fresh install
Pool navigation was reverted to its old behavior of "update when changing posts" in place of "update when viewing the next post" [forum #151153]
Implemented "Skip to last" in pool subscriptions [same as above]
Squashed a bug that caused problems on subscriptions with certain characters (´ so far)

There we go! So, I don't have too much to say on this update, though... It's neat that I had one, right?

Updated by anonymous

Xch3l said:

  • Added direct link to a post in Derpibooru on the "Find Source" menu. Labeled as "Derpibooru ⇥"

You are an excellent person.

Updated by anonymous

AgentBanana89 said:
I have I bit of a problem that I can't seem to figure out.

I was using this extension for quite a while up until quite recently when it for some reason stopped working completely. I'm not sure if I'm the only person who is experiencing this problem, but I'm really annoyed. It was working absolutely fine until recently when it randomly became nonfunctional. The userbar doesn't appear, pressing f doesn't favorite a post; it's like it's not even installed (which it is, I'm not that stupid).

I've tried uninstalling it and reinstalling the extension. I've tried unintalling and reinstalling Tampermonkey. I even uninstalled and reinstalled Google Chrome, but nothing seems to fix it.

Anyone know how to fix this?

Hmmm... Maybe I screwed up on the settings part...

Updated by anonymous

Well, I also had problems right after updating because one of the pools I subscribed to had an apostrophe (') in its name. I simply got a floating white error box at the bottom of the page. According to the error console, that apostrophe couldn't be processed (unexpected token), which in turn brought back our good old friend, the countSubsUpdates bug (undefined has no length). I've manually deleted the only escaped apostrophe from the pool subscriptions localstorage entry, and the script suddenly started working. Along with quicklink notifications, which simply never worked for me before, so I guess you didn't screw up (too much) on the settings part.

Updated by anonymous

For some reason extension stopped working. It's marked as selected in Greasemonkey tab, but there's no extension bar on e621 at all. It just disappeared.
Last thing I've done before it disappeared was marking comic as kept.

Edit:
Okay, there is another sign that extension still exists - My Account tab is hidden about second after loading page, but there's still no bar, and settings page doesn't have extension settings tab.

Updated by anonymous

Okay, I've tweaked the script to post errors on your browser's error console. After updating, if the script is still borked, please check on it and post here the errors that may occur and I'll fix asap.

Check on your browser's main menu, in the Developer submenu (also labeled as "Developer tools") and click Error/Developer Console.

Edit: Make sure the script version is 150219-2.

By the way, good morning, everyone!

Updated by anonymous

I've checked firebug, and here are errors in console window:

{eSixExtend} Parsing Error: Pool subscriptions (psub countSubsUpdates,forum,show,66904)
SyntaxError
JSON.parse: bad escaped character at line 1 column 3039 of the JSON data
At line 3357, column 16
Stack:
countSubsUpdates@file:///C:/Users/anomaly/AppData/Roaming/Mozilla/Firefox/Profiles/diuj8lpg.default/gm_scripts/eSix_Extend/eSix_Extend.user.js:3357:17
@file:///C:/Users/anomaly/AppData/Roaming/Mozilla/Firefox/Profiles/diuj8lpg.default/gm_scripts/eSix_Extend/eSix_Extend.user.js:503:25
@file:///C:/Users/anomaly/AppData/Roaming/Mozilla/Firefox/Profiles/diuj8lpg.default/gm_scripts/eSix_Extend/eSix_Extend.user.js:27:2

eSix_Ex...user.js (row 3832)
eSix Extend V2.981 error > Type: TypeError > Message: sub is undefined > Stack: countSubsUpdates@file:///C:/Users/anomaly/AppData/Roaming/Mozilla/Firefox/Profiles/diuj8lpg.default/gm_scripts/eSix_Extend/eSix_Extend.user.js:3358:18 @file:///C:/Users/anomaly/AppData/Roaming/Mozilla/Firefox/Profiles/diuj8lpg.default/gm_scripts/eSix_Extend/eSix_Extend.user.js:503:25 @file:///C:/Users/anomaly/AppData/Roaming/Mozilla/Firefox/Profiles/diuj8lpg.default/gm_scripts/eSix_Extend/eSix_Extend.user.js:27:2

Edit:
Judging by this I think I have the same error as EsalRider.

Edit2:
I commented out

if(ls.poolSubscriptions) {
try{sub = JSON.parse(ls.poolSubscriptions);}catch(err){logIt("err_psub countSubsUpdates", "Parsing Error: Pool subscriptions", err);}
for(i = 0; i < sub.length; i++) {
itm = sub;
if(isSubUpdated(itm) && itm.keep != true) cnt++;
}
}

and everything besides pool subscriptions is working again.

Updated by anonymous

Granberia said:
I've checked firebug, and here are errors in console window:

[...]

Edit:
Judging by this I think I have the same error as EsalRider.

Edit2:
I commented out
[...]
and everything besides pool subscriptions is working again.[/section]

So it's a bad escaping, huh? I think I'll need to check how the escaping is done...

Updated by anonymous

Alright, think I got it. Have a dose of update and call me in a while. If the problem persists, please post your error logs (should be more readable too) to help me find and fix the bug.

Updated by anonymous

Nope, still not good. There should be four pool subscriptions on the list, one of them kept (the one that's causing trouble). On the bright side, the script itself doesn't crash completely, only the pool subscriptions stop functioning. Data is not lost and the error messages show up on every page load. Now I'll just remove that apostrophe again... Which, I guess, shouldn't be escaped.

And that's what I sometimes can't understand. Some parsers simply fail if you unnecessarily escape a character, while others will simply handle it like it wasn't even escaped. JSON parsing seems to fall into the former group.

Edit: The problem only appears on update checking or saving the script's settings.

Updated by anonymous

EsalRider said:
Nope, still not good. There should be four pool subscriptions on the list, one of them kept (the one that's causing trouble). On the bright side, the script itself doesn't crash completely, only the pool subscriptions stop functioning. Data is not lost and the error messages show up on every page load. Now I'll just remove that apostrophe again... Which, I guess, shouldn't be escaped.

And that's what I sometimes can't understand. Some parsers simply fail if you unnecessarily escape a character, while others will simply handle it like it wasn't even escaped. JSON parsing seems to fall into the former group.

Edit: The problem only appears on update checking or saving the script's settings.

Yeah, that's the exact place where the bug occurs again because script doesn't know it... mind telling what pool causes it? I had a similar issue but was an apostrophe that didn't had to do with the others (namely the one that's on the changelog)

Updated by anonymous

Now it's better since only subscriptions are not working.
Firebug console shows this:

{eSixExtend} Parsing Error: Pool subscriptions (psub countSubsUpdates,forum,index)
SyntaxError
JSON.parse: bad escaped character at line 1 column 3039 of the JSON data
At line 3359, column 14
Stack:
countSubsUpdates@file:///C:/Users/anomaly/AppData/Roaming/Mozilla/Firefox/Profiles/diuj8lpg.default/gm_scripts/eSix_Extend/eSix_Extend.user.js:3359:15
@file:///C:/Users/anomaly/AppData/Roaming/Mozilla/Firefox/Profiles/diuj8lpg.default/gm_scripts/eSix_Extend/eSix_Extend.user.js:503:25
@file:///C:/Users/anomaly/AppData/Roaming/Mozilla/Firefox/Profiles/diuj8lpg.default/gm_scripts/eSix_Extend/eSix_Extend.user.js:27:2

eSix_Ex...user.js (wiersz 3841)

{eSixExtend} Parsing Error: Pool subscriptions (psub checkSubsUpdates,forum,index)
SyntaxError
JSON.parse: bad escaped character at line 1 column 3039 of the JSON data
At line 3288, column 41
Stack:
checkSubsUpdates@file:///C:/Users/anomaly/AppData/Roaming/Mozilla/Firefox/Profiles/diuj8lpg.default/gm_scripts/eSix_Extend/eSix_Extend.user.js:3288:42
@file:///C:/Users/anomaly/AppData/Roaming/Mozilla/Firefox/Profiles/diuj8lpg.default/gm_scripts/eSix_Extend/eSix_Extend.user.js:2499:34

though it's not marked as error.

eSix stopped working correctly for me when I marked pool #1129 as kept.

Edit:
Here's my ls.poolSubscriptions

"[{"id":4596,"name":"Excalibur","posts":[524718,524720,526417,532461,532452,535412,543583,549423,551772,554869,560522,563680,569632,575124,576169,580552,583523,587148,590376,594318,598851,602615,606580],"last":606580,"keep":false,"thumb":{"url":"06/5e/065e79184ca48f3475d55419a4070331.jpg","width":115,"height":150}},{"id":4734,"name":"Hidden_Springs","posts":[537641,537642,537643,537644,537645,557015,557016,557017,557018,557025,557026,561339,567084,593751,593752,596810,601352],"last":601352,"keep":false,"thumb":{"url":"e5/3d/e53db7fac7cdf6803718bb47c7448ba8.jpg","width":106,"height":150}},{"id":4232,"name":"Her_Name_by_Ohmuu","posts":[493412,529342,532529,535889,538567,541634,543993,547098,548724,551413,555445,557874,561135,565068,567729,571219,574947,577609,584848,587228,591163,596389,599463,602568],"last":602568,"keep":false,"thumb":{"url":"21/bf/21bf6f7c76a7e10ad3baa5901192da4a.jpg","width":107,"height":150}},{"id":3647,"name":"Brother_to_Brother_by_vibrantechoes","posts":[438785,438788,438790,439752,441789,445883,445921,449859,455280,456418,456561,457011,463280,464086,469333,477289,483663,483665,487175,487185,494392,494878,497484,505131,505132,522267,527413,532259,551539,566026,566027,571936,573092,572794,575205,575206,585734,585736,589117,589122,594680,598345],"last":438785,"keep":true,"thumb":{"url":["/02/14/0214bbf9ff0e1e0770bf84aff46083d1.jpg"],"width":108,"height":150}},{"id":1358,"name":"The_Legend_Of_Jenny_And_Renamon","posts":[129641,129643,130851,201266,201267,201268,201270,201271,201272,201273,201274,201275,201276,201277,201278,201279,201280,201281,201282,201284,201286,201288,201290,201319,201320,201321,201322,201323,201324,201326,201328,201329,201331,201332,201333,201335,201336,201338,201339,201341,201342,201343,203231,204453,205891,209111,209112,210950,213097,214436,215705,217022,218651,220242,223846,225559,227657,229138,230865,235418,235620,237639,240024,241860,248420,248422,250805,253218,256990,261026,262795,276324,282546,282785,284459,286614,289217,291475,293449,295684,298920,300974,303620,306023,308566,314120,314121,316612,319184,329101,327724,332559,335361,338201,341036,343533,352910,355014,358605,359024,360887,375606,378197,388793,394308,394698,400253,402423,405559,411538,414307,414308,423416,426374,430460,433303,440014,440064,468957,471168,471171,474518,477520,480405,486590,486582,492583,495785,498750,502380,515929,519276,522453,525517,528393,531331,534377,539939,550633,553667,562374,565274,568353,571954,575271,578904,586121,588916,588918,592858,596882,602243,605196],"last":605196,"keep":false,"thumb":{"url":"4f/47/4f478af58017ed70f2f302907dcac97f.jpg","width":115,"height":150}},{"id":5430,"name":"Cross_Busted","posts":[597800,597801,597802],"last":597802,"keep":false,"thumb":{"url":"1a/9a/1a9a06f67bfe81b3fad9f2a8ee3b0f3c.jpg","width":108,"height":150}},{"id":4638,"name":"Sad_Dragon","posts":[490471,528897,533994,595985,596620],"last":596620,"keep":false,"thumb":{"url":"25/73/2573f8c94f121cc35c8d1574258057cc.jpg","width":54,"height":150}},{"id":1129,"name":"Ryou\'s_Sierra","posts":[42654,42655,42656,42657,42658,42659],"last":42654,"keep":true,"thumb":{"url":["/55/2b/552bb749034dde6ece4e514762672416.jpg"],"width":97,"height":150}}]"

Updated by anonymous

Aha! Yeah, as EsalRider mentions, JSON.parse does mind about unnecessary escaping. That had to be done due to using 'eval()', which takes a complete string and tries to parse it, causing errors if apostrophes were located at different places, even if those weren't related at all, hence why I had to escape them. But since I'm using JSON.parse it does throw up an error because, since it's smarter, it knows which apostrophe belongs to where.

Thank you guys, I'll fix that right now and post an update in less that 15 minutes! :D

Edit: Alright. So, how is it now?

Also removed a dupe of escapeIllegalChars that prolly caused the issue. Version code should now be 150220-4

Edit 2: Update to 150220-5. I pasted twice causing doubles of everything *derp*

Now, if you can still access your settings, head on the 'Subscriptions' section and click on " Check for subscriptions now" to refresh them, so the script updates and fixes the ones saved

Updated by anonymous

Yay, it works! Thanks, Xch3l, good job!

Xch3l said:
Edit 2: Update to 150220-5. I pasted twice causing doubles of everything *derp*

This reminds me that one-time hilarious moment when, due to general system slowness and browser hiccups, I had triple of everything the script added.

Updated by anonymous

Xch3l said:
Woooooo!! Cookies for everyone !! :D]
...
Now I feel bad about what I'm going to say. It's not working for me, give back your cookies! There are still bad escaped character errors, subscriptions are empty and clicking checking subscriptions manually only freezes the script. Also I don't know if that's important but while about:addons shows "eSix extend 150220-5" on the extension setting it's written "Script version: 2.981 (Code 150217)".
I think I'll just try nuking the pools.

Updated by anonymous

Granberia said:
...
Now I feel bad about what I'm going to say. It's not working for me, give back your cookies! There are still bad escaped character errors, subscriptions are empty and clicking checking subscriptions manually only freezes the script. Also I don't know if that's important but while about:addons shows "eSix extend 150220-5" on the extension setting it's written "Script version: 2.981 (Code 150217)".
I think I'll just try nuking the pools.

but if you check the last modified date, it's today's (unless you're on a different timezone and the update came from the future :P )

Mind PMing me your error logs and exported pool subscriptions? I gotta track down further

Updated by anonymous

I am glad this scipt is working again, but through all that I lost all my subsciptions. This was solely my fault, but I had a backup.

So I tried to go to eSix Setting/ Import, Export/ One by One/ paste the pool subscriptions in the respective box / pressed import/ pressed save at the bottom of the page.

But still all the subsciptions aren't appearing. Thats not that big of a problem, since I can just add them all manually. But could you look into why the import won't work?

Updated by anonymous

duefff said:
I am glad this scipt is working again, but through all that I lost all my subsciptions. This was solely my fault, but I had a backup.

So I tried to go to eSix Setting/ Import, Export/ One by One/ paste the pool subscriptions in the respective box / pressed import/ pressed save at the bottom of the page.

But still all the subsciptions aren't appearing. Thats not that big of a problem, since I can just add them all manually. But could you look into why the import won't work?

Did you refresh them manually after importing?

Updated by anonymous

Granberia said:
Did you refresh them manually after importing?

I didn't yet, it is like the import just wont work at all.

None of them appears in the top bar. when I open up one of them manually nothing is saved. I can only reRead it ( or Skip to last)

Updated by anonymous

duefff said:
I didn't yet, it is like the import just wont work at all.

None of them appears in the top bar. when I open up one of them manually nothing is saved. I can only reRead it ( or Skip to last)

I meant: have you tried pressing Settings>eSix Extend Settings>Subscriptions>Check for updates now?

For me they appeared again on top bar and subscription list after clicking it and waiting few seconds.

Updated by anonymous

Granberia said:
I meant: have you tried pressing Settings>eSix Extend Settings>Subscriptions>Check for updates now?

For me they appeared again on top bar and subscription list after clicking it and waiting few seconds.

I tried that and it wont work for me

Updated by anonymous

duefff said:
I tried that and it wont work for me

Could you post the backup here or send me a DMail? I'll check if there're any illegal character sequences in it and I'll remove them.

Also, make sure you're using the latest version released (check your userscript manager, it should be 150220-5).

Updated by anonymous

Ok, thanks to duefff, I've discovered some issues... Investigating right now, will edit this post once I have results.

Apparently, if the pool subscriptions contain an invalid escape (like \'), an update can actually PURGE any and all pool subscriptions! I don't know the exact reasons or if it happens all the time, but it does happen. So here's a message for everyone reading this: If you haven't done it already, MAKE A BACKUP of your subscriptions!

Also, it may happen that some pool subscriptions don't have thumbnail data. Unfortunately, "thumb":undefined is invalid and it will cause an unexpected token u error. Just like a bad escape, this can result in all pool subscriptions being wiped on update. null or "undefined" could be used instead. The former will throw errors on selecting the pool on the list (null has no "url" property), the latter will simply cause 404s (/data/preview/undefined not found).

Updated by anonymous

EsalRider said:
Apparently, if the pool subscriptions contain an invalid escape (like \'), an update can actually PURGE any and all pool subscriptions! I don't know the exact reasons or if it happens all the time, but it does happen. So here's a message for everyone reading this: If you haven't done it already, MAKE A BACKUP of your subscriptions!

Thank you very much! :D

The unnecessary escaping was due to using eval in previous versions, which needed escaping of all possible quotes. Since the change to JSON.parse, I didn't notice that the old escaping method wasn't compatible with it, thus why the bugs. It should be consistent after some time, but if the problem still persists, please PM me your exported data and, as EsalRider, I'll clean it up for you.

Also, it may happen that some pool subscriptions don't have thumbnail data. Unfortunately, "thumb":undefined is invalid and it will cause an unexpected token u error. Just like a bad escape, this can result in all pool subscriptions being wiped on update. null or "undefined" could be used instead. The former will throw errors on selecting the pool on the list (null has no "url" property), the latter will simply cause 404s (/data/preview/undefined not found).

Yeah, recently added pool subscriptions have no thumbnail data (they get added after their first check). Thanks for reminding me that it should add the information and fix the url part that seems to be stored as a collection of one item.

Updated by anonymous

I am pretty sure, that I just found a bug:

When you subscribe to a pool and that pool gets deleted,
then whenever the Script trys to check for updates, there will be Error 404.

Updated by anonymous

duefff said:
I am pretty sure, that I just found a bug:

When you subscribe to a pool and that pool gets deleted,
then whenever the Script trys to check for updates, there will be Error 404.

Is that after its first check or before?

Updated by anonymous