-
Notifications
You must be signed in to change notification settings - Fork 829
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
[MM-60308] Add a set of "Developer Mode" settings that allow the user to turn off systems or force the app to behave a certain way #3144
Conversation
…unctionality, added setting to disable context menu
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM, just one small detail.
@@ -82,6 +82,7 @@ export class UserActivityMonitor extends EventEmitter { | |||
*/ | |||
stopMonitoring() { | |||
clearInterval(this.systemIdleTimeIntervalID); | |||
this.systemIdleTimeIntervalID = -1; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is this change related to Developer Mode? Just wondering
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Not directly, it fixed an issue where if we wanted to start monitoring again, we check if the ID is <0. But we never reset it after we stopped monitoring, so it wouldn't be able to restart.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@devinbinnie Not sure how to test this, which env variable do I change and how?
But I'm also not sure if this needs any UX testing. We should just make sure it works as expected on Windows too if we haven't already checked that. Other than that, feel free to remove me as a reviewer and go ahead with this.
The variable is
The reason I asked for UX was to confirm that the indicator (screenshotted above) looked alright, and that the descriptions of the menu items made sense. If that's all okay, you can approve (or remove yourself) and we'll go from there |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good to me!
One quick suggestion — For Force Legacy API
and Force New API
, we can make it clearer what it is about by changing them to something like Force Legacy Messaging API
and Force New Messaging API
. I'm 0/5 on it though and it might be obvious enough for the right audience as is.
Summary
This PR creates a Developer Mode, hidden behind an environment variable that when set, will unlock certain options allowing users to fiddle with the behaviour of the Desktop App. This mode is designed to aid developers in debugging performance issues with the Desktop App, where we believe certain systems with the Desktop App may be the culprit.
The settings added here are:
contextBridge
APIcontextBridge
API and completely disables the legacy oneThis mode should not be turned on by anyone who isn't a developer, or was instructed by a Mattermost developer to turn this on. When the feature is on, an indicator will show up on the top bar showing that you are in Developer Mode:
Ticket Link
https://mattermost.atlassian.net/browse/MM-60308