Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

No installation button on chrome webstore #31

Closed
solonovamax opened this issue Aug 5, 2020 · 11 comments
Closed

No installation button on chrome webstore #31

solonovamax opened this issue Aug 5, 2020 · 11 comments

Comments

@solonovamax
Copy link

Expected behaviour:

When going to the chrome webstore on any extension, there is a "Add to Chromium" button that allows the user to install the extension.

Current Behaviour:

When going to the chrome webstore and attempting to download any extension, there is no "Add to Chromium" button as shown in the video here.

Steps to reproduce:

  1. Download newest version from the releases.
  2. Go to chrome webstore for any extension.
  3. There is no button.

Possible Causes:

I previously had an extension installed that allowed me to install extensions via a context menu when on the page. Here is the other extension.
Using this tool, I installed various extensions but just recently switched to this one for version management. There could be some interference between these two, although when I added the chromium-web-store extension, it properly showed the new updates and also installed them when I clicked "Update all extensions".

I also made sure to disable that other extension and went as far as uninstalling it. Neither worked.

Environment

I'm currently running ungoogled chromium version 84.0.4147.89 (Official Build) Arch Linux (64-bit), which I compiled from the latest ungoogled chromium version on the AUR.

Images

Expected behaviour:

image

Current behaviour:

image

@NeverDecaf
Copy link
Owner

The most likely explanation is that chromium-web-store is being denied access to the Chrome Web Store page. IIRC Chromium denies access to chrome.google.com/* by default (if safe browsing is on?) which would prevent any modifications to the page. However, the extension you used previously also ran a content script on the Chrome Web Store, which leads me to think the problem lies elsewhere. It is possible you are getting served a different version of the web store (due to different User Agent/blocked js). If I inspect the Add to Chromium button with DevTools this is what I see:
image
If your Chrome Web Store doesn't match this (besides the missing button <div>) then this should be something I can fix.

@solonovamax
Copy link
Author

Inspecting it, it does not seem to have that button in the HTML. (The class `h-e-f-Ra-c e-f-oh-Md-zb-k exists, but there is nothing within it.)
image

The only thing that's being blocked is some google analytics, but disabling that doesn't help. Also, I went into the extension settings and made sure it had access to the chrome webstore page.

My user agent is this: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.89 Safari/537.36, which should be default for chrome.

@NeverDecaf
Copy link
Owner

The button div is added by chromium-web-store so everything looks like it should in your HTML. Is it possible the web store URL you are visiting isn't in the format https://chrome.google.com/webstore/detail/*? The content script checks if window.location.pathname.indexOf('detail') == 10 to determine if you are on the details page for an extension. Besides that, maybe check for errors in chrome://extensions or in the javascript console on the store page? If the script is being denied access there is hopefully a warning or error somewhere.

@solonovamax
Copy link
Author

The url I'm visiting is this: https://chrome.google.com/webstore/detail/ublock-origin/cjpalhdlnbpafiamejdnhcphjbkeiagm.
Running window.location.pathname.indexOf('detail') == 10 in the console returns true, so there is no issue there.
I tried looking for a place where it would report errors in chrome://extensions, but I couldn't find any. The closest I could find was when I clicked on "background view", it brought up an inspect element console, which is presumably where the extension would log things.

@NeverDecaf
Copy link
Owner

Errors are shown on the extension "cards" only if they actually occur. I'm not really sure how to debug this further as everything seems in order; my best guess is still that somehow chromium is blocking the extension from modifying the HTML of Chrome Web Store pages. I added a context menu option (3542d44) similar to the other extension you were using, can you try this updated version and let me know if this workaround at least works for you.

@solonovamax
Copy link
Author

The workaround works fine; I can see the context menu.

I just set the extension to work in incognito, and when I open up an extension page in an incognito tab, the button is there. There must be some other extension interfering with. I'll get back to you when I figure out which one.

@solonovamax
Copy link
Author

It seems that there are multiple extensions that interfere with it.

  • Ghostery
    • As long as it is enabled, it will not work. Even if you press "trust site", the button won't show. You must press the "pause ghostery" to make it show up again.
  • ComposAI
    • this is some grammar correction thing I found a while ago that no longer exists on the chrome web store. This makes it seem very sketchy, so I'm removing it anyways. (it was probably tracking me.)
    • it presumably used to be here, as their website links to this page that now 404's.

Out of all my extensions, those where the only 2. I'm getting rid of ComposAI because it seems like it's probably tracking me, but compatibility with ghostery would be nice. Or at least mention on the page that if people are using ghostery, they should make sure to press "Pause Ghostery" and then later re-enable it.

@NeverDecaf
Copy link
Owner

Nice find, it appears Ghostery adds its own <div> which interferes with chromium-web-store's content script. It should be an easy fix to make chromium-web-store compatible with Ghostery.

@BSarmady
Copy link

BSarmady commented Jan 2, 2022

Well, I'm not sure why is this implemented this way and what was the idea behind it, but it doesn't seem genius to me.

I'm trying to download extension from a different browser a browser that has access to internet, then download the extension and install it in a browser that is in Interanet (doesn't have access to internet).

The problem is when I download via chrome, it immediately installs it on the browser that has access to internet, which is not what I want to do. I want to be able to download it as a FILE which with this implementation it become impossible.

There is a saying in my culture, which says "Scientists become great scientists and then become mad scientists"

A much easier solution would be to just have a download button and then register file extension to open with browser which would make both installing from local and online similar and for non-windows systems, just intercept the download.

Developer go to so much effort to make this feature so complicated that become completely useless.

@ZhuTopher
Copy link

Hey not sure if this issue is still being worked on, just came to say the workaround of using incognito worked for me!

I'm installing chrome-web-store on a fresh install of ungoogled-chromium and still ran into this bug.

@NeverDecaf
Copy link
Owner

Just want to mention: there is a context menu option you can use if the button isn't enabled correctly. Simply right click > Add to Chromium

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants