Commit graph

327 commits

Author SHA1 Message Date
Devin Binnie 3b729c3cde Bump to version 5.2.2-rc.1 2022-11-22 13:14:31 -05:00
Mattermost Build 7f1469dd9a
[MM-48380] ARM64 build for Windows/Linux (#2406) (#2407)
* Test ARM build for Windows/Linux

* Fix the windows build

(cherry picked from commit 3c0d309697)

Co-authored-by: Devin Binnie <52460000+devinbinnie@users.noreply.github.com>
2022-11-21 16:27:29 -05:00
Devin Binnie 76f3c0649c Bump to version 5.2.1 2022-11-15 13:58:20 -05:00
Tasos Boulis fe50d79ad9 Bump to version 5.2.1-rc.2 2022-11-14 23:47:36 +02:00
Tasos Boulis 2e2b43aad8 Bump to version 5.2.1-rc1 2022-11-10 17:28:47 +02:00
Mattermost Build 79b80dc21f
[MM-48079] Dont show server login when GPO has preconfigured servers (#2346) (#2354)
* Show onboarding server screen only when teams.length is 0

* Add tests

* Add more tests

* Fix issue where callback would not re-evaluate variables

(cherry picked from commit 935cf3a0cc)

Co-authored-by: Tasos Boulis <tboulis@hotmail.com>
2022-11-04 17:34:56 +02:00
Devin Binnie 023ac00559 Bump to version 5.2.0 2022-10-31 09:18:03 -04:00
Devin Binnie 6ca93cf138 Bump to version 5.2.0-rc.5 2022-10-28 16:21:18 -04:00
Devin Binnie ecaa3c8e2f Bump to version 5.2.0-rc.4 2022-10-27 13:04:32 -04:00
Mattermost Build ce8db337cf
[MM-47912] Upgrade to Electron v21.2.0 (#2319) (#2321)
(cherry picked from commit 54c76d5dd6)

Co-authored-by: Devin Binnie <52460000+devinbinnie@users.noreply.github.com>
2022-10-26 11:48:49 +03:00
Tasos Boulis 1de99aae87 Bump to version 5.2.0-rc.3 2022-10-25 16:15:57 +03:00
Mattermost Build 27a64cce1c
Fix macos-notification-state build issue (#2310) (#2313)
* Fix macos-notification-state build issue

* Fix windows build, a bit of cleanup

(cherry picked from commit 83b6c64cf3)

Co-authored-by: Devin Binnie <52460000+devinbinnie@users.noreply.github.com>
2022-10-24 10:43:56 -04:00
Tasos Boulis ec2d1303e3 Bump to version 5.2.0-rc.2 2022-10-13 18:28:15 +03:00
Mattermost Build 6b7d844ba5
[MM-47279] Upgrade to Electron v21 (#2270) (#2275)
* WIP

* Fixed robotjs on windows

(cherry picked from commit 0ac53605c0)

Co-authored-by: Devin Binnie <52460000+devinbinnie@users.noreply.github.com>
2022-10-11 14:03:19 -04:00
Devin Binnie 9ffcec1e7c Bump to version 5.2.0-rc.1 2022-10-07 10:22:14 -04:00
Tasos Boulis 131b5fa2ac
[MM-22239] Downloads dropdown (#2227)
* WIP: show/hide temp downloads dropdown

* WIP: Position downloads dropdown correctly under the button

* WIP: Use correct width for dropdown so that right radius and shadows are displayed

* WIP: Add items to download list after finished downloading

* WIP: Add download item base components

* Add "clear all" functionality

* Use type Record<> for downloads saved in config

* Add styling to files in the downloads dropdown

* Open file in folder when clicking it from downloads dropdown. Center svg in parent element

* Update scrollbar styling

* Update scrollbar styling

* Update state of downloaded items if deleted from folder

* Add progress bar in downloads

* Use "x-uncompressed-content-length" in file downloads.

* Keep downloads open when clicking outside their browserview

* Use correct color for downloads dropdown button

* Add better styling to downloads dropdown button

* Allow only 50 download files maximum. Oldest file is being removed if reached

* Autoclose downloads dropdown after 4s of download finish

* Add file thumbnails

* Dont show second dialog if first dismissed

* Add red badge when downloads running and dropdown closed

* Add menu item for Downloads

* Add support for more code file extensions

* Open downloads dropdown instead of folder from the menu

* Run lint:js and fix problems

* Add tests for utils

* Fix issue with dropdown not displaying

* Remove unecessary comment

* Move downloads to separate json file, outside Config

* Add downloads dropdown menu for the 3-dot button

* Dont show dev tools for downloads

* Add cancel download functionality

* Add dark mode styling

* Use View state for downloadsMenu open state

* Fix some style issues

* Add image preview for downloaded images

* Remove extra devTool in weback config

* Fix issue with paths on windows

* Align items left in downloads menu

* Use pretty-bytes for file sizes

* Show download remaining time

* Close downloads dropdown when clicking outside

* Show different units in received bytes when they are different from the total units (kb/mb)

* Dont hide downloads when mattermost view is clicked

* Keep downloads open if download button is clicked

* Use closest() to check for download clicks

* Fix unit tests.
Add tests for new Views and downloadManager
Add @types/jest as devDependency for intellisense

* Remove unecessary tsconfig for jest

* Fix types error

* Add all critical tests for downloadsManager

* WIP: add e2e tests for downloads

* WIP: add e2e tests for downloads

* Rename downloads spec file

* WIP: make vscode debugger work for e2e tests

* Remove unused mock

* Remove defaults for v4 config

* Use electron-mocha for e2e debugger

* Fix e2e tests spawning JsonFileManager twice

* Add async fs functions and add tests for download item UI

* Add async fs functions and add tests for download item UI

* Improve tests with "waitForSelector" to wait for visible elements

* Wait for page load before assertions

* Add tests for file uploads/downloads

* Dont show native notification for completed downloads if dropdown is open

* Increment filenames if file already exists

* Fix antializing in downloads dropdown

* Fix styling of downloads header

* Increase dimensions of green/red icons in downloads

* Fix styling of 3-dot button

* Fix unit tests

* Show 3-dot button only on hover or click

* PR review fixes

* Revert vscode debug fixes

* Mock fs.constants

* Mock fs instead of JsonFileManager in downlaods tests

* Mock fs instead of JsonFileManager in downlaods tests

* Add necessary mocks for downloads manager

* Mark file as deleted if user deleted it

* Fix min-height of downloads dropdown and 3-dot icon position

* Add more tests

* Make size of downloads dropdown dynamic based on content

* Combine log statements

* Close 3-dot menu if user clicks elsewhere

* Move application updates inside downloads dropdown

* Fix update issues

* Fix ipc event payload

* Add missing prop

* Remove unused translations

* Fix failing test

* Fix version unknown

* Remove commented out component
2022-10-07 11:40:27 +03:00
Devin Binnie cf6ca93627
[MM-47279] Upgrade to Electron v19.1.1 and other Electron dependency upgrades (#2272) 2022-10-06 09:37:23 -04:00
Devin Binnie f58a4b1826
[MM-46533] Remove buildConfig item and add webpack flags for onboarding screens and GPU acceleration (#2241)
* [MM-46533] Remove buildConfig item and add webpack flags for onboarding screens and GPU acceleration

* REVERT ME

* Use contexts instead

* Revert "REVERT ME"

This reverts commit 1e75779623f1c5eb2ce3a64e0c39cd4a8cf7ada7.
2022-08-25 10:58:06 -04:00
Devin Binnie 93b6eb4f9b
Fix node-gyp build on Windows (#2233)
* ONE MORE TIME

* I cant type

* try this

* I think I actually did it!
2022-08-22 15:50:26 -04:00
Saturnino Abril 7d321e849b
Remove cypress related dependency and reporting unsupported diagnostic, and ignore e2e/webpack from unit jest (#2229)
* remove cypress related dependency and reporting, and ignore e2e/webpack from unit jest

* revert eslint-plugin-cypress

* revert change on .eslint-webapp
2022-08-22 15:49:49 -04:00
Devin Binnie 9faaa61e48
[MM-46305] Add reporting code for E2E tests (#2222)
* E2E reporting

* Test report

* Fix artifacts.js

* Revert "Test report"

This reverts commit f4d44b881a19c0e9d63066807f5cb6b9fe9017ee.

* PR feedback
2022-08-15 09:07:22 -04:00
Devin Binnie 1e35a97f33
[MM-36326][MM-45669] Added Native Node Module support - incl demo to fix DND issue (#2195)
* [MM-36326] Added Native Node Module support - incl demo to fix DND issue

* Fix OS per build

* Fix to include priority alarms on Windows

* Update node command

* Fixes for mac (only work on non-MAS build)

* Attempt to rebuild properly since electron-builder is having issues with a module

* Show me more logs maybe idk

* Try with ignore-scripts

* Force async to work asyncly

* PR feedback and ESLint fixes

* Add comment for node-gyp

* Revert me: test msi and mac installer

* Revert me too

* Try reverting back to the old system cause the new one miraculously broke...

* Add ignore scripts to makefile

* Ignore non-macho files :P

* Revert "Revert me too"

This reverts commit 074dc9551a2d8ce34a23a3abaeed937d957e8b76.

* Revert "Revert me: test msi and mac installer"

This reverts commit 0ac998c26a824e7136bdfdc825280a407bb1aa7f.
2022-08-02 11:33:48 -04:00
Devin Binnie 821112c038
[MM-45448] Force electron processes to close after every test on Windows (#2207) 2022-07-25 09:41:19 -04:00
Devin Binnie d4c99c27c3
Fix mac nightly build (#2198)
* Update mmjstool

* REVERT ME

* Now try this

* Upgrade node properly

* More package fixes

* Re-revert
2022-07-15 12:21:48 -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 e674c5c28e
[MM-45409] Restrict auto-update functionality specifically to the NSIS installer and AppImage (#2177)
* [MM-45409] Restrict auto-update functionality specifically to the NSIS installer and AppImage

* Fixes

* Fix syntax error

* Fixes #2

* Switch PR builds to ZIP

* Fix
2022-06-30 12:25:28 -04:00
Devin Binnie 5b93e20ab8
[MM-40711] Upgrade to Electron v19.0.6 (#2176)
* [MM-40711] Upgrade to Electron v19.0.6

* Remove Linux 32bit builds
2022-06-30 09:59:13 -04:00
Devin Binnie 895d8bd077
Update to Electron 18.3.0 (#2167) 2022-06-22 12:01:29 -04:00
Devin Binnie fd8810382f
Fix MAS/TestFlight nightly build (#2151) 2022-06-15 19:02:08 -04:00
Devin Binnie 581e1fd2e0
Update to Electron v18.2.4 (#2119) 2022-05-24 10:25:57 -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
Devin Binnie 82024caf0d
[MM-30272] Update to electron builder v23.0.8 (#2073) 2022-04-25 17:18:59 -04:00
Devin Binnie 073fef83ae
Fix version numbers (#2064) 2022-04-19 20:18:04 -04:00
Devin Binnie 9b8b1b58be
Upgrade to Electron v18.0.3 to fix MAS rejection (#2052) 2022-04-14 11:54:10 -04:00
Devin Binnie 4d46762584
[MM-43040] Copy entire config directory over for MAS (#2046)
* [MM-43040] Copy entire config directory over for MAS

* Fix package version
2022-04-13 09:25:03 -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 b81559b380
Fix nightly build again (#2042)
* More fixes for the nightly build

* remove ci changes
2022-04-07 10:31:51 -04:00
Devin Binnie 0fea052a9b
[MM-43039] Upgrade and clean up dependencies (#2038)
* Upgrade Electron to v18

* Fix a test

* Upgrade ESLint and TypeScript

* Update Joi

* Clean up and upgrade dependencies

* Upgrade dev dependencies

* Upgrade to Webpack 5

* Update NOTICE.txt

* Update test runtime
2022-04-06 19:08:27 -04:00
Devin Binnie 67b150ab3b
Add seperate deb and rpm builds for CI (#2033) 2022-03-31 16:46:10 -04:00
Devin Binnie 0a7be91576
[MM-42538] Submit nightly builds to TestFlight for macOS (#2023)
* Initial MAS build, working on TestFlight

* Migration of old configs to MAS

* Ignore fastlane files

* Add mac app store build to nightly build

* Revert Me - For testing in PR

* Don't need to install fastlane

* BIG D

* Fix patch updater script to allow for no yml

* Nevermind, do this instead

* Update xcode

* Let's try a fake version that works

* Revert version and rename for test flight

* Use Xcode 13.0.0

* Use CircleCI build number when available

* Revert testing changes

* Remove notarize for MAS

* Change vars to MACOS instead of IOS

* Revert electron-builder to v22

* Revert package-lock.json

Co-authored-by: Mattermod <mattermod@users.noreply.github.com>
2022-03-28 11:06:00 -04:00
Devin Binnie f79c445920
[MM-42024] Enable React Developer Tools for nightly builds (#2018) 2022-03-16 11:29:26 -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 a33d98ff8a
[MM-42010] Remove CircleCI check for E2E tests (#2009)
* [MM-42010] Remove CircleCI check for E2E tests

* Add jest test reporting

* Remove MM docker setup code

* Try old method

* oops

* Forgot to remove MM docker check
2022-03-02 09:39:24 -05:00
Devin Binnie 4a05b7c8d5
[MM-39852] Setup docker image to run in CI for E2E (#1946)
* [MM-39852] Setup docker image to run in CI for E2E

* Setup remote docker

* Install docker

* Trying this

* And this

* how about this

* this

* Okay this

* dis one

* sdfsagsdags

* Now?

* aaaaaaa

* asdasdasd

* i am dumb

* blank

* Please work

* Lint fix

* Forgot to update a couple things

* OOPS

* Testing something since this one is still failing

* Trying robotjs instead

* test

* Remove stop docker

* Try without the admin user (since apparently turning off admin notices didn't work)

* Remove console statement

Co-authored-by: Mattermod <mattermod@users.noreply.github.com>
2022-01-17 10:20:11 -05:00
Devin Binnie 9a518e8e76
[MM-40632] Updates to the Developer Documentation and README, remove unnecessary files and code (#1922)
* [MM-40632] Updates to the Developer Documentation and README, remove unnecessary files and code

* Update CONTRIBUTING.md

Co-authored-by: Carrie Warner (Mattermost) <74422101+cwarnermm@users.noreply.github.com>

* Update CONTRIBUTING.md

Co-authored-by: Carrie Warner (Mattermost) <74422101+cwarnermm@users.noreply.github.com>

* Update CONTRIBUTING.md

Co-authored-by: Carrie Warner (Mattermost) <74422101+cwarnermm@users.noreply.github.com>

* Update README.md

Co-authored-by: Carrie Warner (Mattermost) <74422101+cwarnermm@users.noreply.github.com>

* Update README.md

Co-authored-by: Carrie Warner (Mattermost) <74422101+cwarnermm@users.noreply.github.com>

* Update TESTING.md

Co-authored-by: Carrie Warner (Mattermost) <74422101+cwarnermm@users.noreply.github.com>

* Update TESTING.md

Co-authored-by: Carrie Warner (Mattermost) <74422101+cwarnermm@users.noreply.github.com>

* Update TESTING.md

Co-authored-by: Carrie Warner (Mattermost) <74422101+cwarnermm@users.noreply.github.com>

* Update TESTING.md

Co-authored-by: Carrie Warner (Mattermost) <74422101+cwarnermm@users.noreply.github.com>

* Update TESTING.md

Co-authored-by: Carrie Warner (Mattermost) <74422101+cwarnermm@users.noreply.github.com>

* Update CONTRIBUTING.md

Co-authored-by: Guillermo Vayá <guivaya@gmail.com>

* Update TESTING.md

Co-authored-by: Guillermo Vayá <guivaya@gmail.com>

* PR feedback

Co-authored-by: Carrie Warner (Mattermost) <74422101+cwarnermm@users.noreply.github.com>
Co-authored-by: Guillermo Vayá <guivaya@gmail.com>
2021-12-17 15:00:35 -05: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 d0e1936b2c
[MM-40146][MM-40147] Unit tests for authManager and certificateManager (#1874) 2021-11-26 09:35:28 -05:00