* [MM-54863] Add permissions manager UI in Edit Server modal, improve permission checks to be less missable
* Removing this for E2E (which was having issues anyways)
* PR feedback
* Disable permissions dialog for current E2E tests
* Fixed the dark mode CSS
* Update icon
* Some ESLint fixes
* Add login/logout signal to API, clear mentions on logout and flush cookies on login/logout
* Fix issue where local and HTTP-only servers would not validate correctly
* Reduce noise of renderer logging, adjust a few local renderer logs to be louder when needed
* Fallback to beginning of hostname for servers that don't change the site name
* Fix Save Image crash
* Update the name for insecure servers too
* Fix test
* Fix lint
* Reduce repetition
* Add constants for app info, add to API
* Migrate history button
* Converted calls API over to context bridge, removed some unnecessary logging
* Convert to TS, add types for web app to consume
* Fix tests, prune
* Fix lint
* More changes to support the legacy API
* Force legacy code off, add support for unreads/mentions/expired through the API
* Fix issues with cross-tab login, removed need for log in/log out signalling
* Fixed test, typos
* Change package name for types
* Add some other stuff to the types
* PR feedback
* More feedback
* Use npm package
* Change types and API to provide off listeners
* Version number
* Lock
* Fix typo
* Add sessionID for calls
* 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
* 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 app to ServerManager, remove view names and replace with IDs
* Fixed a test
* Fixed a bug when adding the initial server
* Merge'd
* Bug fixes and PR feedback
* Implement ServerManager, introduce id concept for identifying servers/views
* REVERT ME (eventually): Move back to old logging
* PR feedback
* PR feedback
* Revert "REVERT ME (eventually): Move back to old logging"
This reverts commit 46954a5bbed4dd29e89ca9d5217bb75af2837bb3.
* Merge'd
* Use the correct method for Logger in ServerManager
* Create central logging module for adding prefixes to differentiate logs between modules
* Turn logger into class
* Merge'd
* Rework to use class more intelligently
* Fix modalView
* Fix webContentEvents
* Update src/main/app/intercom.ts
Co-authored-by: Daniel Espino García <larkox@gmail.com>
* Shorten prefixes on object creation
---------
Co-authored-by: Daniel Espino García <larkox@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.
* Harden Calls windows URL navigation checks
* Update src/main/windows/callsWidgetWindow.ts
Co-authored-by: Eva Sarafianou <eva.sarafianou@gmail.com>
* Fix bad merge
* Extract team name to use isUrlType
* Simplify
---------
Co-authored-by: Eva Sarafianou <eva.sarafianou@gmail.com>
* Migrate intl_provider to contextBridge
* Migrate modalPreload to contextBridge
* Migrate loadingScreenPreload to contextBridge
* Migrate downloadDropdown preloads to contextBridge
* Migrate server dropdown preload to contextBridge
* Migrate urlView preload to contextBridge
* Merge all desktop API scripts into one
* Remove unused communication channel constants
* Add some logging, refactor setting config items
* Move active team to setMultiple, reduce serverInfos calls if the data is already the same
* Fix some logging
* Lint fix
* [MM-43941] Optimize app resizing on Windows/Linux by waiting for the viewport to resize
* Some mitigations for Windows
* Make the logs sillier
* Fixed the no servers case
Co-authored-by: Mattermod <mattermod@users.noreply.github.com>
* 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
* only refresh view when the server URL changes (MM-34565)
Create views of current and incoming tabs indexed
by unique [URL, TABTYPE] tuples, and diffing them.
Tuples that are identical are recycled, merely
porting the new server name over.
* lint fixes
* WIP
* linting
* remove dependency on by, duad
* provide a more exaplanatory name for TabView.prototype.tuple (urlTypeTuple)
* minor improvements in viewManager
- remove stateful behaviour from makeView
- more descriptive variable names when looping
- create new arrays before sorting (sort is in-place by default)
* resolve linting errors
* 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
* 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