* Fixed the issue where the window doesn't remember the last window state
* Fixed issue with unsnapping windows on switching server on Windows
* Fix tests
* Rename MattermostTeam -> UniqueServer, MattermostTab -> UniqueView
* Rename 'team' to 'server'
* Some further cleanup
* Rename weirdly named function
* Rename 'tab' to 'view' in most instances
* Fix i18n
* PR feedback
* Rework tray into a class, make click behaviour consistent
* Fix issue where app wouldn't switch to workspace where the app was visible
* Fixed an issue where the app would show the window with hideOnStart enabled
* Add comment about StatusIconLinuxDbus
* Fix tests
* Fix bad handler on resize for Linux
* Fix maximize/minimize issue again
* Fix macOS rapid resizing issue
* Make sure #2638 is still fixed
* Still don't need this
* Added comment and fixed test
* Move sendToRenderer to respective singletons
* Move to using ViewManager call for getting view by webContentsId
* Move show and create logic to main window, handle deep linking seperately
* Move resizing logic and event handing to mainWindow
* Move server switching logic to main/app
* Move tab switching logic to main/app, rely on showById for most usage
* Migrate remaining functions, remove windowManager objects, set up imports for self-contained singletons
* Fix E2E tests
* Update src/main/app/servers.ts
Co-authored-by: Elias Nahum <nahumhbl@gmail.com>
---------
Co-authored-by: Elias Nahum <nahumhbl@gmail.com>
* Migrate loadingScreen to singleton
* REVERT ME when MainWindow singleton changes are merged
* Revert "REVERT ME when MainWindow singleton changes are merged"
This reverts commit 2de5520117b9aefb8eeb161d493de7cb275f7a5b.
* Add language files
* Add react-intl, mmjstool, setup for adding translations
* Translated main module
* Translations for renderer
* A few minor fixes
* More fixes
* Add CI, add missing menu translations, other cleanup
* Added setting to manually select the language of the app
* Force English for E2e
* Unit tests
* Fix mmjstool
* Move set language to before update menu
* PR feedback
* Add debug logging switch
* Add tests
* Mock electron-log globally in jest
* New logs for debugging
* Switch to a dropdown to choose log levels
* Fix tests
* Update wording
* Add preference to open app in full screen
* CLI flag for fullscreen and function to return fullscreen state
Parsing the config or the args to define how to open the app. Args take priority over the config, and fallback is the window state.
* Optional TS config value
Co-authored-by: Devin Binnie <52460000+devinbinnie@users.noreply.github.com>
* Remove undefined check for `Config.startInFullscreen`
* Fixed optional arg for test
* Fixed jest test
* fullscreen optional window value
* Update src/main/windows/mainWindow.ts
Co-authored-by: Guillermo Vayá <guivaya@gmail.com>
* Update src/main/windows/mainWindow.ts
Co-authored-by: Guillermo Vayá <guivaya@gmail.com>
* Type fixes
Co-authored-by: Mattermod <mattermod@users.noreply.github.com>
Co-authored-by: Devin Binnie <52460000+devinbinnie@users.noreply.github.com>
Co-authored-by: Guillermo Vayá <guivaya@gmail.com>
Co-authored-by: Devin Binnie <devin.binnie@mattermost.com>
* [MM-30713] Stop Linux app from minimizing/hiding without user warning
* Added same behaviour for Windows
* Update messages
* Change wording
* Fix for accidentally disabled setting
* Refactor main.ts dependencies into singleton pattern
* Split main.ts into testable pieces, some other refactoring for singleton pattern
* Unit tests for main/app/app
* Unit tests for main/app/config
* Unit tests for main/app/initialize
* Unit tests for main/app/intercom
* Unit tests for main/app/utils
* Add some more tests to get to 70% coverage
* Fix for linux
* Fix for alternate data dir paths
* Fix E2E test