Commit graph

352 commits

Author SHA1 Message Date
Trivikram Kamat a63bdd7cf2
chore: migrate AWS SDK for JavaScript v2 APIs to v3 (#2904)
* chore: convert s3.promise callback to async-await

* chore: run codemod on e2e/utils/artifacts.js

* chore: format

* chore(deps): replace AWS SDK for JavaScript v2 with v3

* chore: bump lockfile

* chore: changes to bracket spacing in imports

Co-authored-by: Devin Binnie <52460000+devinbinnie@users.noreply.github.com>

---------

Co-authored-by: Devin Binnie <52460000+devinbinnie@users.noreply.github.com>
2023-11-16 16:39:55 -05:00
Devin Binnie 923964c5ac
Bump to version v5.7 (#2911) 2023-11-13 09:48:31 -05:00
Devin Binnie 5ae7f667cd
[MM-55466] Update to node-gyp v10 to fix Python script error (#2909) 2023-11-13 09:36:31 -05:00
Devin Binnie f309a03772
[MM-55132] Upgrade to Electron v27.0.2 (#2894) 2023-10-25 16:18:55 -04:00
Daniel Espino García 9aec7db821
Fix notifications not working (#2865)
* Fix notifications not working

* Transform into a manager

* Remove test accessor
2023-10-10 16:13:07 +02:00
Devin Binnie 02261c9de3
[MM-54701] Fix development deep linking for login for Windows/Linux (#2867)
* [MM-54701] Add exec and dist path for Windows dev deep linking

* Add script for Linux to add a desktop entry for deep linking

* Fix build
2023-10-10 10:07:10 -04:00
Devin Binnie 887dcd7b1f
Upgrade to Electron v26.2.1 (#2837) 2023-09-15 10:35:24 -04:00
Devin Binnie 6fbb9234af
Update node-abi, remove Back button test (#2822) 2023-09-06 14:12:03 -04:00
Devin Binnie 621950f08d
Bump to version 5.6 (#2816) 2023-09-01 11:56:28 -04:00
Florian Apolloner f581f439df
Upgrade to Electron v26.1.0 (#2808)
* Upgrade to Electron v26.1.0

* Fix TS issues

---------

Co-authored-by: Devin Binnie <devin.binnie@mattermost.com>
2023-08-29 09:19:29 -04:00
Devin Binnie 4a24ab9fd1
[GH-2694] Upgrade to Electron v24.6.3 (#2793) 2023-07-17 11:05:01 -04:00
Devin Binnie adf4b40836
Fix React Developer Tools for some users (#2783)
* Fix react dev tools test

* Fix test
2023-07-11 11:32:49 -04:00
Devin Binnie 23b2fa6815
Update to use notarytool (#2764) 2023-06-20 15:26:04 -04:00
Devin Binnie 91a81ef6d7
Bump master to v5.5 (#2735) 2023-05-25 13:28:30 -04:00
Devin Binnie 6973fc7012
Upgrade to Electron v24.3.1 (#2732) 2023-05-25 09:01:29 -04:00
Devin Binnie 06ed78f050
[MM-52285] Upgrade to Electron v23.3.0, electron-context-menu to v3.6.0 (#2700) 2023-05-02 08:38:55 -04:00
metanerd 748b8c8c2e
Draft: Upgrade node-abi (#2691) 2023-05-01 09:21:16 -04:00
Devin Binnie c0dddd88ee
Update eslint-plugin-mattermost version (#2678) 2023-04-13 07:14:56 -04:00
Devin Binnie 88eb2e2c70
[MM-51964] Clean up MattermostView, remove tuple in preparation for id (#2668)
undefined
2023-04-06 11:17:33 -04:00
Devin Binnie 53fb8c8fd3
[MM-50485] Implement ServerManager, introduce id concept for identifying servers/views (#2654)
* 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
2023-04-05 16:30:50 -04:00
Devin Binnie cf8aa6499c
[MM-51406] Update node-abi, fix some server modal bugs (#2617)
* Update node-abi so tests can run

* [MM-51392] Fix modal ping bugs
2023-03-15 09:12:53 -04:00
Devin Binnie 62503f30d8
Bump version to v5.4.0 (#2605) 2023-03-10 13:14:50 -05:00
Antonis Stamatiou b62b25fdda
feat(ci): CircleCI migration to Github Actions (#2516)
* Deprecated trigger-desktop-nightly repo from gitlab
* Migrated Nightly builds URLs from CircleCI to S3
* Full CI/CD is handled by Github Actions

---------

Co-authored-by: Tasos Boulis <tboulis@hotmail.com>
Co-authored-by: Mattermost Build <build@mattermost.com>
2023-03-06 11:51:25 +02:00
Devin Binnie 8efa3480e4
[MM-50537] Upgrade to Electron v23.1.2 (#2579) 2023-03-03 11:38:06 -05:00
Devin Binnie 1c0aeae118
[MM-50433] Upgrade to Electron v23.0.0 (#2552) 2023-02-13 15:19:49 -05:00
Pantelis Vratsalis 2bb622c314
PoC performance tests in CI (#2474)
* PoC performance tests in CI

* Add a naive measurement

* Change in spec descriptions

* More minimal reporter and 2 tests: 1 failing, 1 succeeding

* Fix circleci config

* Fix circleci part 2

* Make performance tests a workflow

* add npm install in performance tests

* change executor

* Experimenting: Install crossenv

* Experimenting

* More experimenting

* Revert some changes

* Run update_image and cache node modules

* Sandbox e2e tests run

* fix code residual from rebase

* Add GH action for ci perf

* Use ubuntu instead of macos

* Use windows instead of ubuntu

* Fix env set command

* Use post-test script to check performance

* Use macos-latest

* Throw error when tests fail

* Use measudePerformance function instead

* Use measudePerformance function instead

* Try to run e2e on github actions

* Try headless script

* Install linux packages

* Add shell

* Use if: runner..

* ADd sudo

* Add more linux packages

* Go back to macos

* Try recursive find for main window

* Remove performance tests from circleCi

* Increase retries

* Fix

* Revert "Fix"

This reverts commit c19fc56600ada4eee3e26bf3988b27d2ce2616d1.

* Revert "Increase retries"

This reverts commit 564ac95c34def892595c17b98eec245cacb0d4a4.

* Revert "Remove performance tests from circleCi"

This reverts commit c49c73b6f811df12631036bc33dae30da2271173.

* Revert "Try recursive find for main window"

This reverts commit 19d9367f9317f6e9d7ef9aa6a5d69eccdff2df67.

* Revert "Go back to macos"

This reverts commit 72b796ad983e89940f84d53039affd867d0e7f34.

* Revert "Add more linux packages"

This reverts commit 4bd510f8ea5356c13fbc4722be874aeea32de43e.

* Revert "ADd sudo"

This reverts commit acb95e02609e7cc02b12863910d29c03694936c1.

* Revert "Use if: runner.."

This reverts commit 69beed6fe24e452b1d7f0b0e4578bbfa9ca36d2f.

* Revert "Add shell"

This reverts commit e1743664a8b01797da4112314af0b88318ad2fd7.

* Revert "Install linux packages"

This reverts commit 25195dd11c827dff0fd8cf4fbdf2dc709377d525.

* Revert "Try headless script"

This reverts commit 385be5609d5ee45363d26828f6a14c6be0ef661a.

* Revert "Try to run e2e on github actions"

This reverts commit be8f682fd8a82b265403471b5106fd5107f9fecb.

* Revert "Use measudePerformance function instead"

This reverts commit bfd46768ae845e2839e9f124735922da6301fa4e.

* Revert "Use measudePerformance function instead"

This reverts commit ab4bc22b8689ff35260b4ab55724a77dc5993426.

* Update workflow command

* Remove circleci config for perf tests

* Run on ubuntu

* Add packages for linux

* Fix order of commands

* Move env var at the beginning

* Upload test results to s3

* Update name

* Update name

* Add trigger for flag

* Add step to upload artifact to github workflow artifacts

* Update yml

* Add step to comment the results in the PR

* Fix env bug

* move constant to workflow env

* Wrap workflow env with single quotes

* Add start comment and remove label steps

* Update body of comment

* Remove unused file

* Move PR comment function into file

* Fix import

* Remove spaces from line start

* Remove label even if workflow failed

* Add logging

* Fix markdown table data

* Remove trailing semi string

---------

Co-authored-by: Tasos Boulis <tboulis@hotmail.com>
Co-authored-by: Mattermost Build <build@mattermost.com>
2023-01-30 17:16:10 +02:00
Tasos Boulis 6ee8b97f7d
Fix order of dependencies (#2525) 2023-01-30 13:42:24 +02:00
Devin Binnie cf6611cc87
[MM-50011] Disable popping the dialog box for uncaught exceptions (#2519) 2023-01-27 09:05:32 -05:00
Tasos Boulis 71d6cc21ca
Bump macos-notification-state to 2.0.2 (#2489) 2023-01-04 11:33:51 +02:00
Tasos Boulis 161ae99e94
[MM-47202] - Desktop diagnostics (#2439)
* Add custom assertion to match object in array (#2358)

* Add custom assertion to match object in array

* Remove test that is not implemented yet

* [MM-48213] Add "Run diagnostics" menu item under Help (#2359)

* Add submenu item that runs diagnostics

* Add custom assertion to match object in array

* Remove test that is not implemented yet

* Add tests

* Add translation

* [MM-47206] Diagnostics steps setup (#2361)

* Add baseline code for diagnostics and their steps

* Fix failing test

* [MM-47206] [MM-48155] Obfuscate logs (#2369)

* Add logging hooks to mask sensitive data

* Add hook that truncates long strings in diagnostics logs

* Add template file for creating steps

* Add readme inside diagnostics

* [MM-48145] Diagnostics step 2 - internet connectivity (#2372)

* Add diagnostics step 2 - internet connectivity check

* Update tests

* [MM-48144] Diagnostics Step - Configure logger (#2390)

* Configure logger

* Move configure logger into step1

* Add file extension to fileName variable

* Diagnostics Step 2: Validate configuration (#2391)

* Resolve conflicts with base branch

* Update test and implement Code review suggestion

* Fix failing test

* [MM-48147]Diagnostics step 3 - server connectivity (#2397)

* Add step3: Check server connectivity by using the /api/v4/system/ping endpoint

* Fix failing tests

* Add better obfuscator functions that mask all types of data (#2399)

* Add better obfuscator functions that mask all types of data(string, array, objects)

* Update tests

* [MM-48148] Add Diagnostics step 4 - session validation (#2398)

* Add diagnostics step 4 - session data validation

* Fix failing tests

* [MM-48152] Add diagnostics step 5 - BrowserWindows checks (#2404)

* Add diagnostics step 5 - browserwindow checks for main window

* Add tests

* [MM-48151] Diagnostics step 6 - Permissions (#2409)

* Add diagnostics step 6 - Permissions check

* Check permissions for microphone ond screen onn mac, windows

* Update tests count in tests

* [MM-48551] Diagnostics step 7 - Performance & Memory (#2410)

* Add diagnostics step 6 - Permissions check

* Check permissions for microphone ond screen onn mac, windows

* Update tests count in tests

* Add diagnostics step 7 - performance and memory

* Fix failing tests

* [MM-48153] Add diagnostics step 8 - Log heuristics (#2418)

* Add diagnostics step 8 - Log heuristics

* Add diagnostics step 9 - config (#2422)

* [MM-48556] Diagnostics Step 10 - Crash reports (#2423)

* Add diagnostics step 9 - config

* Add diagnostics step 10 - include crash reports

* Update tests

* Add diagnostics step 11 - cookies report (#2427)

* [MM-48157] Diagnostics report (#2432)

* Add better logging and pretty print report

* Update last step

* Update log message

* Move log after hooks so that path is masked

* Use correct directory for diagnostics files
2022-12-02 16:33:42 +02:00
Devin Binnie 567b48516b
Reduced package size by moving most depedencies to devDependencies (#2436) 2022-12-01 16:17:53 -04:00
Pantelis Vratsalis ba50a4cef9
[MM-48733] upgrade playwright (#2430) 2022-11-30 17:43:36 +02:00
Devin Binnie b9758bd679
[MM-48380] Reworked Linux build process to correctly support ARM64 (#2428)
* [MM-48380] Reworked Linux build process to correctly support ARM64

* Try with ubuntu 18.04

* Why is it backwards

* Revert "Why is it backwards"

This reverts commit 5208fd3fa616a6fe774cca744bb6cd9d3f288a7a.

* Revert "Try with ubuntu 18.04"

This reverts commit e3c0f9e01e5d4b4040f6bb23bbd0fcf6160b92bd.

* :(
2022-11-30 09:58:42 -05:00
Pantelis Vratsalis b3aaefb46b
[MM-48383] Upgrade compass-icons (#2421) 2022-11-28 09:14:52 -05:00
Devin Binnie 3c0d309697
[MM-48380] ARM64 build for Windows/Linux (#2406)
* Test ARM build for Windows/Linux

* Fix the windows build
2022-11-21 16:27:16 -05:00
Devin Binnie 9ba36de30e
Bump version to v5.3.0 (#2393) 2022-11-17 09:03:00 -05:00
Tasos Boulis 935cf3a0cc
[MM-48079] Dont show server login when GPO has preconfigured servers (#2346)
* Show onboarding server screen only when teams.length is 0

* Add tests

* Add more tests

* Fix issue where callback would not re-evaluate variables
2022-11-04 16:11:56 +02:00
Devin Binnie 54c76d5dd6
[MM-47912] Upgrade to Electron v21.2.0 (#2319) 2022-10-26 11:01:50 +03:00
Devin Binnie 83b6c64cf3
Fix macos-notification-state build issue (#2310)
* Fix macos-notification-state build issue

* Fix windows build, a bit of cleanup
2022-10-24 10:43:45 -04:00
Devin Binnie 0ac53605c0
[MM-47279] Upgrade to Electron v21 (#2270)
* WIP

* Fixed robotjs on windows
2022-10-11 14:02:54 -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