Mac app - Zoom resets when using Cmd + Tab

Steps to reproduce

I haven’t found a consistent set of steps that leads to this bug. It seems to happen at random intervals but always after I move to the Dynalist window using command + tab.

Another factor that may or may not be influencing this behavior is the fact that I have two external monitors. I would like to know if this happens to anyone else and what their setup is.

Expected result

The zoom level should stay constant

Actual result

It zooms out five steps. But if I zoom in once, it goes forward five steps (so, back to normal).

Environment

Which operating system are you using? MacOS Catalina 10.15.3 (19D76)
Which browser are you using? Chrome
If you’re using a desktop or mobile app, what’s the version number of Dynalist? 1.3.3
Are you using any third-party scripts for Dynalist, e.g. PowerPack? No

1 Like

We’ve seen something similar with another shortcut that seems to have been fixed. Internally I know this issue is caused by Electron’s per-host zoom settings which I can’t seem to be able to override. Will track this as a bug, and try to figure something out.

1 Like

Also, switching the app from one screen to another (using Spectacle, for example) causes the same sporadic issue.

Thank you for the info. I’ve actually tried to fix the underlying issue a few months ago to no avail, but I will attempt again with a different approach.

2 Likes

If it adds something, I’m using linux and experiencing the same behavior. I also have one external monitor so I’m not sure if it is the cause.

How did the new attempt go? :blush:

I’ve noticed other Electron apps I use (eg: VS Code) don’t have this issue.

It seems to be related to how Electron fails to understand that file://...#d=123 is the same site as file://...#d=456.
Internally, they use a system to track whether you’re on the same “website” just like how Chrome remembers your zoom on a per-website basis. Normally it’s able to parse the URLs correctly to find the host (for example, dynalist.io), but for some reason it just gives up when using the file:/// protocol, so anytime you navigate in Dynalist, the app thinks you’re on a different website now.

There is an API to force the zoom level, but again it only forces it for the “current” website, so we’ll have to catch every place that is considered a change of site and force it again. I’ve tried a few things here but nothing really works well enough for me to consider it fixed.

I suspect other electron apps may not use the URL to record navigation like Dynalist does.

There’s one more trick I have is a bit more involved, but I suspect could fix it, is to register a new protocol and attempt to make Electron believe it works the same way as http in terms of how the host parameter is parsed. Will give that a try when I circle back to work on the desktop app.

1 Like

I’ve put a patch with an attempted fix in the next version. Will be out soon so hopefully you guys can let me know if it’s fixed.

2 Likes

I was testing for a few days and notice I’m not having the issue anymore :smile:
Will put it here if I find it again in the future.
Thanks a lot!

2 Likes

Me too. I’m pretty sure it’s fixed now :clap:

Thank you!