gioxx / MarvellousSuspender

A chrome extension for suspending all tabs to free up memory, based on the original TGS 7.1.6, without tracking. Find more information about that on https://gioxx.org/tms
https://go.gioxx.org/download-tms
GNU General Public License v2.0
1.05k stars 87 forks source link

The Marvellous Suspender need your help to survive. #197

Open gioxx opened 1 year ago

gioxx commented 1 year ago

Discussed in https://github.com/gioxx/MarvellousSuspender/discussions/196

Originally posted by **gioxx** October 18, 2022 I wrote an article summarizing what might be the future of this add-on. Do you think you can help with its survival? Bring it on! IT: https://gioxx.org/2022/10/18/the-marvellous-suspender-a-look-into-the-future/ EN: https://gioxx.org/2022/10/18/the-marvellous-suspender-a-look-into-the-future/#en-us Thanks to all our users and contributors.

June 2024: So Long, and Thanks for All the Fish ๐Ÿ‡ฎ๐Ÿ‡น https://go.gioxx.org/tms-thelastdance ๐Ÿ‡บ๐Ÿ‡ธ https://go.gioxx.org/tms-thelastdance#en-us

ZenulAbidin commented 1 month ago

I don't think the registry hack is applicable to Mac or Linux platforms though.

On Sat, Aug 10, 2024 at 11:09 AM, Treksh Marwaha @.***> wrote:

I'm willing to help maintain a fork of this if that's necessary.

TGS user since 2021

Please do, although we can keep it running till June 2025 with the registry hack it would be far better if TGS was transitioned to manifest v3.

โ€” Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you commented.Message ID: @.***>

trekshcool commented 1 month ago

I don't think the registry hack is applicable to Mac or Linux platforms though. โ€ฆ On Sat, Aug 10, 2024 at 11:09 AM, Treksh Marwaha @.> wrote: > I'm willing to help maintain a fork of this if that's necessary. > > TGS user since 2021 Please do, although we can keep it running till June 2025 with the registry hack it would be far better if TGS was transitioned to manifest v3. โ€” Reply to this email directly, [view it on GitHub](#197 (comment)), or unsubscribe. You are receiving this because you commented.Message ID: @.>

Pretty sure it does work for Mac and Linux - https://gist.github.com/velzie/053ffedeaecea1a801a2769ab86ab376

mkz7 commented 1 month ago

June 2024: So Long, and Thanks for All the Fish ๐Ÿ‡ฎ๐Ÿ‡น https://go.gioxx.org/tms-thelastdance ๐Ÿ‡บ๐Ÿ‡ธ https://go.gioxx.org/tms-thelastdance#en-us

@gioxx, thanks for all you've done with TMS.

Am I correct that the current TMS version should continue to work at least until Manifest v.2 is actually replaced by Manifest v.3, and that presumably there will be advance warning (here and/or elsewhere) when that change is imminent?

Also, will any features in the current TMS version remain functional even under v.3?

E.g., I make frequent use of the 'Session management' display to generate a list of all open windows and tabs. Might that function continue to work under v.3 or will v.3 completely disable anything/everything that was developed under v.2?

trekshcool commented 1 month ago

https://developer.chrome.com/docs/extensions/develop/migrate/mv2-deprecation-timeline

gioxx commented 1 month ago

@mkz7 ciao, and thanks! ๐Ÿ˜ƒ The current version of TMS will continue to work, despite all its flaws, until Google completely ceases support for Manifest V2.

All its features will remain unchanged if, whoever is able to take its development forward, can still take advantage of browser calls as was always done with Manifest V2, which I fear will not be 100% possible unless some of the add-on's logic is reinvented.

The usefulness of keeping Session Management built into TMS was being discussed in another thread but a final decision had not yet been made regarding its decommissioning, so I would tell you that it is still there to stay.

mkz7 commented 1 month ago

Thanks, @gioxx.

Without any intent to minimize the value of TMS's tab suspension, the Session Management view is a superb feature in its own right. Some time ago I inadvertently stumbled across a way to save its windows & tabs listings as webpages and quickly reformat them to make them document-friendly, as an alternative to saving them as files. So I hope the feature remains available in its own right, regardless of the effect of Manifest v.3 on the extension's other features.

mkz7 commented 1 month ago

> https://developer.chrome.com/docs/extensions/develop/migrate/mv2-deprecation-timeline

@trekshcoolโ€ฆ Thanks for that. What does the "registry hack" noted in previous replies refer to?

Technetium1 commented 1 month ago

@mkz7 see my comment above https://github.com/gioxx/MarvellousSuspender/issues/197#issuecomment-2187165251

mkz7 commented 4 weeks ago

Thanks @Technetium1. I'm not a programmer. Can that command string ("defaults write" etc.) just be copied-&-pasted into Terminal (on a Mac) and executed just by hitting Return?

Also, how would one know whether or not it 'works' until Manifest v.3 is implemented?

Technetium1 commented 4 weeks ago

@mkz7 yes exactly, it can be done as shown in this comment https://gist.github.com/velzie/053ffedeaecea1a801a2769ab86ab376?permalink_comment_id=5149447#gistcomment-5149447

You will see Your browser is managed by your organization. You will also not see a warning banner at chrome://extensions

trekshcool commented 4 weeks ago

Someone would have to test it on the beta branches of chrome where they will soon remove manifest v2.

Edit: I misread what mkz7 was asking, Technetium1 is correct for the question mkz7 asked.

mkz7 commented 1 week ago

I just received an update notification from TABLI's developer related to Manifest v.3.

TABLI is a tab organizer extension I use together with TMS (the former primarily just to quickly locate tabs in windows or to quickly scan the tabs in all open windows).

The update was presented as having been done to comply with the requirements of Manifest v.3. The developer didn't note whether he did it 'in advance' or whether it was required to keep TABLI operative at the present time.

A link to this Chromium blog post was included for reference: https://blog.chromium.org/2024/05/manifest-v2-phase-out-begins.html

Will notification be posted here at Github when Manifest v.3 is going to affect users' ability to continue using TMS?

Technetium1 commented 1 week ago

@mkz7 This is 'the warning'. The countdown began May 30, 2024, per the Chromium blog post you just linked.

mkz7 commented 1 week ago

@Technetium1โ€ฆ I was referring specifically to when TMS will be affected, unless there's no way to know. I assumed @gioxx would be notified in advance by Google. Not so?

Technetium1 commented 1 week ago

@mkz7 The answer is already linked above, but I can be extra clear: in June 2025 this workaround intended for enterprise users which allows using old v2 extensions (like TMS) will no longer be work per https://developer.chrome.com/docs/extensions/develop/migrate/mv2-deprecation-timeline

christopherreay commented 1 week ago

any one interested in chipping in to get some company to do it?

On Mon, 16 Sept 2024, 22:22 Technetium1, @.***> wrote:

@mkz7 https://github.com/mkz7 The answer is already linked above, but I can be extra clear: in June 2025 this workaround intended for enterprise users https://chromeenterprise.google/policies/#ExtensionManifestV2Availability which allows using old v2 extensions (like TMS) will no longer be work per https://developer.chrome.com/docs/extensions/develop/migrate/mv2-deprecation-timeline

โ€” Reply to this email directly, view it on GitHub https://github.com/gioxx/MarvellousSuspender/issues/197#issuecomment-2353602949, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAB2PPQFUZJT2NVRAGSYYPDZW4OUXAVCNFSM6AAAAAARHZESZ6VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDGNJTGYYDEOJUHE . You are receiving this because you were mentioned.Message ID: @.***>

christopherreay commented 1 week ago

we can use escrow or multisig or whatever

On Tue, 17 Sept 2024, 11:49 Christopher Reay, @.***> wrote:

any one interested in chipping in to get some company to do it?

On Mon, 16 Sept 2024, 22:22 Technetium1, @.***> wrote:

@mkz7 https://github.com/mkz7 The answer is already linked above, but I can be extra clear: in June 2025 this workaround intended for enterprise users https://chromeenterprise.google/policies/#ExtensionManifestV2Availability which allows using old v2 extensions (like TMS) will no longer be work per https://developer.chrome.com/docs/extensions/develop/migrate/mv2-deprecation-timeline

โ€” Reply to this email directly, view it on GitHub https://github.com/gioxx/MarvellousSuspender/issues/197#issuecomment-2353602949, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAB2PPQFUZJT2NVRAGSYYPDZW4OUXAVCNFSM6AAAAAARHZESZ6VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDGNJTGYYDEOJUHE . You are receiving this because you were mentioned.Message ID: @.***>

trekshcool commented 1 week ago

Maybe a Kickstarter can be made by the current repo owner.

mkz7 commented 1 week ago

I wonder whether some (if not many) of the participants in this thread, being programmers (which I'm not), might be agreeable to publicizing the project of keeping TMS viable under Manifest v.3 within their own contacts channels (i.e., outside of Github).

It seems like there ought to be at least some developers who not only have the will but the time to work as a team with @gioxx to keep TMS alive.

trekshcool commented 1 week ago

Another option is to add a info prompt and link to the github informing the users of the extension as it needs developer support to survive chromes extension changes. This should be fairly simple to do and would likely drive many people to help adapt it to v3.

user334 commented 5 days ago

The conversation here seem to slowly slip from the rails but I wanna ask a kinda-technical question that IMO would define it all: is it even possible for TMS to work under MV3 constraints? I mean there are a bunch of APIs removed by Google now. Aren't there some crucial the extension simply won't work without? I think this is what shapes the answer to "yes" or "no" state. And by "work" I mean the extension's main function - unloading webpages and replacing them with a placeholder. Let's suppose all the other functions are optional and may be dropped out in favor of the main one. Hope someone could clarify this.

And, of cource, a BIG THANK YOU to @gioxx for carrying out and maintaining this project and saving out giabytes of our RAM for this long โค๏ธ

ThisIsSammysAccount commented 5 days ago

For most secondary features, I believe the answer is yes they should be compatible with v3. For the main function, it is probably worth expanding on your question to also consider if TMS will still add value beyond the memory features added to chrome. When I had looked into it before, the new chrome features were doing basically the same thing, which is why - in addition to life being busy - I decided to take a step back and see how the Chrome features performed and evolved. Personally, I already use a different extension for session management, so I find myself missing TMS a lot less than I expected when it is not enabled. To fully prove that, however, I just manually disabled TMS today with ~400 tabs open, so let's see how it goes. I would be interested in hearing from other people who have turned off TMS for a while and compared the difference as well.

nfultz commented 5 days ago

The conversation here seem to slowly slip from the rails but I wanna ask a kinda-technical question that IMO would define it all: is it even possible for TMS to work under MV3 constraints?

I don't know the full surface area of all features, but at the minimum, everything that uses a timer would have to get rewritten. I wrote a minimal sleep extension using Mv3, it needed to be organized differently to work with transient service workers, otherwise the timer events won't trigger.

NANI-SORE commented 5 days ago

I was preparing a list of mv3 alternatives for extensions I use and I found this one which at least recreates the main feature of TMS. But I didn't try it in daily use yet https://github.com/arifwn/TinySuspender

christopherreay commented 5 days ago

can't we get Google to make an AI that can just "do it" lol

On Thu, 19 Sept 2024, 23:02 NaniDeagle, @.***> wrote:

I was preparing a list of mv3 alternatives for extensions I use and I found this one which at least recreates the main feature of TMS. But I didn't try it in daily use yet https://github.com/arifwn/TinySuspender

โ€” Reply to this email directly, view it on GitHub https://github.com/gioxx/MarvellousSuspender/issues/197#issuecomment-2361952616, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAB2PPQJ2XEXCMENGJNKVQDZXMNTTAVCNFSM6AAAAAARHZESZ6VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDGNRRHE2TENRRGY . You are receiving this because you were mentioned.Message ID: @.***>

ThisIsSammysAccount commented 4 days ago

I find myself missing TMS a lot less than I expected when it is not enabled. To fully prove that, however, I just manually disabled TMS today with ~400 tabs open, so let's see how it goes. I would be interested in hearing from other people who have turned off TMS for a while and compared the difference as well.

Well, I proved myself wrong. With that many tabs, even with Chrome's Memory Saver set to Maximum there is a massive memory and performance difference with TMS disabled. The Chrome feature works OK for casual use, but TMS still reigns supreme. If TinySuspender can work on v3 then we should be able to figure TMS out as well.

christopherreay commented 4 days ago

let's do it!

I'll pay money! i need it! i run about thirty projects, currently I'm running 5 concurrently daily. or 7. i really cannot afford for my machine to slow down, and i have tms embedded in my muscle memory for years!

On Fri, 20 Sept 2024, 18:40 Sammy, @.***> wrote:

I find myself missing TMS a lot less than I expected when it is not enabled. To fully prove that, however, I just manually disabled TMS today with ~400 tabs open, so let's see how it goes. I would be interested in hearing from other people who have turned off TMS for a while and compared the difference as well.

Well, I proved myself wrong. With that many tabs, even with Chrome's Memory Saver set to Maximum there is a massive memory and performance difference with TMS disabled. The Chrome feature works OK for casual use, but TMS still reigns supreme. If TinySuspender can work on v3 then we should be able to figure TMS out as well.

โ€” Reply to this email directly, view it on GitHub https://github.com/gioxx/MarvellousSuspender/issues/197#issuecomment-2363895043, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAB2PPUOJZRRHJRCNOMHX4LZXQXWDAVCNFSM6AAAAAARHZESZ6VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDGNRTHA4TKMBUGM . You are receiving this because you were mentioned.Message ID: @.***>

Crypto-Spartan commented 4 days ago

I find myself missing TMS a lot less than I expected when it is not enabled. To fully prove that, however, I just manually disabled TMS today with ~400 tabs open, so let's see how it goes. I would be interested in hearing from other people who have turned off TMS for a while and compared the difference as well.

Well, I proved myself wrong. With that many tabs, even with Chrome's Memory Saver set to Maximum there is a massive memory and performance difference with TMS disabled. The Chrome feature works OK for casual use, but TMS still reigns supreme. If TinySuspender can work on v3 then we should be able to figure TMS out as well.

This is super concerning for me, I routinely have 500+ tabs open and get away with it via TMS

nfultz commented 4 days ago

If TinySuspender can work on v3 then we should be able to figure TMS out as well.

It would probably be easier to add the features you want to TinySuspender than to rewrite TMS, though.

christopherreay commented 4 days ago

is this congruent with the community goals? I'm happy to do that!

On Fri, 20 Sept 2024, 19:38 Neal Fultz, @.***> wrote:

If TinySuspender can work on v3 then we should be able to figure TMS out as well.

It would probably be easier to add the features you want to TinySuspender than to rewrite TMS, though.

โ€” Reply to this email directly, view it on GitHub https://github.com/gioxx/MarvellousSuspender/issues/197#issuecomment-2364009232, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAB2PPUZ6SFQYVJ57RQC3P3ZXQ6OVAVCNFSM6AAAAAARHZESZ6VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDGNRUGAYDSMRTGI . You are receiving this because you were mentioned.Message ID: @.***>

trekshcool commented 4 days ago

Perhaps we cam request the tinysuspender admin to take over this one after all this extension already has so many users and good features

christopherreay commented 4 days ago

maybe we can pay the tinysuspender person to match features?

On Fri, 20 Sept 2024, 22:46 Treksh Marwaha, @.***> wrote:

Perhaps we cam request the tinysuspender admin to take over this one after all this extension already has so many users and good features

โ€” Reply to this email directly, view it on GitHub https://github.com/gioxx/MarvellousSuspender/issues/197#issuecomment-2364328016, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAB2PPUW3PUFEHWUF6XT7P3ZXRUPPAVCNFSM6AAAAAARHZESZ6VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDGNRUGMZDQMBRGY . You are receiving this because you were mentioned.Message ID: @.***>

trekshcool commented 4 days ago

I have emailed him a plea lets see how he responds.

christopherreay commented 4 days ago

I'll put in 500 up front and 500 when it's done usd / usdt xx

On Fri, 20 Sept 2024, 23:01 Treksh Marwaha, @.***> wrote:

I have emailed him a plea lets see how he responds.

โ€” Reply to this email directly, view it on GitHub https://github.com/gioxx/MarvellousSuspender/issues/197#issuecomment-2364349302, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAB2PPRJDSL4NUWDZQJLGRLZXRWHVAVCNFSM6AAAAAARHZESZ6VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDGNRUGM2DSMZQGI . You are receiving this because you were mentioned.Message ID: @.***>

trekshcool commented 4 days ago

If TinySuspender can work on v3 then we should be able to figure TMS out as well.

It would probably be easier to add the features you want to TinySuspender than to rewrite TMS, though.

Yeah but imagine what will happen when this gets wrecked by chrome and then deletes the tabs of over 100k users, last time this happened with a suspender extension when the original one was wiped from the chrome store it causes so many issues for so many people.

christopherreay commented 4 days ago

can we put in the "auto assume control" function that tms has into tiny thingy?

On Fri, 20 Sept 2024, 23:20 Treksh Marwaha, @.***> wrote:

If TinySuspender can work on v3 then we should be able to figure TMS out as well.

It would probably be easier to add the features you want to TinySuspender than to rewrite TMS, though.

Yeah but imagine what will happen when this gets wrecked by chrome and then deletes the tabs of over 100k users, last time this happened with a suspender extension when the original one was wiped from the chrome store it causes so many issues for so many people.

โ€” Reply to this email directly, view it on GitHub https://github.com/gioxx/MarvellousSuspender/issues/197#issuecomment-2364416729, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAB2PPXIK5HW7WUJJ4CJSLDZXRYPDAVCNFSM6AAAAAARHZESZ6VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDGNRUGQYTMNZSHE . You are receiving this because you were mentioned.Message ID: @.***>

aybanda commented 2 days ago

@christopherreay @trekshcool

Here is what I think I can help contributing:

Code Migration: I can assist in migrating the codebase from Manifest V2 to Manifest V3. This involves updating the manifest file, converting background scripts to service workers, and adapting APIs to work with the new manifest version.

Feature Preservation: I can help identify which features can be preserved in Manifest V3 and which ones might need alternatives. For example, tab suspension and restoration, whitelist functionality, and settings management can likely be preserved, while some background processes may need to be reimplemented.

Performance Optimisation: I can work on optimising the extension's performance within the constraints of Manifest V3, such as implementing efficient state management in the service worker and minimising resource usage.

christopherreay commented 2 days ago

who are you? xx

On Mon, 23 Sept 2024, 08:18 aybanda, @.***> wrote:

@christopherreay https://github.com/christopherreay @trekshcool https://github.com/trekshcool

Here is what I think I can help contributing:

Code Migration: I can assist in migrating the codebase from Manifest V2 to Manifest V3. This involves updating the manifest file, converting background scripts to service workers, and adapting APIs to work with the new manifest version.

Feature Preservation: I can help identify which features can be preserved in Manifest V3 and which ones might need alternatives. For example, tab suspension and restoration, whitelist functionality, and settings management can likely be preserved, while some background processes may need to be reimplemented.

Performance Optimisation: I can work on optimising the extension's performance within the constraints of Manifest V3, such as implementing efficient state management in the service worker and minimising resource usage.

โ€” Reply to this email directly, view it on GitHub https://github.com/gioxx/MarvellousSuspender/issues/197#issuecomment-2367208157, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAB2PPTQ5HRJKOOUGHI3G3TZX6JCVAVCNFSM6AAAAAARHZESZ6VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDGNRXGIYDQMJVG4 . You are receiving this because you were mentioned.Message ID: @.***>

aybanda commented 2 days ago

I'm Ajay and a developer Helping solving issues

christopherreay commented 2 days ago

sounds great. thank you.. who's the person that does the tiny thing?

On Mon, 23 Sept 2024, 10:30 aybanda, @.***> wrote:

I'm Ajay Helping solving issues

โ€” Reply to this email directly, view it on GitHub https://github.com/gioxx/MarvellousSuspender/issues/197#issuecomment-2367329097, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAB2PPSJV3IKUZAK2NJJ4A3ZX6YQTAVCNFSM6AAAAAARHZESZ6VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDGNRXGMZDSMBZG4 . You are receiving this because you were mentioned.Message ID: @.***>

aybanda commented 2 days ago

I have no idea about that

trekshcool commented 2 days ago

Tinysuspender owner is @arifwn

Thanks a lot to @aybanda for saving this project.

aybanda commented 2 days ago

It's too early to thank me @trekshcool

aybanda commented 1 day ago

@christopherreay @trekshcool @gioxx check this PR #236

trekshcool commented 1 day ago

What would be the steps involved in testing this out, I can get the chrome beta branch which has v3 but how to download the compiled extension with your pull request from github or will it have to wait until its committed into the master.

user334 commented 1 day ago

@trekshcool the Chrome's extensions are more or less just zip files with all the contents you see here in the repo. So I think you can just clone or simply download @aybanda's fork and install it to any Chrome instance you have by drag'n'drop-ing its folder onto chrome://extensions settings page. Note that you have to enable the "developer mode" switch there to be able to do so.