not critical, but just fyi... i've had to re-enable the Real CV Calculator on 4 5 6 7 8 9 10 11 separate occasions now. that one keeps disabling itself without even an update occurring.
edit: 6th time was an update. all others were not.
edit2: 11th and last edit - reported on github
Comment has been collapsed.
Incredible script! Most complete and powerful one I've ever seen.
[Feature Request]
Thanks!
Comment has been collapsed.
May 23, 2017 - v6.Beta.3.3
Comment has been collapsed.
Yep, that's the same as "Ignored" right? It will be added in the next version.
Comment has been collapsed.
I don't think the xD is necessary. :P
Yes, just testing it at the moment. I have 3 browsers installed because I do a lot of testing like this.
Pale Moon x64, Firefox x32 (x86 for you purists), and Chrome x64
Comment has been collapsed.
There were certain things I was testing that break in an x32 browser but work in an x64.
Comment has been collapsed.
Just a heads up: the script is most likely going to be discontinued for Greasemonkey in the next update.
Comment has been collapsed.
If it can be modified to work again, I'll just edit it myself, unless you're adding stuff that only tampermonkey has and not greasemonkey.
But I don't know of anything like that.
Comment has been collapsed.
Yep, I plan on adding functions that are exclusive to Tampermonkey, because they make things a lot easier. Tampermonkey's documentation is much richer than Greasemonkey's. Is there any reason why you can't migrate to Tampermonkey? It's a better script manager overall, and already has support for Firefox 57.
Comment has been collapsed.
No, just wasn't aware of a few things. I thought Tampermonkey was Chrome only (it's the only one I have Tampermonkey on anyways).
Looks like I'll only be using your script for testing (no choice) on Firefox.
I'm using Pale Moon instead of Firefox for security reasons.
Comment has been collapsed.
The script might continue to work, but data might be overwritten if you use it in different tabs without reloading, because I'm planning on adding a function from Tampermonkey that keeps data between tabs synced, and Greasemonkey does not have that function yet.
Comment has been collapsed.
Not sure I understand what you're asking. There should be no data loss between tabs the way the script currently is. I meant if I update to Tampermonkey's function, then there will be data loss if you use the script on Greasemonkey.
You should be fine importing your notes (are they from rhSGST?), but beware all your current ones will be replaced. I'm currently working on a better import feature that merges the two data, so maybe wait a bit if you have notes on ESGST.
Comment has been collapsed.
All data, basically. If you open two tabs and save notes to different users in each tab, they should be synced otherwise the notes of one tab will overwrite the notes of the other.
Comment has been collapsed.
why not:
function saveNote(id64, newNote) {
var notes = GM_getValue("notez", null); //more realistically: using existing var
notes[id64] = newNote;
GM_setValue("notez", notes);
}
(plus of course adding it to the existing posts by that user)
is what you plan on using the addValueChangeListener?
Comment has been collapsed.
I'm still confused. That's already what the script does, although I have that function wrapped in a setInterval function because if one tab is currently saving the other has to wait.
addValueChangeListener is what I was looking at, yes, but I don't think I'll be using it anymore.
Comment has been collapsed.
Spose it happens when tabs are real busy with the various scripts, and those then start bitchslapping each other...
Exception { message: "Component returned failure code: 0x…", result: 2147549183, name: "NS_ERROR_UNEXPECTED", filename: "chrome://greasemonkey-modules/conte…", lineNumber: 59, columnNumber: 0, data: null, stack: "GM_ScriptStorageFront.prototype.get…", location: XPCWrappedNative_NoHelper }
Component returned failure code: 0x8000ffff (NS_ERROR_UNEXPECTED) [nsISyncMessageSender.sendSyncMessage]
chrome://greasemonkey-modules/content/storageFront.js
"GM_ScriptStorageFront.prototype.getValue@chrome://greasemonkey-modules/content/storageFront.js:59:15hitch/<@chrome://greasemonkey-modules/content/util/hitch.js:27:12addStyles@file:///C:/my-HDD-stuff/Roaming/Mozilla/Firefox/Profiles/c0vf372d.default/gm_scripts/ESGST/ESGST.user.js:2422:26loadEsgst@file:///C:/my-HDD-stuff/Roaming/Mozilla/Firefox/Profiles/c0vf372d.default/gm_scripts/ESGST/ESGST.user.js:94:5@file:///C:/my-HDD-stuff/Roaming/Mozilla/Firefox/Profiles/c0vf372d.default/gm_scripts/ESGST/ESGST.user.js:76:5evalWithWrapper@chrome://greasemonkey-modules/content/sandbox.js:191:7evalWithCatch@chrome://greasemonkey-modules/content/sandbox.js:215:7runScriptInSandbox@chrome://greasemonkey-modules/content/sandbox.js:230:3injectScripts@chrome://greasemonkey/content/framescript.js:119:5runScripts@chrome://greasemonkey/content/framescript.js:149:3contentLoad@chrome://greasemonkey/content/framescript.js:72:3waitForSyncCallback@resource://services-common/async.js:98:7makeSpinningCallback/callback.wait@resource://services-common/async.js:168:27promiseSpinningly@resource://services-common/async.js:234:12get changedIDs@resource://services-sync/engines.js:98:5_saveChangedID@resource://services-sync/engines.js:139:5addChangedID@resource://services-sync/engines.js:160:7notifyEvent@chrome://greasemonkey-modules/content/sync.js:229:11Config.prototype._notifyObservers@chrome://greasemonkey/content/config.js:47:5Config.prototype._changed@chrome://greasemonkey/content/config.js:56:3Script.prototype._changed@chrome://greasemonkey-modules/content/script.js:91:3GM_ScriptStorageBack.prototype.setValue@chrome://greasemonkey-modules/content/storageBack.js:83:3service.prototype.handleScriptValMsg@jar:file:///C:/my-HDD-stuff/Roaming/Mozilla/Firefox/Profiles/c0vf372d.default/extensions/%7Be4a8a97b-f2ed-450b-b12d-ee082ba24781%7D.xpi!/components/greasemonkey.js:243:12GM_ScriptStorageFront.prototype.setValue@chrome://greasemonkey-modules/content/storageFront.js:52:3hitch/<@chrome://greasemonkey-modules/content/util/hitch.js:27:12@file:///C:/my-HDD-stuff/Roaming/Mozilla/Firefox/Profiles/c0vf372d.default/gm_scripts/Steam_Store_-_Game_Owned_Checker/Steam_Store_-_Game_Owned_Checker.user.js:53:5evalWithWrapper@chrome://greasemonkey-modules/content/sandbox.js:191:7evalWithCatch@chrome://greasemonkey-modules/content/sandbox.js:215:7runScriptInSandbox@chrome://greasemonkey-modules/content/sandbox.js:230:3injectScripts@chrome://greasemonkey/content/framescript.js:119:5runScripts@chrome://greasemonkey/content/framescript.js:149:3contentLoad/<@chrome://greasemonkey/content/framescript.js:73:32observe@chrome://greasemonkey-modules/content/util/timeout.js:17:7fileXhr@chrome://greasemonkey-modules/content/util/fileXhr.js:20:3loadFile@chrome://greasemonkey-modules/content/util/loadFile.js:63:10getScriptSource@chrome://greasemonkey-modules/content/sandbox.js:159:17getMeta@chrome://greasemonkey-modules/content/sandbox.js:168:26SgApi.Util</this.scriptInfo@file:///C:/my-HDD-stuff/Roaming/Mozilla/Firefox/Profiles/c0vf372d.default/gm_scripts/SG_Add_IsThereAnyDeal_Data/sgapi.js:696:5SgApi.Util</this.requireDeclaredStyles@file:///C:/my-HDD-stuff/Roaming/Mozilla/Firefox/Profiles/c0vf372d.default/gm_scripts/SG_Add_IsThereAnyDeal_Data/sgapi.js:538:5main@file:///C:/my-HDD-stuff/Roaming/Mozilla/Firefox/Profiles/c0vf372d.default/gm_scripts/SG_Add_IsThereAnyDeal_Data/sg_add_isthereanydeal_data.user.js:32:9@file:///C:/my-HDD-stuff/Roaming/Mozilla/Firefox/Profiles/c0vf372d.default/gm_scripts/SG_Add_IsThereAnyDeal_Data/sg_add_isthereanydeal_data.user.js:147:5@file:///C:/my-HDD-stuff/Roaming/Mozilla/Firefox/Profiles/c0vf372d.default/gm_scripts/SG_Add_IsThereAnyDeal_Data/sg_add_isthereanydeal_data.user.js:20:2evalWithWrapper@chrome://greasemonkey-modules/content/sandbox.js:191:7evalWithCatch@chrome://greasemonkey-modules/content/sandbox.js:215:7runScriptInSandbox@chrome://greasemonkey-modules/content/sandbox.js:230:3injectScripts@chrome://greasemonkey/content/framescript.js:119:5runScripts@chrome://greasemonkey/content/framescript.js:149:3contentLoad@chrome://greasemonkey/content/framescript.js:72:3"
Comment has been collapsed.
Doing a sync with entry remover enabled appears to hang on " Syncing your owned games..." the eggtimer is still spinning 45 mins later.
Comment has been collapsed.
Trying out new Game Categories feature and seems like there something wrong: I can see only few random type of categories on a random GAs. I'm using Chrome, other scripts was disabled before testing. Also, I remember similar bug on Steam Ratings script, where problem was that I'm using steam store on russian language, maybe it helps.
And I want ask to add "Early Access" game category, that would be great. :D
Comment has been collapsed.
Yep, and now it says:
You synced the bundle list in less than a week ago. You can sync only once per week.
So, I assume, it's not the case.
Edit: I pretty sure, it's due to russian language, because "Steam Cloud" category seems to work on all GAs and it's only one that not contains cyrillic symbols in rus steam store.
Comment has been collapsed.
What version are you on? Are there errors in the console?
Comment has been collapsed.
I downloaded Your script just today. But this time when I restart browser I get message, that everything is in sync. Before browser reset I tryied to change some settings with cookies, but I don't know, if sync sucess was cookie releted.
Anyway thanks for help. :)
Comment has been collapsed.
I get "1 ESGST features failed to load: Exclusive Giveaway. Check the console for more info." upon loading the messages page.
Console log output.
TypeError: Cannot read property 'getElementsByClassName' of null
at getExclusiveGiveaways (eval at E_c (:3:221), <anonymous>:3786:57)
at Object.loadExclusiveGiveaways [as load] (eval at E_c (:3:221), <anonymous>:3772:5)
at loadFeatures (eval at E_c (:3:221), <anonymous>:1215:29)
at loadEsgst (eval at E_c (:3:221), <anonymous>:1135:5)
at Window.tms_4ea7d302_35e9_466c_89ad_0ac605d25aff (eval at E_c (:3:221), <anonymous>:18393:5)
at <anonymous>:2:398
at eg (eval at E_c (:3:221), <anonymous>:3:1)
at eval (eval at E_c (:3:221), <anonymous>:4:3)
at Object.eval (eval at E_c (:3:221), <anonymous>:18410:6)
at <anonymous>:2:398
Comment has been collapsed.
Would it be possible for you to link the comment that is causing it? I can't replicate the issue here.
Comment has been collapsed.
I'm not being triggered by it, so I'm not sure why it is for you guys.
Comment has been collapsed.
Oh I think I know why now. It's when someone replies to one of your messages that has a star, because that comment gets quoted in the inbox. I'm not getting it because I haven't made any exclusive giveaways. I know what the problem is, will fix it in the next version.
Comment has been collapsed.
Yeah, is it a known conflict?
Edit: Ahh, I can see how this can be a conflict if the icons are also being replaced. I suppose this assumes that the first 3 icons are Created GAs, Won GAs and Messages respectively and overwrites the first 3 icons according to the states of those 3 pages?
Comment has been collapsed.
Yep, change the execution order (make SG Bookmarks run after ESGST). I'll add a proper fix for this later.
Comment has been collapsed.
Your assumption is right. By making SG Bookmarks run after ESGST, it will get the first 3 icons correctly and then SG Bookmarks will insert its icon. I'll add a fix later that gets the icons based on their image instead of their position to avoid this.
Comment has been collapsed.
Me too. They probably disabled automatic updates and forgot to check back, even though the thread has been bumped several times in the past 2 months. Or they just didn't want to update, I don't know.
Comment has been collapsed.
I don't think so. My personal theory is that there are two kinds of users.
BFUs who just install tampermonkey/greasemonkey, the script and they don't care about anything else. These user's don't disable updates because they really don't care about advanced things such as settings or updates.
Advanced users who know about settings and how to disable updates but these users would never disabled updates because they know that updates are important.
I thing the problem may be something technical. Maybe it is related to the renaming the script or something browser related. I think it because I opened Vivaldi browser yesterday (after a time, it's not my main primary browser) and didn't see the new features of ESGST. I forced Tampermonkey to update scripts manually and after it updated. The scripts stopped to work. I looked to the list of installed scripts and I found there two version of the script - one with the old name and the other with the new name. I uninstalled the old one and It worked... until another script update. And one more update fixed it.
So it seems Tampermonkey in some browsers can be bugged somehow (because it didn't update scripts for a long time although I never disabled the automatic updates), scripts working in Google Chrome doesn't have to work in some other browsers and renaming scripts or changing it's path can be very problematic too.
Comment has been collapsed.
If it's technical, it's not because of Tampermonkey. The script has changed @name from v4 to v5 and @namespace sometime after that. @name and @namespace are the unique identifiers of a script, so anyone updating from the old @name and @namespace would have two different scripts and it wouldn't automatically update. I think I mentioned that somewhere in this thread, but I'll add it to the OP to make it more visible.
So basically anyone who is using a version that has @name and @namespace different than ESGST should either:
Comment has been collapsed.
Most 'advanced' users disabled automatic updates on things to avoid the possibility of something they use breaking out of nowhere. They update only when they feel there's a good reason to. Casual users just leave everything to default for their OS/apps because they don't really understand the benefits of changing most settings, and/or they assume newer always equals better.
It just seems to me that the recent changes to ESGST appeal to more people then the ones from v5. I personally updated because of the recent changes to the SG blacklist system, and errors rhSGST was having due to it (as well as hoping for improvements to the whitelist checker, but no luck on that front), plus the new hidden giveaways feature.
Comment has been collapsed.
I think the advanced users would downgrade the version if there are were some problems with the newest version. It's much simpler than to check it manually if there is a new version and if there is one then install it manually. But even with the manual update the potential issues can occur if so it wouldn't help, anyway.
Comment has been collapsed.
What improvements were you hoping for the checker?
Comment has been collapsed.
They probably disabled automatic updates and forgot to check back, even though the thread has been bumped several times in the past 2 months. Or they just didn't want to update, I don't know.
You know how companies disable auto-updates so that Things don't break? Yeah. lol. I didn't want updates to happen without me there to back up things.
When it got bumped, I figured that people just had questions. :P
Comment has been collapsed.
I understand disabling automatic updates, although the version of the script is in the title of the thread, so when it got bumped you could just see if the version changed in the title. :P
Comment has been collapsed.
May 25, 2017 - v6.Beta.3.4
Comment has been collapsed.
Minor cosmetic suggestion,
less colorful button-bar, more relaxed posting 😉
.CFHPanel > span:hover {
color: #324862;
background: rgba(255,255,255,1);
border: 1px solid #d2d6e0;
}
.CFHPanel > span {
background: none;
border: 1px solid #f0f2f5;
border-radius: 2px;
color: #bdbdbd;
}
Comment has been collapsed.
I'm trying to update, but Chrome keep saying: Apps, Extensions and scripts cannot be added from this website.
Comment has been collapsed.
What is your current @name, @namespace and @version?
Comment has been collapsed.
I'm not quite sure where [Or how] to find @name and @namespace, but @version is 5.3.3
Comment has been collapsed.
Oh good, you're not on v4. Are you trying to update from this thread? Try from GitHub.
Comment has been collapsed.
You mean on the Utilities menu? Tried with the url and the file: Same problem with url; and with the file, Tampermonkey says he's "Unable to parse this"
Comment has been collapsed.
he means to download the .js as a file, open it up inside a text editor, select all & copy, then go over to the tampermonkey (similar to my gif below) and select all in your script and paste in the new script into there manually (overwriting it), then save.
tips:
ctrl+a = select all
ctrl+c = copy
ctrl+v = paste
ctrl+s = save
edit:
TO ANYBODY ELSE READING THIS: i do not recommend doing this unless specified by revil/rafael to do so, however if you're going to try it anyways then at least backup your data first.
Comment has been collapsed.
Comment has been collapsed.
Did you have notes/tags saved to any user? Are they still appearing?
Comment has been collapsed.
Never used tags or notes, but my caches are there.
Also, the script never detect if I'm in a blacklist or whitelist, just says
You are not blacklisted and there is not enough information to know if you are whitelisted
or
There is not enough information to know if you are whitelisted or blacklisted
even if I try to check someone who I know whitelisted me. It's something in need to be configured?
Comment has been collapsed.
The user who you know has whitelisted you, have they ever made a whitelist giveaway or they just told you they whitelisted you? Can you try enabling "Clear cache." while checking an user and see if the result changes? Remember to disable "Clear cache." after testing. You should not leave that on.
Comment has been collapsed.
Made a giveaway. Tried the clear cache thing, still the
You are not blacklisted and there is not enough information to know if you are whitelisted
message
Comment has been collapsed.
Ok, but is that option enabled in the checker? Otherwise it won't return any whitelist results.
Comment has been collapsed.
When you don't check for blacklists, this option doesn't even appears
Comment has been collapsed.
Oh, you have "Show blacklist information." disabled? Then it will never tell you if you're blacklisted. But it should tell you if you're whitelisted, I'll see if I can find the issue.
Comment has been collapsed.
There's no such feature currently, but I'll work on it.
Yeah, I have no intention on making themes (mainly because I suck at choosing colors - you can just look at the Game Categories default colors, it's a disaster). :P
Comment has been collapsed.
You were right, tweaking the settings got rid of all my problems that I had. :)
One function that I miss from ambidot's old "SG Mark Threads as Read" script, is to sort threads by their date of creation. Please consider adding this feature, I'm missing this a lot.
Comment has been collapsed.
I am afraid it is not possible because because each page contains a specific amount of threads and the script cannot move a thread from a page to another. If it was whole just one page, it would be possible, but it is not like that. It would be possible just order it at the same page as it is originally. I haven't seen Ambidot's implementation of the feature, though.
Comment has been collapsed.
I'm not sure what would need to explained. ambidot's script sorted the 100 threads on the loaded forum page and that's all I'm looking for. If I should need to know about more threads, it's not really such a big issue to load further pages with the next 100 threads and sort them too.
Comment has been collapsed.
Let's imagine this forum:
Page 1
Page 2
You could sort it like this and I suppose Ambidot does this:
Page 1
Page 2
But it is not possible to sort it like this:
Page 1
Page 2
If you mean the second example, then yes, it could be done, the third one not - unfortunately.
Comment has been collapsed.
Yes, I do know that newer threads will be posted on further pages, because others got recently updated. And I do know that they would miss, because the script would only sort the displayed threads on the loaded page.
You really seem to struggle with the idea that I knew exactly what is technically possible, even before you mentioned it, and that I'm absolutely satisfied with it. :-D
Comment has been collapsed.
so I installed this the other day and just left chrome running. I exit out of chrome today with everything working a few hours ago got back home and reopened chrome and nothing is working.
Edit: Exited chrome and reopened it a few times and it started working again
Comment has been collapsed.
when "endless scroll" is enabled there's always navigation panel under the header. Is there any way to hide it?
Comment has been collapsed.
Fixed Main Page Heading is automatically enabled by Endless Scrolling as it makes navigation between pages easier and contains the "Refresh" and "Pause" buttons that should be visible at all times. Is it bothering you that much?
Comment has been collapsed.
As long as this is intended behaviour, it's not a big deal at all. I just thought it's some kind of a bug.
Comment has been collapsed.
Just me or do the exclusive giveaways no longer show with 6.Beta.3.5?
Comment has been collapsed.
I don't see either. Checked three threads where I know there are some.
Comment has been collapsed.
Chrome. I don't see any errors unless I use the link in your ticket.
Comment has been collapsed.
the star should be at the top at all times that there is an active giveaway. it's supposed to auto-hide giveaways that have already ended so they wont disturb people by seeing ended giveaways. but the introduction of the 'auto-hiding ended GAs' had this unintended error / side effect.
edit: wait.. main page as in the main giveaway page? or main meaning page1 of a discussion?
it's not supposed to be on the main main pages at all afaik.
Comment has been collapsed.
I meant https://www.steamgifts.com. It would be nice to see it there all times but I saw it just sometimes. Maybe 5 % of overal time.
Comment has been collapsed.
the active discussions doesn't load the description to see the identifying [](ESGST-73-66-37-32-53) code. it might work if someone added that code to the title, but the title won't hide it like a description would.
edit: i'm by no means doubting it bugged out and still showed up somehow though, but to purposely allow for that i can't think of a reasonable way beyond a spreadsheet/database submit style. the bot or scans of comments isn't feasible.
Comment has been collapsed.
i may have not been clear, the user would see the star with only the giveaways from threads he/she entered, as those would be the only ones the script knows.
i agree with you that that it wouldn't be a good idea if the database were to contain any giveaways from a thread the user didn't enter
Comment has been collapsed.
no i understand that, but with a database in place at all, that forces users to use the script in order to see said giveaways. as it is now, there is a way it can be done without the script. if we start treading into forced script usages, then we'd be teetering along some rules so much i'm not sure which way the teeter would even fall.
Comment has been collapsed.
I don't think it forces anyone to use the script, as the links would work just as they do now so people could still find them manually, I'm only advocating adding a local "database" with the giveaways each user has seen(mine would have the ones i saw in my db, yours the ones you saw and so on) so that the star can be seen from any page stead of only showing in the page with the giveaway. I would also include a link to the comment where the giveaway was detected but not necessary to the feature being requested.
if you did understand it as being what I just said in this comment than i don't understand why that would be a problem
(english isn't my first language so sorry if I'm not entirely clear)
Comment has been collapsed.
They should not be deleted from the database, otherwise the script will attempt to load them again the next time. If you really wish for an option to remove a giveaway that you no longer want listed, I can see if I can implement some type of hiding function, but all ended giveaways get removed, so wouldn't it be better to just wait? And fake giveaways aren't shown, the script checks if there is a giveaway and if it is currently running.
Comment has been collapsed.
Yep, that's what's already done. A global database should also be possible by storing it on Google Sheets, but I don't know if it would handle the requests. I use a Google Sheet to store the Username History database, but the traffic is way smaller.
Comment has been collapsed.
All decrypted giveaways (that have been seen by you) are stored already. I'll make the button appear on every page later.
Comment has been collapsed.
I have no idea how that would be possible. What happened when you clicked it?
Comment has been collapsed.
18 Comments - Last post 26 minutes ago by LighteningOne
1,774 Comments - Last post 28 minutes ago by Almostn33t
28 Comments - Last post 34 minutes ago by DiabLXIX
52 Comments - Last post 1 hour ago by BlazeHaze
6 Comments - Last post 1 hour ago by Warriot
24 Comments - Last post 2 hours ago by Fluffster
70 Comments - Last post 3 hours ago by Reidor
34 Comments - Last post 1 minute ago by mourinhos86
687 Comments - Last post 5 minutes ago by Fitz10024
3,359 Comments - Last post 17 minutes ago by NekroNoob
4 Comments - Last post 22 minutes ago by Axelflox
111 Comments - Last post 26 minutes ago by mourinhos86
716 Comments - Last post 29 minutes ago by bitsandcrafts
102 Comments - Last post 38 minutes ago by iracional88
Enhanced SteamGifts & SteamTrades (ESGST)
An extension / userscript that adds some cool features to SteamGifts and SteamTrades.
If you find any bugs or have any feature requests, please file an issue here.
Compatibility
Tested and confirmed as working:
Not tested but should be working:
Not supported:
Installation
There are two different ways to use ESGST: extension or userscript. You can choose which one you want to use, but the extension is a lot faster and has a better peformance than the userscript, so I recommend it, although there is no major difference between them, except for a few options that are only available in the extension because of limitations in the userscript.
Option 1 - Extension
It should be possible to install the extension in any Chromium-based browser from the Chrome store (such as Opera, Vivaldi, etc...), any Firefox-based browser from the Firefox store (such as Waterfox, etc...), and any browser that uses the Phoebus system from the Pale Moon store (such as Basilik, etc...).
You can also use the extension on Android through Firefox for Android, but some features might not work or not be optimized enough for mobile.
Option 2 - Userscript
To install the userscript, you must install Violentmonkey, Tampermonkey, Greasemonkey or some other userscript manager first. Then click here and you should be prompted to install it. I recommend Violentmonkey or Tampermonkey, because the userscript uses the GM_addValueChangeListener API to communicate changes in the storage between tabs, and that API is not available on Greasemonkey, so a polyfill is used for Greasemonkey, which is not very effective and can affect the performance.
You can also use the userscript on Android through Firefox with Violentmonkey or USI, but some features might not work or not be optimized enough for mobile.
Beta Versions
The latest beta version for both the extension and the userscript is always available in the latest pre-release in the releases page.
Comment has been collapsed.