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

WebStore continuous removal #194

Closed
schomery opened this issue Sep 13, 2017 · 77 comments
Closed

WebStore continuous removal #194

schomery opened this issue Sep 13, 2017 · 77 comments

Comments

@schomery
Copy link
Contributor

So I got the rejection email one more time

Dear Developer,

We routinely review items in the Chrome Web Store for compliance with our Program policies to ensure a safe and trusted experience for our users. Your item "Stylus" clngdbkpkpeebahjckkjfobafhncgmne is being taken down as it currently does not comply with the Extensions Quality Guidelines. These guidelines state that an extension should have a single, narrow purpose limited to (1) a narrow focus area or subject matter (for example, news headlines", "weather", "comparison shopping") or (2) a narrow browser function (for example, "new tab page", "tab management", or "browser history"). A common violation is to have an extension that injects ads as well as provides a toolbar all in a single extension.

To have your item reinstated, please ensure:

    The purpose of the extension is clear to users; and
    The extension either limits its functionality to a narrow focus area of subject matter or to a narrow browser function.

To serve multiple purposes with your extensions, please package each purpose as a separate extension.

Once your item complies with Chrome Web Store policies, you may request re-publication in your developer dashboard. Your item will be manually reviewed for policy compliance which typically takes a few business days, prior to re-publication. If you have any questions about this item’s removal, you may reply to this email and the Chrome Web Store developer support team will follow up with you.

Important Note

Repeated or egregious policy violations in the Chrome Web Store may result in your developer account being suspended. This may also result in the suspension of related Google services associated with your Google account.

Thank you for your cooperation,

Google Chrome Web Store team

---------------------------

Developer Terms of Service: https://developers.google.com/chrome/web-store/terms

Program Policies: https://developers.google.com/chrome/web-store/program_policies

Branding Guidelines: https://developers.google.com/chrome/web-store/branding

I've contacted the dev support and requested a human response.

since it is very unlikely that we get an actual response, I would say we should move this extension to a new dev account.

Anybody has a Chrome dev account or willing to open one?

@tophf
Copy link
Member

tophf commented Sep 13, 2017

LOL, the absurdity!
BTW, did you use https://support.google.com/chrome_webstore/contact/developer_support ?

@narcolepticinsomniac
Copy link
Member

I would say we should move this extension to a new dev account.

There's obviously something recent in our code that is problematic. We need to find out what it is. Wouldn't it get rejected if submitted under a new account as well? If it happened to sneak by, wouldn't it trigger whatever automated review every time we attempt to update again?

I don't see this as a viable solution. If you're sick of the bullshit and don't want it under your account anymore, I suppose that's a different story, but resubmitting under a new account does nothing to rectify the underlying issue.

@tophf
Copy link
Member

tophf commented Sep 13, 2017

Nah, I don't think it's related to our code. They randomly review items and this time Stylus got on their radar. The review process in WebStore is most likely out-sourced just like the first evaluation pass on their bug tracker to cope with the amount of submissions. From what I saw on https://crbug.com, those hired guns are quite robotic and just borderline competent to follow an obvious repro sequence.

@narcolepticinsomniac
Copy link
Member

Well, even if it really is that arbitrary, that doesn't make me any more optimistic about starting over and waiting for it to happen again. We should stick it out and get it properly resolved if at all possible IMO.

@Mottie
Copy link
Member

Mottie commented Sep 13, 2017

Well, maybe we should have left all the ads and tracking in the extension because Stylish is still available... LOL, I'm kidding of course!.

@tophf
Copy link
Member

tophf commented Sep 13, 2017

To add to the absurdity, the first rejection came in 1.1.2 which mainly dealt with innerHTML issues to pacify AMO.

@Mottie
Copy link
Member

Mottie commented Sep 13, 2017

I saw another extension with similar issues... they contacted Google using chromewebstore-support@google.com and it looks like they got a response within 2 days. It seems like this has taken a lot longer 😿

@tophf
Copy link
Member

tophf commented Sep 13, 2017

O_O it's back

@tophf
Copy link
Member

tophf commented Sep 13, 2017

@schomery, now it occurred to me that your description may confuse those who don't know about USO/Stylish ownership drama. Let's change the description to what actually Stylus does (applying of CSS themes, editing/creating, browsing for existing ones) and only mention Stylish-related info in a footnote.

@schomery
Copy link
Contributor Author

BTW, did you use https://support.google.com/chrome_webstore/contact/developer_support ?

No, I am replying to the rejections emails from chromewebstore-support@google.com. It is faster as they have tracking numbers.

it looks like they got a response within 2 days

We always get a response (well automatic responses mostly!), but no matter what the response is, their server side script rejects our next version which is why my account got suspended.

Let's change the description to what actually Stylus does

Good point. @narcolepticinsomniac can you prepare a new one. The funny thing is that even if I want to update the WebStore description, the extension will get rejected one more time.

this time Stylus got under their radar.

I would say this is true. I think for some reasons, this extension is flagged and they are not willing (or don't care) to remove the flag!

@narcolepticinsomniac
Copy link
Member

it looks like they got a response within 2 days

It really didn't end up being much longer than that, did it?

prepare a new one

Sure, I'll rewrite them both, more clear and concise with Stylish as a footnote. I also think the FF description should start with a disclaimer about flaky compatibility pre-v57 and emphasize the limitations of UI styling in WebExtensions.

The funny thing is that even if I want to update the WebStore description, the extension will get rejected one more time.

Yeah, I see no reason to rush updated descriptions since we're not sure if it'll trigger Google's bots. They should probably coincide with the next release whenever it's ready. Hopefully, the fact that it actually got removed and then reinstated means that they've removed us from whatever blacklist, but there's no need to test that theory before we need to push an actual code update.

@tophf
Copy link
Member

tophf commented Sep 18, 2017

Got a response from someone knowledgeable:

no clear "function" for the extension can be due to it not targeting a specific subset of sites or it's use in editing and injecting scripts based on a singular website which targets a multitude.

The process is checked via a scanner, not any human interaction - its simply checking the files to ensure proper usage is implemented (mainly the manifest file), developers only manually review the extension if it is flagged as malware repeatedly on the Chrome Web Store.

Not sure what to make of this absurd rule, but technically we can remove the unconditionally injected content script apply.js and switch to chrome.declarativeContent.RequestContentScript, which is injected just as early as the script declared in manifest.json so no FOUC would ensue. Implementation-wise, it's somewhat tricky for existing installations because we'd have to explain why we explicitly ask for permissions. For new installations it'd be quite natural - when the first style is added the user would see a confirmation dialog.

@tophf
Copy link
Member

tophf commented Sep 18, 2017

Uhm, declarativeContent API is not supported in FF so implementing it would mean a separate manifest.json will be required. Furthermore, it doesn't react to URL changes in iframes so I'm not sure it's all that useful.

@narcolepticinsomniac
Copy link
Member

narcolepticinsomniac commented Sep 24, 2017

Welp, looks like we got yanked from the Web Store again. Pretty inspiring to know that a project we all put a bunch of time and effort into, can and will be removed at any random time for any arbitrary reason. We didn't even submit an update, so WTF is going on now?

@zet4
Copy link

zet4 commented Sep 25, 2017

Did you consider distributing built chrome extension packages on your releases page? It would at least give users who want to try it but cant because of google's bullshit a chance. (like me)

@tophf
Copy link
Member

tophf commented Sep 25, 2017

@zet4, Chrome doesn't allow crx installation other than from their webstore so the only method (I've been using it for 5 years) is to load an unpacked extension: download source code zip from releases or the current master branch, unpack it, drag'n'drop the unpacked directory on an opened chrome://extensions page. AFAIK stable Chrome in Windows will display a warning about "development mode" extensions on each start, which can be patched, not needed in Linux nor in Chrome Canary nor maybe in dev channel.

@DanaMW
Copy link

DanaMW commented Sep 25, 2017

I run chrome dev version and i can drag and drop *.crx extensions onto the extension page and load them.. umm I use an older one ChromeAccess_v1.6.crx and cant ever find it so i downloaded it and drop it in to a new install without any complaints from Chrome.. Is there a reason i am not aware of that it would fail? I put your extension on a linux install while you were off line last.

@tophf
Copy link
Member

tophf commented Sep 25, 2017

@DanaMW, Chrome in Linux may allow it, but it's not the case with Chrome in Windows. I guess it's because Windows is the most popular desktop consumer OS so it's targeted by various malware extensions.

@DanaMW
Copy link

DanaMW commented Sep 25, 2017

Thanks. Not a big chrome user, but lately till Firefox stabilizes 57+ have had to use it for some addons that Palemoon wont run. Just getting comfortable with chrome alterations.

@zet4
Copy link

zet4 commented Sep 25, 2017

@tophf thanks, just did that and migrated all my styles from stylish to stylus, awesome project!

@narcolepticinsomniac
Copy link
Member

@schomery ? Figured you would've chimed in by now. We didn't even push an update, so I'm wondering how tf we got rejected this time. Do you know anything more than we do?

@schomery
Copy link
Contributor Author

It seems like they do automatic checks once per while and kicked out Stylus once again. Since nobody at Chrom support even care to respond, we should move this extension to a new account (I would say submit as a new extension and not ask for migration otherwise it might still keep its flags).

The funny thing is that when this extension is getting taken down, my account gets suspended a few hours later!

@cking
Copy link

cking commented Sep 26, 2017

if you need an external google account, i can provide one. though not sure how you would feel about an external google account.

@narcolepticinsomniac
Copy link
Member

I guess we could use that stylus.openstyles@gmail account I emailed you guys the details for. The whole idea of it irritates the shit out of me though. It's been like, what, 8 months or something? Thousands of installs and dozens of reviews which are practically all 5 stars. Now we should start over from scratch? For what? Oh, right, nobody knows.

Add that to the fact that I now have zero faith in the the Web Store. They can't be bothered to even inform us as to what the issue is. All we have are wild guesses, with the best one being that "it's just bad luck", which is even more annoying if true. I tend to think it's some random bit of code, so without some actual resolution, we'll just be going through the same thing in a different account. I'm not optimistic about any outcome that doesn't involve some sort of explanation of WTF triggered this bullshit in the first place.

@schomery
Copy link
Contributor Author

I guess we could use that stylus.openstyles@gmail account

+1

Thousands of installs and dozens of reviews which are practically all 5 stars. Now we should start over from scratch? For what? Oh, right, nobody knows.

We can ask Chrome support to move the old extension to the new account, though it might increase the chance that those flags are migrated as well.

Add that to the fact that I now have zero faith in the the Web Store

That's always the case when you are dealing with big companies!

"it's just bad luck"

I would say someone has reported us and they are not willing to clear those bad flags.

@mootari
Copy link

mootari commented Sep 26, 2017

You could also try to raise some additional awareness by contacting the Chrome folks via https://twitter.com/googlechrome

@BangDroid
Copy link

Is Stylish suffering with this issue? Considering the nature of it, identical function to this albeit with ads and spying. One would think it would be flagged and pulled just as often or more.
Call me paranoid, but SimilarWeb, the 'partner' of the now cancerous Stylish, was valued at nearly $1B earlier in the year. Could this some kind of dirty business with Google?

@narcolepticinsomniac
Copy link
Member

narcolepticinsomniac commented Sep 26, 2017

Is Stylish suffering with this issue?

Of course not. Stylish in the Web Store had a consistent install count of ~1.6 million for at least the past year (probably much longer), but a few weeks ago that figure doubled out of nowhere, and now appears to have leveled off ~2.6, so they have magically added nearly a million users out of thin air since SimilarWeb bought it. Collusion? At the very least, it's odd.

Considering the nature of it, identical function to this albeit with ads and spying. One would think it would be flagged and pulled just as often or more.

Difficult to say. The majority of our code has been rewritten and optimized, and we've added a bunch of new features and options.

Call me paranoid, but SimilarWeb, the 'partner' of the now cancerous Stylish, was valued at nearly $1B earlier in the year. Could this some kind of dirty business with Google?

Also difficult to say. You're certainly not the only one to have the thought cross your mind. I haven't done much research, but others have mentioned that many employees from SimilarWeb and Google appear to have connections which indicate a symbiotic relationship. They're definitely both in the same business anyway.

Truth is, we're completely in the dark here. We've all seen nightmare stories about what a joke Google's actual customer service is. This applies to Google Play, apps/extensions, and Youtube. Practically all oversight is automated, and if you get shafted by some glitch in the matrix, there is very little recourse unless you're some kinda big-shot VIP.

I tend to think that whether you believe 1.6m or 2.6m, we should not be considered a threat to the SimilarWeb botnet. If anything, I think they'd be glad to have an option available for the handful of savvier users who would be the ones complaining loudest otherwise. It doesn't impact their bottom-line much, and actually probably helps in the PR department. I suppose it's also possible that their philosophy is to try to eliminate any potential competitors before they become a threat. That'd be shortsighted IMO, because we solve a problem for them, and for the vast majority of users, Stylish is ubiquitous. Most will never realize the shadiness going on, or even care if they do.

The only real threat to their monopoly would be in the long-run if they continue to put out a bug-riddled extension with a broken website to match. AFAICT, they only have one actual dev working on Stylish. My js skills are a joke, but even I could tell you that he's left the old bugs and added some more of his own. He's also quit updating Github, probably because of the reaction he got when adding the telemetry code. IIRC it was something like "Either this guy has no clue what he's doing, which is pretty scary, or this guy knows exactly what he's doing, which is disgusting".

All they have to do to maintain a stranglehold is the bare minimum. In the meantime, I don't see why a little niche alternative would be a blip on their radar, except maybe to recognize that it helps pacify their loudest critics. As far as our issues with the Web Store, it's either one or the other. Either we've triggered Google's flawed automated review, or somebody is actively trying to sabotage us, in which case the list of suspects is short. In either case, apparently we're not important enough to let us know.

@narcolepticinsomniac
Copy link
Member

Alright, normally I'd be inclined to stick it out and hope that by some miracle Google comes around and lets us know which hoops to jump through, but schomery seems to wanna get Stylus off his account. Given the fact that he maintains a bunch of extensions, and Stylus keeps getting his account suspended, I can't say that I blame him.

@TayliaM has agreed to register our stylus.openstyles@gmail as a dev account and resubmit Stylus. She's a longtime friend from US.o and I'm more than comfortable with that. Obviously we'll lose our thousands of installs, 100+ 5 star reviews, and a new URL will also screw with themes, but given the fact that the current version appears to have a hex on it, attempting a transfer seems unwise.

@tophf @schomery

If you guys are on board with this, she'll do it tomorrow night. Assuming the approval process goes smoothly, at least we'll all have access to push updates going forward. @schomery If you could walk her through the process, that'd be helpful. I assume it's just a matter of uploading the last stable zip and then there must be additional steps for description, promo tiles and payment, but if you can elaborate or clarify, please do.

@narcolepticinsomniac
Copy link
Member

Highly doubt it. TayliaM wouldn't unless asked, and I'm not sure we'd ever need to. Pretty sure schomery only submitted to AMO for the bug fixes. We've been avoiding the Web Store for as long as possible, but we need to find out how it's gonna go eventually.

@schomery
Copy link
Contributor Author

did any of you submit 1.1.5 to the Chrome webstore?

Not me.

@schomery
Copy link
Contributor Author

I am going to create a new Opera account and hopefully we can move the Opera version to this new account as well.

@schomery
Copy link
Contributor Author

btw, I added a new filter to forward all the incoming emails into my personal mailbox. If anybody else also would like to have this, you can simply add a new filter to the Gmail account.

@tophf
Copy link
Member

tophf commented Nov 15, 2017

Great!
Regarding Chrome Webstore, I think we'll wait for a week or so to fix any possible bugs reported by the users of the AMO version.

@tophf
Copy link
Member

tophf commented Nov 20, 2017

Nope, got the retarded automated message again:

Your item did not comply with the following section of our policy: An extension should have a single purpose that is clear to users. Do not create an extension that requires users to accept bundles of unrelated functionality. If two pieces of functionality are clearly separate, they should be put into two different extensions, and users should have the ability to install and uninstall them separately. Your item is still published, but is at risk of being removed from the Web Store.

@tophf
Copy link
Member

tophf commented Nov 20, 2017

It's unlikely the webstore fixes their detection script anytime soon so I guess it's almost the end for Chrome users who don't side-load extensions locally.

@Serkan-devel
Copy link

So I won't recieve updates over the chrome webstore?

@narcolepticinsomniac
Copy link
Member

Jesus... WTF.

So I won't recieve updates over the chrome webstore?

Tophf is frustrated, and for good reason. What it means for sure is that the Web Store is still gonna be a nightmare, which means we'll avoid attempting to update as often, and when we do push an update it'll likely get an automated rejection. It will also very likely keep getting randomly pulled from the Web Store. It's happened a couple times already, once for a couple days and another for quite a few. So far, it has always gotten re-approved on appeal, but there's no guaranteeing that. Regardless, whatever the re-approval process is, they don't "unflag" Stylus, or bother to tell us what is triggering their bots in the first place, if in fact it does have to do with the actual code. Re-approval is pretty meaningless and temporary, and the whole process starts over again when another update is pushed. We're all sick of this shit.

As with all big companies nowadays, maybe the only way to effect change is to scream for attention on social media. Then you hope that an actual human in a position to help, notices and cares. @Music47ell started down that path, and sadly, maybe that's our best hope.

In the meantime, @tophf I don't think schomery ever tried submitting here specifically, so we might as well. I can send the initial complaint, unless you'd prefer to. I'll do my best not to curse them out and tell them how I really feel. If, by some miracle, we do get a response and the focus shifts to code specifics, you could do the talking at that point.

@tophf
Copy link
Member

tophf commented Nov 21, 2017

@narcolepticinsomniac, go ahead.

@tophf
Copy link
Member

tophf commented Nov 21, 2017

Got a human response: they cited line number 56 in background.js, which is empty, but line 54 opens add0n.com so I've replaced the hardcoded url with one extracted from the "Get Help" label in the style manager. Uploading an update to the webstore right now.

@schomery
Copy link
Contributor Author

schomery commented Nov 21, 2017

@tophf I would say remove the opening of FAQs page altogether.

@narcolepticinsomniac
Copy link
Member

Ha! Now we got rejected by Opera. WTF?

@schomery
Copy link
Contributor Author

Old versions get automatically rejected.

@tophf
Copy link
Member

tophf commented Nov 21, 2017

I would say remove the opening of FAQs page altogether.

@schomery, but it works in your other extensions and at this point I'm not even sure they cited the correct line number.

@schomery
Copy link
Contributor Author

For now just remove that module and do an update. It is safer this way. There is a chance that this account gets suspended as the Stylus is the only extension we have.

but it works in your other extensions

I think Stylus is flagged and now the reviewer wants this. Stylish extension also opens US.o!

@tophf
Copy link
Member

tophf commented Nov 21, 2017

Well, I've removed the explicit url which arguably was what triggered the detection bot and uploaded the new package. We have ~5 days to sort this out so let's wait for the webstore response.

@narcolepticinsomniac
Copy link
Member

Old versions get automatically rejected.

Weird, but good to know. Just saw "rejected" in my email client.

@Serkan-devel
Copy link

@schomery I'm currently on waterfox, but is stylus on chrome also affected?

@tophf
Copy link
Member

tophf commented Nov 21, 2017

@Serkan-devel, Chrome WebStore has nothing to do with Waterfox which is basically Firefox.

@tophf
Copy link
Member

tophf commented Nov 21, 2017

Got a response:

Dear Developer,
Thank you for reaching out to us.
Upon a subsequent review, we’ve reinstated your item and it is now available in the Chrome Web Store.
Thank you for your cooperation,
Chrome Web Store team

@Serkan-devel
Copy link

Is it still rejected on Opera?

@tophf
Copy link
Member

tophf commented Nov 21, 2017

Not exactly. In Opera's store the latest 1.1.6.1 is still awaiting moderation, it was never rejected.
The previous intermediate versions 1.1.5 and 1.1.6 were rejected automatically because they weren't yet reviewed when I uploaded 1.1.6.1.

@narcolepticinsomniac
Copy link
Member

narcolepticinsomniac commented Nov 23, 2017

Let's change the description to what actually Stylus does
Good point. @narcolepticinsomniac can you prepare a new one.

This is overdue. I wrote a more generic, concise description at the time, but figured we'd wait till pushing an update was necessary. Shortened URLs, with Stylish as a footnote. Figured you guys should TAL to check for any errors/inaccuracies, or other features which should be highlighted, and make suggestions if necessary:

Redesign your favorite websites with Stylus, an actively developed and community driven userstyles manager. Easily install custom themes from popular online repositories, or create, edit, and manage your own personalized CSS stylesheets.

***** Features *****

  • Versatility of theme installation options. Stylus supports installs from popular online repositories. Additionally, styles can now also be installed from .user.css or .user.styl URLs.

  • A backup feature for your entire database of installed styles which is compatible with other userstyles managers.

  • An intuitive and configurable automatic update function for installed styles.

  • A highly customizable UI, including theming, optional layouts, icon and badge color choices, along with many other tweaks.

  • Two different optional code validators with user configurable rules.

****** Useful Links ******

Video tutorial: https://goo.gl/scyDkE

FAQs: https://goo.gl/imTQdr

General discussion: https://goo.gl/HV5713

Discord: https://discord.gg/tzXVNJz

Bug report: https://goo.gl/zoMLdq

Changelog: https://goo.gl/U6vEj9

Help translate: https://goo.gl/kTHhrq

****** Open Source ******

Stylus is a fork of Stylish 1.5.2

Forked source code: https://goo.gl/eLhb7Q

Stylus source code: https://goo.gl/MjVUiT

GPLv3: https://goo.gl/ftFgHa

****** Privacy Policy ******

Your questionable browsing history should remain between you and the NSA. Stylus collects nothing. Period.


As I've previously stated, I think the description on AMO should lead off with emphasized disclaimers. Suggest changes if they're too snarky, although I've avoided using profanity so I feel like I've made a real effort. Condensed to fit as much as possible in the small part of the description AMO doesn't obscure:

DISCLAIMERS:
1.) Stylus is a WebExtension. THERE IS NO WEBEXTENSION API TO STYLE THE BROWSER UI OR INTERNAL PAGES. This restriction is imposed intentionally by Mozilla for security purposes. No, we won't be fixing this issue because it's not possible. If, after reading this, you still feel like blaming us for this restriction will make you feel better, go right ahead.
2.) ANDROID IS NOT CURRENTLY SUPPORTED. This may change at some point, but don't expect everything to work unless we do decide to officially support it.
3.) EXPORT BACKUPS OF YOUR DATABASE FREQUENTLY. The main reason we've kept the "beta" status is because WebExtension support is still a work in progress for Firefox. Many Firefox specific workarounds have been implemented, but backing up your DB regularly will save you a lot of aggravation should something happen to go wrong.

@tophf
Copy link
Member

tophf commented Nov 23, 2017

  • I'd use full URLs for source code and license, even that long one to the original 1.5.2
  • I'd remove the empty lines in the footer

AMO manifesto:

  • THERE IS NO WEBEXTENSION API TO APPLY CSS TO THE BROWSER UI [...]
    THERE IS NO WEBEXTENSION API TO APPLY CSS-BASED USERSTYLES TO THE BROWSER UI [...]
    Because there is a Theming API which is not CSS-based hence useless.
  • Add to the rant something about the alternative - using userChrome.css and userContent.css and the extensions that facilitate this trickery by overwriting those files and restarting the browser or something. Someone familiar with the process might help with a link to an article or tutorial or whatever.

@Serkan-devel
Copy link

But is there a webextension api proposed to do so?

@mechalynx
Copy link

mechalynx commented Nov 23, 2017

#92 (comment) @Serkan-devel - there's only the Theming API, nothing expected under WebExtensions.

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