gab-ai-inc / defiant-browser

Welcome to the free speech Internet.
Mozilla Public License 2.0
108 stars 23 forks source link

Compat issues when Dissenter and Brave are both installed #36

Open jonathansampson opened 4 years ago

jonathansampson commented 4 years ago

Description

Notifications in the browser (both Dissenter and Brave) depend on an executable called notification_helper.exe. This application is able to trigger a new Brave/Dissenter process via runtime arguments. If the user clicks on a notification, that notification may try to open a new window or tab in the user's browser (whether it be Dissenter or Brave).

The browser uses a CLSID to locate the notification_helper.exe file. The CLSID for the "toast activator" in Brave is { 0x6c9646d, 0x2807, 0x44c0, { 0x97, 0xd2, 0x6d, 0xa0, 0xdb, 0x62, 0x3d, 0xb4 } } (or {06C9646D-2807-44C0-97D2-6DA0DB623DB4}).

When Dissenter was forked from Brave, this value wasn't changed (other CLSIDs were). As a result, if a Dissenter user has installed Brave at a later point, notifications in Dissenter are unlikely to work from that point forward. Likewise, if a Brave user has installed Dissenter at a later point, notifications in Brave are unlikely to work from that point forward.

Other structs were unchanged as well. See https://github.com/gab-ai-inc/defiant-core/blob/master/chromium_src/chrome/install_static/chromium_install_modes.cc#L59-L70, and compare with https://github.com/brave/brave-core/blob/master/chromium_src/chrome/install_static/chromium_install_modes.cc#L59-L70.

Solution

You can use a tool like uuidgen.exe to generate a completely new CLSID. I just generated the following, if it helps: {2d4726af-cbe6-4c25-8a60-de98ea79996c}. Using this would allow the two browsers to co-exist on the same machine without causing any compat issues for either.

I hope this helps. Please do let me know if I can clarify any point. Thanks!

jonathansampson commented 4 years ago

Note that this is still an issue; Dissenter has not yet replaced Brave's CSLIDs with its own.

freespeech4ever commented 4 years ago

Alright, I can address this next build.

jonathansampson commented 4 years ago

Thank you, @freespeech4ever. Do you have a rough ETA on when that next build will launch?