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

Display '-patched' by version in about dialog and issue reporter when impure #58014

Closed
wants to merge 3 commits into from

Conversation

RMacfarlane
Copy link
Contributor

#56929

When source code has been tampered with, adds '-patched' to the version information sent in the issue reporter and in the about dialog. Removes '[UNSUPPORTED]' from the titlebar.

Since the IntegrityService is not available when the WindowsService is constructed, I've added an _isPure flag to the WindowsService that gets updated after a window is created.

Copy link
Member

@bpasero bpasero left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@RMacfarlane I would not suggest to remove the title change, otherwise we make it even less visible that people run a patched version. I would also make the issue reporter inform the user even stronger that the version is unsupported, possibly not even allowing to file an issue in the first place?

@bpasero
Copy link
Member

bpasero commented Sep 6, 2018

I also wonder if we should move the integrity check code to the main side (given it is being needed there now) and out of the renderer. I see no reason why we should check for integrity on each window that opens?

@alexandrudima for input on that suggestion.

@alexdima
Copy link
Member

alexdima commented Sep 6, 2018

Brief history:

  • people were installing an extension that was actively modifying workbench.main.css and workbench.main.js to get icons.
  • we were receiving a lot of issues on GitHub where we would investigate for a long time and it turns out the problem was introduced by 3rd party patching.
  • we added a trivial md5 checksum to indicate to people that they should not file issues against us because we cannot support a version patched by a 3rd party.
  • the check ends up painting [Unsupported] and shows a message box saying that the software is not supported and they should not create issues to us.
  • we've added the title indication to make it from screenshots if the users are using a patched version.

Now it turns out there is an extension in the marketplace that removes the md5 checksums to prevent the title and the popup from showing.


I am OK to move all the logic into the issue reporter. The issue reporter can show with big bold letters that we are not accepting issues from this installation because it is patched. The form should be disabled. Then, we can remove the title indication and even the message box... It turns out we don't get a lot of issues from the patched version anymore...

@bpasero
Copy link
Member

bpasero commented Sep 6, 2018

@alexandrudima yeah thats an alternative which seems like it could work (move everything into the issue reporter). I do agree that we probably get most issues through there so we should make sure to prevent that at this level.

@RMacfarlane
Copy link
Contributor Author

My only concern is that if we make it impossible to file from the issue reporter for people with patched versions, they would just go to GitHub directly and not include the information that there was patching. So perhaps we should also add a statement in the issue template about this. Otherwise I think moving all of the logic into the issue reporter is a good idea.

@fabiospampinato @Tyriar fyi

@Tyriar
Copy link
Member

Tyriar commented Sep 6, 2018

I think we should show patched in the issue reporter, the about dialog and if possible, code --version and code --help. If people report issues we could request they run code --version and paste in the output or screenshot the about page. I'm not sure if it's a lot of work to do this check inside the CLI.

@fabiospampinato
Copy link
Contributor

fabiospampinato commented Sep 6, 2018

IMHO preventing to file issues all together via the issue reporter is too user hostile, besides it's impossible to know for sure if someone was running a patched version or not. I'm personally running a patched version and I've opened quite a few issues, which in theory are somewhat valuable for the product.

Perhaps the problem should be tackled from the other way around, removing the need for patching the program because the reasons why people do it are already supported (e.g. allowing loading a custom CSS file, or #39137 (comment)).

@bpasero
Copy link
Member

bpasero commented Sep 7, 2018

I am honest: I never pay attention to screenshots, status output or whatever for the "patched" label. If the issue reporter has a big fat warning I think that would help me more.

@Tyriar
Copy link
Member

Tyriar commented Sep 7, 2018

Perhaps the problem should be tackled from the other way around, removing the need for patching the program because the reasons why people do it are already supported (e.g. allowing loading a custom CSS file, or #39137 (comment))

@fabiospampinato but the real "fix" for that is to allow direct access to the DOM which I don't see every happening. Also remember as the extension API grows, so does the cost in maintaining it which has a direct impact on our ability to make certain changes.

For #39137, let's keep discussing over on that issue.

@fabiospampinato
Copy link
Contributor

@Tyriar it would be useful to know why people are patching the program, I doubt the majority of the people are mutating the DOM other than for loading a custom CSS file 🤔 Maybe by adding support for this a big enough percentage of people will stop patching.

@bpasero bpasero assigned RMacfarlane and unassigned bpasero Aug 8, 2019
@joaomoreno joaomoreno changed the base branch from master to main February 15, 2021 08:51
@TylerLeonhardt
Copy link
Member

This is so old. I'm just going to close it.

@github-actions github-actions bot locked and limited conversation to collaborators Jul 24, 2021
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants