ParticleCore / Iridium

Iridium is an extension built to improve your YouTube experience
Other
1.32k stars 139 forks source link

[Update] Iridium is now a Firefox only extension #737

Closed ParticleCore closed 4 years ago

ParticleCore commented 5 years ago

Some of you might not have noticed (insert the biggest sarcasm face here) but I haven't been able to maintain this extension for a while and this is a choice I made as a result of no longer having enough free time as I did once before.

However, I never gave up on this extension and have recently been slowly (OK, maybe EXTREMELY slowly) experimenting better ways to keep this easier for me to keep developing and maintaining and I've reached a decision that will leave a lot of users upset - me included - but it's a change that has to be done as a result of my very limited to non-existent free time.

The extension will become a Firefox webextension only in the next version, this means no more userscripts and no more Chrome extension. Not because I want to exclude those platforms, but because they lack a very important extension API that only Firefox has at the moment, that api being filterResponseData.

What this API allows is the modification of any resource before it is loaded in the user's browser. This has a huge advantage over what I've been doing so far because unlike my past methods I no longer have to rely on finding "holes" in the YouTube source code in order to manipulate the page navigation, player behavior, etc. With this API I can easily modify the source code directly in any way I desire which cuts down a lot of headache and time spent with the previous method (there were times where it would take me one month just to make one feature work again).

Unfortunately this API only exists in Firefox. Chrome never adopted it - I believe they tried but it's very buggy and has been left forgotten since their first attempt - and userscript managers would need to expand or implement this permission in their framework. I'm going to request them to implement this, I know Tampermonkey is already trialing webRequest, which the API I need is a subset of, so it might be possible in the future to extend support to userscript as well, but no promises since it depends entirely on the developers' decision.

I've been focusing on the bad news mostly so far to get those out of the way, so now is time for the good news.

I plan to jump the major version to 1 and restart the rest, so this change will be released on version 1.0.0 and I'm going to leave the major version 0 just for any-scenario sake such as backporting something to previous versions, if it ever happens.

I thought I had more to write, but I've been staring at this draft for more than 10 minutes and I can't recall anything else. I'll probably remember after posting as usual, but if that's the case I'll update this with the relevant information.

As always I am very sorry that it has been taking this long, but as I always explained I couldn't put this over my professional life unless this was a reliable source of income. I thank everyone that has been sticking around - even though the extension barely works - and more importantly to those that have been trying to help other users in this repository.

SolveAllProblemsRightNow commented 5 years ago

hey i've long uninstalled this buggy thing

please feel free to just cancel it. i'll be very happy. i once wrote a long list of the duplicate & outdated things that this extension does, and nothing was ever fixed

that was long before this point: https://github.com/ParticleCore/Iridium/issues/570

was doing some github issues cleanout, and i guess perfect timing for https://github.com/ParticleCore/Iridium

ParticleCore commented 5 years ago

hey i've long uninstalled this buggy thing

please feel free to just cancel it. i'll be very happy. i once wrote a long list of the duplicate & outdated things that this extension does, and nothing was ever fixed

that was long before this point: #570

was doing some github issues cleanout, and i guess perfect timing for https://github.com/ParticleCore/Iridium

I apologize if you feel that way. I checked what you were referring to and all I could see was the following in your only opened issue #570:

video does not play automatically when that option is turned on in settings, how troubleshoot?

You've recently removed that from your issue and I still cannot find the list you mentioned.

The development of the extension (including bug fixes) has been on hold for quite some time, it wasn't for the lack of wanting to fix things, but there are surely working alternatives that would suit you best, you would do right to uninstall this one if it is not meeting your expectations.

sersorrel commented 5 years ago

The extension will become a Firefox webextension only in the next version, this means no more userscripts and no more Chrome extension.

That's fair enough. Since some features of the extension still work fine, will the current version continue to be available on the Chrome Webstore?

ParticleCore commented 5 years ago

The extension will become a Firefox webextension only in the next version, this means no more userscripts and no more Chrome extension.

That's fair enough. Since some features of the extension still work fine, will the current version continue to be available on the Chrome Webstore?

The current versions that are available will not be removed, they will remain as they are, the only change will be done on the Firefox WebExtension that will upgrade to version 1.0.0 with these new changes when they become available.

wrested commented 5 years ago

Hey thank you very much for the work you put in on Iridium while it was around. It was easily the best YouTube tweak I've ever used and I'm still using the features that still work today. It will be missed! (created an account here just to let you know btw)

Good luck with the Firefox fork. I've been meaning to give that browser a try again to see how it's changed in the 10 years since I've had it installed and I'll make sure to give Iridium a shot when I do.

Corruptinglyneedful commented 5 years ago

Does this mean I can switch back to Iridium and away from Enhancer for Youtube? Iridium had a ton of features that I enjoyed and EFY just doesn't, sadly. I did not wish to swap but after auto play broke and other various little things piled up along with extension development placed on hold; I just had no choice.

As for it going Firefox Web extension only, doesn't really affect me. I'm an avid Firefox user and always have been. (I'm not a fan of all the changes they are doing though)

Thank you for the work you do on Iridium so it makes my pointless browsing on Youtube a better experience.

ParticleCore commented 5 years ago

Does this mean I can switch back to Iridium and away from Enhancer for Youtube? Iridium had a ton of features that I enjoyed and EFY just doesn't, sadly. I did not wish to swap but after auto play broke and other various little things piled up along with extension development placed on hold; I just had no choice.

As for it going Firefox Web extension only, doesn't really affect me. I'm an avid Firefox user and always have been. (I'm not a fan of all the changes they are doing though)

Thank you for the work you do on Iridium so it makes my pointless browsing on Youtube a better experience.

I'm not going to say to stop using an extension developed by others. What I plan to do is to bring back most - if not all - of the features and add a few more now that I will be focusing on one platform only. The autoplay is already done, it has always been my most favorite feature and the biggest headache as well, but because I'm using this new method it took me 30m to get it working flawlessly.

Don't get me wrong, this version will take time to be released, I'm still considering releasing each version with every feature I manage to complete as to not leave users hanging longer than they already have.

Corruptinglyneedful commented 5 years ago

How will we know when the new version is out? Where do we get it from?

ParticleCore commented 5 years ago

How will we know when the new version is out? Where do we get it from?

Same way as before: https://github.com/ParticleCore/Iridium/wiki/Download

The extension will update itself automatically unless there are new permissions - which will be the case - then the user will have to approve the installation with the new permissions, this is a process the browser will present to the user.

Corruptinglyneedful commented 5 years ago

How will we know when the new version is out? Where do we get it from?

Same way as before: https://github.com/ParticleCore/Iridium/wiki/Download

The extension will update itself automatically unless there are new permissions - which will be the case - then the user will have to approve the installation with the new permissions, this is a process the browser will present to the user.

I have Firefox 69, which download link do I want there? I see AMO Store and Add-On as listed options for Firefox.

ParticleCore commented 5 years ago

How will we know when the new version is out? Where do we get it from?

Same way as before: https://github.com/ParticleCore/Iridium/wiki/Download The extension will update itself automatically unless there are new permissions - which will be the case - then the user will have to approve the installation with the new permissions, this is a process the browser will present to the user.

I have Firefox 69, which download link do I want there? I see AMO Store and Add-On as listed options for Firefox.

That's entirely up to you, they are exactly the same feature wise.

Corruptinglyneedful commented 5 years ago

So it's just a mirror?

dominateeye commented 5 years ago

Do you know if Vivaldi or any other Chromium-based independent browsers support filterResponseData or webRequest? If so, could new Iridium still work on them? I soured on Firefox after they implemented that DRM thing that the WWW Consortium was pushing a few years back, and Vivaldi has a lot of features I really like, so I'd prefer not to have to switch browsers if I don't have to.

ParticleCore commented 5 years ago

So it's just a mirror?

Correct, one is hosted on AMO and the other is hosted here in this repository.

Do you know if Vivaldi or any other Chromium-based independent browsers support filterResponseData or webRequest? If so, could new Iridium still work on them? I soured on Firefox after they implemented that DRM thing that the WWW Consortium was pushing a few years back, and Vivaldi has a lot of features I really like, so I'd prefer not to have to switch browsers if I don't have to.

The link I posted shows that only Firefox supports this API at the moment. Unless Chrome adopts the same API no other Chromium based browser will support that API.

wadawada commented 5 years ago

Thanks for the update I had been struggling using the script as it lacks maintenance and started breaking apart on chrome . I finally found an alternative few days ago. Although I quite like tags function on Firefox, I still can't convenience myself to use Firefox as my major browser. However, I look forward to seeing how new Iridium will work on Firefox (maybe with new features?)

ghost commented 5 years ago

Posted report to bugs.chromium.org: image

ganego commented 5 years ago

Well kinda sucks because I use Waterfox (which does not have the API), but I see your reasoning. Good luck and thank you for updating it.

ghost commented 5 years ago

@ganego it turns out that there was a report already made for adding support for this but they have no plans on adding it. This is very frustrating tbh. Google has all this time to implement more bloat and features such as sync but they can't add one simple thing like this? I swear though recent decisions google has made is really pushing me closer and closer to installing firefox.

Dio141 commented 5 years ago

great to hear this. Came back to FF since Quantum, and loving my time with it, more so when webrender launched. it was also necessary for me to migrate to another extension, but i miss various functions only Iridium had, so i'm excited for its return.

Ferm93 commented 5 years ago

Great to hear you found a way to keep updating the extension and did not have to just drop it. Can't wait for future updates!

Thank you for your hard work man

ImprovedTube commented 5 years ago

We can collaborate

BobbyWibowo commented 5 years ago

Yay, no autoplay is back! 💃🕺

ParticleCore commented 5 years ago

Yay, no autoplay is back! dancerman_dancing

It's already working, but it is a very very buggy version, however anyone can try it out already from branch 1.0.0 https://github.com/ParticleCore/Iridium/tree/1.0.0

ParticleCore commented 5 years ago

Please don't use this issue and repository to publicize other extensions

ghost commented 5 years ago

@ParticleCore Just trying to help people out.

Corruptinglyneedful commented 5 years ago

@thepcwiz101 Did you link to it?

ghost commented 5 years ago

@Corruptinglyneedful Nope i purposely just gave the extension name and the dev forgot one of the names the extension went by on firefox but i deleted the comment regardless. I posted that comment to help people just in case @ParticleCore doesn't get any time to fix the issues.

Corruptinglyneedful commented 5 years ago

Mmm, I don't see an issue as long as you don't link to it but that's just my two cents.

@ParticleCore Has there been any updates to the extension since I downloaded it in our last conversation?

BobbyWibowo commented 5 years ago

It's already working, but it is a very very buggy version, however anyone can try it out already from branch 1.0.0 https://github.com/ParticleCore/Iridium/tree/1.0.0

Aye aye captain! I was actually already using it before I sent the comment, lul I only noticed sometimes HQ thumb didn't work on my end

ghost commented 5 years ago

@Corruptinglyneedful i probably should have just said in my comment: "If you have any problems and the dev can't fix it for a little while then lookup an extension that blocks autoplay on websites." It can be used alongside iridium so it really isn't bringing people away from using his extension lol. It's really just a workaround.

BobbyWibowo commented 5 years ago

@Corruptinglyneedful Just look out at the 1.0.0 branch. It's on dev so I don't think he will bother sign the extension everytime he pushes a commit, so you will have to clone the branch and build/sign it yourself with web-ext (at least that's what I did)

There aren't really that much in it for now tho, but no autoplay is in it. And it's a proper no autoplay, as in it actually prevents the video element from loading & buffering in the background.

ParticleCore commented 5 years ago

@BobbyWibowo Autoplay is in it already, open the Iridium settings and turn it off.

ss1

BobbyWibowo commented 5 years ago

@ParticleCore I said no autoplay, cause that's what I want it to do, not autoplaying 😂 It's basically just my way of phrasing when "Play videos automatically" is unticked And I mentioned it being proper cause other solutions tend to just pause the video while still letting it to buffer

ParticleCore commented 5 years ago

@ParticleCore I said no autoplay, cause that's what I want it to do, not autoplaying joy It's basically just my way of phrasing when "Play videos automatically" is unticked And I mentioned it being proper cause other solutions tend to just pause the video while still letting it to buffer

I get it now, it was so confusing at first. Yeah, it's working quite nicely again FINALLY. I'm gonna focus on organizing the base code structure so I can move on to adding more features and also add a autoplay button on the page for easier access.

ParticleCore commented 5 years ago

It's already working, but it is a very very buggy version, however anyone can try it out already from branch 1.0.0 https://github.com/ParticleCore/Iridium/tree/1.0.0

Aye aye captain! I was actually already using it before I sent the comment, lul I only noticed sometimes HQ thumb didn't work on my end

Also the HQ thumbnail should be working all the times, except when there isn't one available, then it shows the grey 3 dots default thumbnail. Not much I can do about that right now.

BobbyWibowo commented 5 years ago

Also the HQ thumbnail should be working all the times, except when there isn't one available, then it shows the grey 3 dots default thumbnail. Not much I can do about that right now.

Yeah, it was showing the three dots thingy on some videos yesterday. Probably one of those non-HD videos? Not sure, I wasn't really paying attention. Though I always believed maxresdefault thumb would always be filled with something, regardless of whether the videos were HD or not (cause like, by the name, I'd assumed it'd just fill it with the highest res of thumbs available).

Also would love to see the option to enforce video quality again 👍

Corruptinglyneedful commented 5 years ago

Yah idk how to do that. I'm a simple user.

BobbyWibowo commented 5 years ago

Yeah, that's fair. Just gotta be a bit more patient I suppose then? I mean heck, we've waited for almost a year, what's a few more days/weeks, lul

Anyway, if you feel comfortable for a bit of manual tinkering, you can also simply load the /src/Webextension directory as a temporary add-on by following the instructions here: https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/Temporary_Installation_in_Firefox. Don't forget to download/clone the 1.0.0 branch somewhere first.

But this method will only make the extension stay during that session. As in, once you close Firefox, you'll have to re-do the steps again.


You will only need to sign it with web-ext, if you want it to install normally on a regular Firefox edition, and will stay even after you've restarted the browser. It's documented here, if you're still interested: https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/Getting_started_with_web-ext.

It may end up being more work than worth if you haven't used the tool before, or if you don't really plan on delving any further into making Firefox's extensions, so I don't really recommend it.

I personally don't think it's much of an extra work for Particle to upload a signed test build every once in a while, but it still IS some extra work, so I won't comment further (considering it's still a WIP anyway).

Corruptinglyneedful commented 5 years ago

Hey thanks for that information. Nope, got no interest in developing my own extensions, but the information could come in handy for the future or for others.

ng4ever commented 5 years ago

Thanks for keeping with this add-on! Greatly appreciated! Plan on donating!

So far so good!

ghost commented 4 years ago

Since the userscript will no longer be developed the "userscript" tag should be removed.

ParticleCore commented 4 years ago

@thepcwiz101 Correct, but not before the refactored version is out. I'll do a total clean-up by then

ghost commented 4 years ago

@ParticleCore oh ok lol

Onurtag commented 4 years ago

Glad to see you are back.
With the api you mentioned we might finally be able to get #705 done without using bandaid fixes.

ParticleCore commented 4 years ago

@Onurtag Totally possible since I can change the source code to remove the loudness equalization algorithm use completely

erkinalp commented 4 years ago

Chrome never adopted it - I believe they tried but it's very buggy and has been left forgotten since their first attempt -

They never tried. This API is not included in Chrome as it faciliates adblocking.

TheDoctor40 commented 4 years ago

Dang. I'm glad that at least the already existing version will remain working on Chrome. One thing I don't like as much is that suddenly my Firefox version is severely stripped of it's functions. I'd much rather have the old version untill the new one is ready instead of having the new version right now. Luckily you can install older versions using the Firefox Add-ons store so I'll just do that and turn off auto-update for Iridium untill it has more features which I use. Looking forward to the new version when it's further progressed!

BobbyWibowo commented 4 years ago

@TheDoctor40 If you have a userscript manager (e.i. Tampermonkey or Greasemonkey), you can still use the userscript version alongside the new Firefox extension.

https://github.com/ParticleCore/Iridium/raw/37d27616cbfb70b0296b9a16d41ff31986d58575/src/Userscript/Iridium.user.js

That's the latest userscript from commit https://github.com/ParticleCore/Iridium/commit/37d27616cbfb70b0296b9a16d41ff31986d58575 (0.2.5).

I'm on Firefox and have always been using both at the same time.

The userscript's "Video stays always visible while scrolling" and "Default video quality" are still working, and I can't really go without them yet. While the new extension will properly handle disabling autoplay & max res thumbnails.

Acid-Crash commented 4 years ago

Hi @ParticleCore. Wanted to give you thumbs up for the announcement. Waiting for all future updates! Also I'm really sad for all the negative a hate from some users that don't bother to read the announcement before firing a new ticket-bugreport with "WTF, it is broken after the update". Guess some people will never learn...

JordyValentine commented 4 years ago

I completely understand why you are updating and taking advantage of the API rather than hooking in as you've done previously. My only suggestion is that maybe this latest version could have been released as a beta, I feel like that would have avoided a lot of the backlash.

Personally the old version has worked fine for me, so I'll stick with that until the new one is a bit more feature complete, I just wish I'd followed the project more closely so I would have seen the notice earlier.