Commit Graph

146 Commits

Author SHA1 Message Date
Julian Mondragón
8f8407c16a MM-46445_Add a way to bypass Desktop App onboarding to buildConfig (#2232) 2022-08-23 11:19:41 -04:00
Julian Mondragón
faf2dae74b MM-25003_Improve Onboarding screens for the desktop app - Intro Screen (#2220) 2022-08-16 12:33:03 -05:00
Devin Binnie
1270859d39 [MM-46101] Move allowed protocols to build config (#2217) 2022-08-15 09:06:31 -04:00
Devin Binnie
829b49571f [MM-43941] Optimize app resizing on Windows/Linux by waiting for the viewport to resize (#2204)
* [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>
2022-07-26 10:25:13 -04:00
Devin Binnie
e73e77daf9 Fix some issues caused by i18n addition (#2209)
* Fix some issues caused by i18n addition

* Couple more small changes
2022-07-26 09:11:56 -04:00
Devin Binnie
59e4e7e516 [MM-14058] Add support for i18n (#2190)
* 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
2022-07-14 11:04:18 -04:00
Devin Binnie
3d353d021b [MM-44666] Set default window size to 1280x800 (#2154) 2022-06-14 10:20:04 -04:00
Devin Binnie
b4a779a666 [MM-44607] Only cleanse subpath if it occurs at the beginning (#2129)
* [MM-44607] Only cleanse subpath if it occurs at the beginning

* Fix tests
2022-05-27 11:37:07 -04:00
Devin Binnie
42a53e31b5 [MM-44344] Restore zip build for Windows and remove auto-updater from it (#2132) 2022-05-27 09:32:27 -04:00
Devin Binnie
37fe523e8c Fix issue with changing servers and tabs (#2126) 2022-05-26 14:17:44 -04:00
vas
4efac368d5 only refresh view when the server URL changes (MM-34565) (#2082) (#2094)
* 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
2022-05-20 11:06:43 -04:00
vas
aeda1dfdcc automatically add protocol to Server URL (#2083) (#2106)
* automatically add protocol to Server URL (#2083)

* refactor NewTeamModal to only detect protocol on save

* use window.postMessage for intercom + only ping on form save
2022-05-17 09:41:56 -04:00
Devin Binnie
9d3c1327b9 Turn off updates for DEB and TGZ distributions (#2093) 2022-05-10 09:36:55 -04:00
Devin Binnie
9b3d37e953 MAS: remove default download location (#2070) 2022-04-25 09:37:43 -04:00
Devin Binnie
c47da0de29 Fix download folder for MAS (#2063) 2022-04-19 20:16:58 -04:00
Devin Binnie
9b466b67f6 [MM-39793][MM-T2633] E2E Test: Use back button to return to the desktop app login - and fixes (#2043)
* [MM-39793][MM-T2633] E2E Test: Use back button to return to the desktop app login - and fixes

* Lint and test fixes
2022-04-08 15:04:00 -04:00
Devin Binnie
626fea84a5 [MM-41999] Add additional logging for debugging, allow users to change log level (#2031)
* 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
2022-03-31 16:46:57 -04:00
Colton Shaw
81cb2b6bed Fullscreen mode (#1968)
* 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>
2022-03-28 17:22:08 -04:00
Devin Binnie
3eb904cd67 [MM-41891] Improve error and reload states (#2019) 2022-03-18 10:16:12 -04:00
Devin Binnie
14197d1707 [MM-42086] Upgrade to Electron v17 (#2013)
* [MM-42086] Upgrade to Electron v17

* Added viewName

* merge'd

* Update package-lock

* Try it again
2022-03-14 10:09:36 -04:00
Carrie Warner (Mattermost)
90202f1fbe MM-41988 Updated links to legacy domain about.mm.com (#2003)
* Updated links to legacy domain about.mm.com

* Updated links to legacy domain about.mm.com

* Update README.md

* Legacy domain URL updates (#2012)

* Update .github/ISSUE_TEMPLATE/troubleshooting-question.md

Co-authored-by: Harrison Healey <harrisonmhealey@gmail.com>

Co-authored-by: Harrison Healey <harrisonmhealey@gmail.com>
2022-03-10 16:40:06 -05:00
Guillermo Vayá
d2435a561c [MM-18552] Autoupdater (#1714)
* wip

* background download

* various fixes

* wip

* wokring autoupgrade

* fix menu

* fix windows

* cleanup

* add publishername

* fix messages and titles

* Test updates

* Moved module and added functionality to click icon to install (instead of just download)

* Add auto update setting, update on close app if downloaded

* Tests, changes for security fixes, update version number

* Update E2E tests

* Lint fix

* Update to latest electron-updater

* Revert to stable electron-builder (only needed to update electron-updater)

* Fix package-lock

* skip flaky test

* Update package

* Fix E2E test

* Fixes for enabling/disabled autoupdater

* Fixed GPO definitions

* [MM-38300] Set localhost as the test server

* blank

* Switch to s3 bucket for testing

* Update icons to match spec

* Add menu items for download/update actions

* Type and test fixes

* Fix notification circle

* Fix macOS app not restarting on Restart/Update

* Update dialog box titles

* Turn off file system check for Linux

* Changes to support deployments

* Testing autoupdater deployments to s3

* disable tests for now

* asfrehwf

* fine no windows WHATEVER

* remove windows again

* Try universal all in one

* pffftttngggguhhhh

* make sure it's working

* Missed artifacts script

* Modify destination as well

* one more time!

* Update yml files

* Oops

* add yq manually

* oof

* Fix the script to work properly

* Fix release script

* Fix script again so it runs in time

* Build version 2

* Revert build specific changes

* Lint override

* Fix build apps for PR builds

* One more change

* Add file generation for .deb repo

* Deb repo test

* skip tests for now

* Fix artifact push

* Persist after repo creation

* Put tests back

* Fix unit tests

* Enable mac generated builds temp

* Temporarily disable tests

* Fix issue where notification doesn't pop dialog box

* Try version 2 again

* Put the version back

* Attempting to debug mac app path issue

* Fix issue where Mac app will quarantine itself after first update

* Lock versions of yq

* Fix yq for mac

* As usual, Mac is difficult :P

* Add quotes to anti-quarantine command

* Change to spawn to avoid command injection

* Oops

* Nightly deployment changes (#2005)

* Test nightly deploy

* I fixed a some things

* aaaaaaaaa

* Restore old bucket

* Added progress indicator via tooltip

* Ship nightly builds to main S3 bucket

* PR feedback

* Fix a couple security exploits

* Fix opacity on light mode button

* Use large app icon

* Resize icon for Windows

* Resize icon for Mac

* Update to electron-updater final

* Remove Mac support and deb repo

* Typo

* Remove deb script

* Remove checksum function

* Removed autoUpdateSettingsPath

* Update URL

Co-authored-by: = <=>
Co-authored-by: Devin Binnie <devin.binnie@mattermost.com>
Co-authored-by: Mattermod <mattermod@users.noreply.github.com>
Co-authored-by: Devin Binnie <52460000+devinbinnie@users.noreply.github.com>
2022-03-08 11:38:38 -05:00
Devin Binnie
fc13f877f2 [MM-30713] Stop Linux and Windows app from minimizing/hiding without user warning (#1988)
* [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
2022-03-01 12:35:27 -05:00
Devin Binnie
94cc15168c [MM-41559] Dynamically size URL view to avoid overlapping bottom links (#1991) 2022-02-04 11:05:06 -05:00
Alejandro García Montoro
c43dfe6002 MM-41042: Allow trusted plugin routes (#1956)
* Allow trusted plugin routes

The only allowed plugin route is, for now, the export endpoint for the
channel export plugin.

* Keep it simple
2022-01-20 15:19:48 -05:00
Devin Binnie
8f96fe42c7 [MM-32371] Communicate history information to webapp for disable/enabling Back/Forward buttons (#1941)
* [MM-32371] Communicate history information to webapp for disable/enabling Back/Forward buttons

* Merge'd
2022-01-10 17:38:23 -05:00
Devin Binnie
adf494e944 [MM-36058][MM-40572] Tray fixes (#1933)
* [MM-36058] Added config migration function, update default tray icon theme to system, allow Windows users to override icon theme

* [MM-40572] Restore minimize to tray option for Windows

* Lint fix

* Test fix

* Oops
2022-01-04 15:00:56 -05:00
Devin Binnie
c4e63fb3f9 [MM-40574] Fix for race condition where new server modal didn't show initially on Linux, resizing issues (#1865)
* FIx for linux modal sizing

* Fix race condition, merge'd
2021-12-17 09:10:08 -05:00
Devin Binnie
9b1ee66c8c [MM-32946][MM-40602] Ensure URL is valid before showing tooltip link, allow parsed URLs that aren't valid to open in browser (#1925)
* [MM-40602] Ensure URL is valid before showing tooltip link

* Rework to allow invalid URLs to display

* [MM-32946] Allow parsable URLs and open invalid URIs in browser
2021-12-16 10:06:11 -05:00
Profesor08
a410222e14 add hide on start option (#1919)
* add hide on start option (#1918)

* text update

* clean up

* removed `hideOnStart` from ConfigV1 & ConfigV2

* tests update
2021-12-13 15:19:59 +01:00
Devin Binnie
39fbdf45c5 [MM-40406] Add more singletons, refactor main.ts into pieces, add tests and some cleanup + tests for additional coverage (#1890)
* 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
2021-12-09 15:11:55 -05:00
Devin Binnie
73056d2649 Code cleanup, update eslint from webapp, add ts-prune (#1884) 2021-12-03 16:01:49 -05:00
Devin Binnie
a4a275bd73 [MM-39491] Force Add Server modal to stay until server has been added (#1869)
* [MM-39491] Force Add Server modal to stay until server has been added

* Make the parameter optional

* Actually do the logic, add a test for the logic

* Add remove event listener
2021-11-25 09:47:20 -05:00
Devin Binnie
3b4437e480 [MM-40025] Stop app from redirecting to tabs when not logged in (#1870) 2021-11-22 09:49:53 -05:00
Devin Binnie
113d87fe04 [MM-39888][MM-39960][MM-39961] Added tests for common/tabs, common/config, added coverage tool (#1857)
* [MM-39888] Unit tests for common/config

* [MM-39960][MM-39961] Added tests for common/tabs, added coverage tool

Co-authored-by: Mattermod <mattermod@users.noreply.github.com>
2021-11-10 09:51:56 -05:00
Devin Binnie
38270fcfe8 [MM-39885] Migrate unit tests to Jest, fleshed out tests for common/util, a bunch of cleanup (#1852)
* [MM-39885] Migrate unit tests to Jest, fleshed out tests for common/util/url

* Typo fix

* Oops

* I found more tests!

* Fixed a bug

* Oops again

* Tests for common/utils/util

* A bunch of cleanup

* Oops
2021-11-08 10:04:47 -05:00
Devin Binnie
0bd5a54c76 [MM-39839] Changes for writing unit tests, some re-org (#1849)
* Move tests to individual folders

* Moved e2e tests to e2e folder, fixed lint issues

* Lint fix
2021-11-04 11:29:32 -04:00
Devin Binnie
ba974dbf75 [MM-39428] Check for EBUSY, add retry logic and logging for writing to config (#1845) 2021-11-03 09:26:56 -04:00
Devin Binnie
c53e897bfd [MM-38875] Migrate E2E testing to Playwright, re-enable tests (#1800)
* WIP

* WIP

* WIP

* WIP

* WIP

* WIP

* WIP

* WIP

* WIP

* WIP

* WIP

* WIP

* WIP

* WIP

* WIP

* WIP

* [MM-38875] Migrate E2E testing to Playwright, re-enable tests

* Add functionality to map view names to Playwright windows

* Added search box test

* Added robot.js for automating key presses

* Add test using key strokes to navigate menu

* Reload test and added webcontentsid to test helper

* Check Ctrl+Shift+R as well

* oops

* Reorganize

Co-authored-by: Mattermod <mattermod@users.noreply.github.com>
2021-10-28 13:17:10 -04:00
Devin Binnie
047db6e6e8 Changed version checking code for native window and correctly support frameless on Windows 8 (#1829) 2021-10-19 16:04:00 -04:00
Devin Binnie
cde76cc15f Fixed issue with GPO navigation between tabs (#1822) 2021-10-19 09:05:49 -04:00
Devin Binnie
6dc84b3e5d [MM-33112] Add support for multiple custom spellchecking languages (#1743)
* [MM-33112] Add support for multiple custom spellchecking languages

* Styles and other formatting

* Type and lint fixes

* Update wording
2021-09-20 14:10:01 -04:00
Devin Binnie
b25ccfeecf [MM-38524] Rework the closing and opening tab logic, fixed login issue (#1735)
* Rework the closing and opening tab logic to better suit adding and removing servers

* A couple more fixes

* Lint fix

* [MM-38524] Fix login issue

* Remove unneeded code
2021-09-16 13:35:07 -04:00
Devin Binnie
082c95b094 [MM-23452][MM-36861] Fixed some configuration issues (#1725)
* [MM-23452] Show last used server and tab correctly when restarting the app

* [MM-36861] Ensure handleConfigUpdate runs
2021-09-10 10:48:00 -04:00
Devin Binnie
cfc0613d0f [MM-38310][MM-38313][MM-38315] Fixed some issues caused by having multiple tabs (#1722)
* [MM-38313][MM-38315] Fixed some issues caused by having multiple tabs

* [MM-38310] Make sure notification navigates to correct tab
2021-09-03 14:55:52 -04:00
Devin Binnie
9c55f8c717 [MM-36347] Force max window width of 700px (#1720) 2021-09-02 14:05:54 -04:00
Devin Binnie
37c637efe9 [MM-36432][MM-37072][MM-37073] Logic to support Focalboard and Playbooks tabs (#1680)
* Tab stuff

* Inter-tab navigation

* Close tab functionality

* [MM-36342][MM-37072] Logic to support Focalboard and Playbooks tabs

* Update to version 5.0

* Update config.yml

* Updated routes

* Update names for products

* [MM-37073] Close unneeded tabs when not using v6.0

* Merge'd

* Update config.yml

* Update config.yml

* Fix menu names

* PR feedback

* blank

* blank

* blank

* PR feedback

* Update config.yml

* PR feedback

Co-authored-by: Mattermod <mattermod@users.noreply.github.com>
2021-09-01 12:45:37 -04:00
Devin Binnie
a79e7aeb4c [MM-36428][MM-36434][MM-36435] Keyboard navigation and menu updates for new tab/dropdown layout (#1695)
* [MM-36428][MM-36434][MM-36435] Keyboard navigation and menu updates for new tab/dropdown layout

* Shortcuts for Windows/Linux

* Update config.yml

* Fixed up the shortcuts

* Fixed the new server modal popping up where there are GPO teams only
2021-08-16 09:17:45 -04:00
Devin Binnie
60c73d6d58 [MM-37743] Fix URL validation when editing/adding a server (#1688) 2021-08-12 08:26:24 -04:00
Devin Binnie
10feb84c31 enable handlers earlier (#1676) (#1689)
Co-authored-by: Guillermo Vayá <guillermo.vaya@mattermost.com>
2021-08-10 09:20:07 -04:00