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

Not working on Chrome, Edge (insider preview) or Brave version 78 or later #476

Closed
johnkamau opened this issue Oct 7, 2019 · 25 comments
Closed
Assignees
Labels
bug Confirmed bug in MaxTo. compatibility Incompatibility with other software.
Milestone

Comments

@johnkamau
Copy link

MaxTo regions are not observed by the latest chrome and firefox dev versions.

https://www.google.com/chrome/dev/
https://www.mozilla.org/en-US/firefox/developer/

@vegardlarsen
Copy link
Member

Does this issue persist after a reboot?

@johnkamau
Copy link
Author

Does this issue persist after a reboot?

Yes it does on chrome. A reboot seems to have fixed firefox.

@artesea
Copy link

artesea commented Oct 10, 2019

Just came to report a similar problem, had assumed the issue was with all apps, however testing and it's only happening to Chrome 78.0.3904.50 (Beta)

@KnightDemons
Copy link

Chrome version 78.0.3904.70 updated today and will not snap to location when I hold shift and drag it to there spot..

@giorgoc
Copy link

giorgoc commented Oct 24, 2019

Same problem here :-(

I am also using Brave Browser, built on Chromium, no issues there. But Chrome ... damn, perhaps the most commonly piece of software used on my PC.

@vegardlarsen vegardlarsen self-assigned this Oct 24, 2019
@vegardlarsen vegardlarsen added this to the 2.1.0 milestone Oct 24, 2019
@vegardlarsen vegardlarsen added bug Confirmed bug in MaxTo. compatibility Incompatibility with other software. labels Oct 24, 2019
@vegardlarsen
Copy link
Member

Diagnosis so far: Chromium does publish window messages for their windows; however, the CBT and CallWndProc hooks do not receive any notifications from any of Chromium windows, and therefore no MaxTo functionality initializes.

This is all very strange, because I can see the window messages in Spy++, which means that Spy++ is able to get hold of them in some manner.

@tarpaha
Copy link

tarpaha commented Oct 25, 2019

Same issue, Chrome Version 78.0.3904.70 (Official Build) (64-bit)
Very sad because I use MaxTo commonly for Chrome positioning.

@NicholasConrad
Copy link

Same behavior from Brave browser version 0.70.121 Chromium: 78.0.3904.70 (Official Build) (64-bit)

Has persisted through several reboots.

@artesea
Copy link

artesea commented Oct 26, 2019

Just to add that the Win+Left and Win+Right keyboard shortcuts are successfully resizing and moving my Chrome windows

@50l3r
Copy link

50l3r commented Oct 26, 2019

I have the same problem in 78.0.3904.70 (Build oficial) (64 bits)

@vegardlarsen vegardlarsen changed the title Not working on Chrome Dev (79.0.3928.4 64-bit) and Firefox Developer Edition (70.0b10) Not working on Chrome, Edge (insider preview) or Brave version 78 or later Oct 28, 2019
@vegardlarsen
Copy link
Member

I have confirmed that this issue happens for version 78 or later of

  • Chrome
  • Edge (insider preview)
  • Brave

Our global CBT and CallWndProc hooks do not pick up any events from these processes; although Spy++ can spy on its window messages.

I have created an issue with the Chromium project to try to get their help to track down this issue.

At the moment, there does not appear to be anything I can do on my end to fix this. I am going to have to wait for the Chromium project to respond.

As a workaround, MaxTo's keyboard shortcuts should work for quickly repositioning these browser windows, but most other functionality will be broken.

@vegardlarsen
Copy link
Member

Someone from the Chromium team pointed out that this has already been reverted in later versions, and that they disabled hooking on purpose as a security measure.

See this issue for details, which points to the following change in their source code. It is puzzling to me that they would do this, at this also disables IME input (basically on-screen keyboards for Asian languages), and that they stated that they were OK with it.

The feature has an "emergency off switch". It is different for each browser, but here is a registry file that disables this feature for all 4 affected browsers:

Windows Registry Editor Version 5.00
[HKEY_CURRENT_USER\SOFTWARE\Microsoft\Edge Dev\BrowserSboxFinch]
[HKEY_CURRENT_USER\SOFTWARE\Chromium\BrowserSboxFinch]
[HKEY_CURRENT_USER\SOFTWARE\Google\Chrome\BrowserSboxFinch]
[HKEY_CURRENT_USER\SOFTWARE\BraveSoftware\Brave-Browser\BrowserSboxFinch]

Create a new file with the .reg extension, copy and paste in the contents above, save the file, and then run it. You'll need to accept up to a two security prompts. Then restart the affected browser completely, and MaxTo should work again.

We will be including a fix for this by default in the next update of MaxTo.

@Gappa
Copy link

Gappa commented Oct 29, 2019

Thanks, hotfix confirmed working (Chrome).

@vegardlarsen
Copy link
Member

I have implemented the above workaround in our codebase, and it will be in the next release of MaxTo. I am therefore closing this issue.

@NicholasConrad
Copy link

I applied the fix on the 30th, and it worked for a while, but this morning Brave had reverted to the error condition. Re-running the .reg file then closing all instances of Brave restored the desired behavior.

@nickallevato
Copy link

The registry fix 'fixed' the recurring issue. Thank you for the information.
However, if I middle-click or left-click on a link, I 'lose' the proper 'region' sizing and the window returns to it's pre-max-to'ed size.

@nickallevato
Copy link

nickallevato commented Nov 1, 2019

@vegardlarsen I am also experiencing this when muting/un-muting VLC.
I am max'ed to a region, but when I come back to the window and click it seems to un-max-to the window.

Update: It's any click in VLC. Seems like 'going back' to the window is what is doing it because alt-tabbing back to it has the safe "un-max-to" effect.

hope this helps

@NicholasConrad
Copy link

NicholasConrad commented Nov 4, 2019

FYI, brave was exhibiting the error behavior again this morning. Re-runing the registry file and restarting the browser restored the expected behavior. This seems to be a recurring issue, will maxto be able to automatically fire off the reg script as needed in the proposed 'fix' implementation? if not it may be wise to add some kind of user-accessible button to regain control of these browsers on demand.

UPDATE:

Upon further testing, it appears the reg file only works for the next browser session. If I run the reg file, the behavior is fixed only so long as I retain at least one brave window open, as soon as I close all instances of the browser, the error behavior re-asserts itself, and the reg file must be re-run to restore the desired behavior.

@shinmai
Copy link

shinmai commented Nov 8, 2019

The referenced issue above that was closed as a duplicate is not affected by the registry fix in this issue, and is also present with Chrome 78.0.3904.97.
Can reproduce 100% consistently by:

  1. Snap Chrome window to a region
  2. Shift focus away from chrome
  3. Shift focus back to the Chrome window

Expected behaviour: Chrome window gains focus but doesn't change it's position or dimensions.
Actual behaviour: Chrome window gets popped out of the region, resized to it's original size and positioned with it's horizontal centre as close to the mouse cursor as possible while still staying inside the same display.

The window can be popped back into place with shortcuts, but it's still a massive hassle, since even if the browser window has some passive content like a monitor of some kind, it's easy to accidentally shift focus to the window when navigating between apps, etc.
Does not happen with any other application I've tested.

@vegardlarsen
Copy link
Member

@shinmai Are you on MaxTo version 2.1.0-alpha.1 or 2.0.1? Have you tried re-running the registry fix and restarting Chrome? How about restarting your computer?

@shinmai
Copy link

shinmai commented Nov 8, 2019

I'm on 2.1.0-alpha1.
I've tried merging the registry keys a number of ways (merging while Chrome is running, merging with all Chrome processes killed, restarting the browser or rebooting after merging, and any combination of the above I could think of) same experience throughout.

For now I'm using Edge for browser windows I need to stay in regions, but would obviously like to return to my preferred browser ASAP.

@vegardlarsen
Copy link
Member

@shinmai Ah, if you are on 2.1.0-alpha.1, it is an issue just in that version (and it affects more than just Chrome). See #487, which will be fixed in the next release.

@shinmai
Copy link

shinmai commented Nov 8, 2019

Oh, good to hear! I'll eagerly await alpha2, then.

@thewavelength
Copy link

thewavelength commented Jan 14, 2020

@vegardlarsen Path for the Chromium-based Iridium browser:

[HKEY_CURRENT_USER\SOFTWARE\Iridium\BrowserSboxFinch]

Works as well.

@vegardlarsen
Copy link
Member

@thewavelength Took me a while, but I've added Iridium to the automatic patch list for MaxTo as well.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Confirmed bug in MaxTo. compatibility Incompatibility with other software.
Projects
None yet
Development

No branches or pull requests