Commit Graph

98 Commits

Author SHA1 Message Date
yasser khan
9090f243b3 Upgrade E2E dependencies (#3370)
* Disable Windows job

* Fix linux Darkmode test
2025-03-11 16:28:34 -04:00
Devin Binnie
5d7374971c [MM-61717] Refresh Settings Modal without Bootstrap (#3337)
* [MM-61717] Refresh Settings Modal without Bootstrap

* Fix i18n

* Couple small bug fixes

* E2E test updates

* Fix linux tests

* PR feedback

* PR feedback

* PR feedback

* Fix the border opacity and height

* PR feedback

* PR feedback 2
2025-02-27 20:51:49 +00:00
Devin Binnie
2cf4aaaa02 Allow for env variable to set the username for E2E tests (#3345) 2025-02-19 15:56:19 +08:00
Devin Binnie
4d754efdd7 [MM-61716][MM-62643] Introduce Modal component, remove bootstrap and react-bootstrap from most modals, update styles (#3317)
* Introduce Modal, add some styles from the webapp

* Remove bootstrap from LoadingScreen/WelcomeScreen

* Migrate add/edit server modal to Modal, remove bootstrap

* Migrate remove server modal to Modal, remove bootstrap

* Migrate certificate modal to Modal, remove bootstrap

* Migrate login and permission modals to Modal, remove Bootstrap

* Misc fixes

* E2E tests for current modals

* Update src/renderer/components/Modal.tsx

Co-authored-by: Daniel Espino García <larkox@gmail.com>

* Update src/renderer/components/Modal.tsx

Co-authored-by: Daniel Espino García <larkox@gmail.com>

* PR feedback

---------

Co-authored-by: Daniel Espino García <larkox@gmail.com>
Co-authored-by: Mattermost Build <build@mattermost.com>
2025-02-18 15:58:28 +00:00
mm-prodsec-bot
4fdee550fd fix: upgrade @electron/rebuild from 3.7.0 to 3.7.1 (#3330)
Snyk has created this PR to upgrade @electron/rebuild from 3.7.0 to 3.7.1.

See this package in npm:
@electron/rebuild

See this project in Snyk:
https://app.snyk.io/org/mattermost-core/project/3dea6042-a212-4359-aa52-4b8845ec1c35?utm_source=github-enterprise&utm_medium=referral&page=upgrade-pr

Co-authored-by: snyk-bot <snyk-bot@snyk.io>
2025-02-14 09:26:32 -05:00
mm-prodsec-bot
4e4591edb4 fix: upgrade @aws-sdk/client-s3 from 3.529.0 to 3.726.1 (#3326)
Snyk has created this PR to upgrade @aws-sdk/client-s3 from 3.529.0 to 3.726.1.

See this package in npm:
@aws-sdk/client-s3

See this project in Snyk:
https://app.snyk.io/org/mattermost-core/project/3dea6042-a212-4359-aa52-4b8845ec1c35?utm_source=github-enterprise&utm_medium=referral&page=upgrade-pr

Co-authored-by: snyk-bot <snyk-bot@snyk.io>
2025-02-14 09:02:28 -05:00
mm-prodsec-bot
f0aaac5dc9 fix: upgrade chai from 4.3.6 to 4.5.0 (#3327)
Snyk has created this PR to upgrade chai from 4.3.6 to 4.5.0.

See this package in npm:
chai

See this project in Snyk:
https://app.snyk.io/org/mattermost-core/project/3dea6042-a212-4359-aa52-4b8845ec1c35?utm_source=github-enterprise&utm_medium=referral&page=upgrade-pr

Co-authored-by: snyk-bot <snyk-bot@snyk.io>
2025-02-14 09:01:15 -05:00
mm-prodsec-bot
79ac9d7a7e fix: upgrade playwright from 1.42.0 to 1.49.1 (#3324)
Snyk has created this PR to upgrade playwright from 1.42.0 to 1.49.1.

See this package in npm:
playwright

See this project in Snyk:
https://app.snyk.io/org/mattermost-core/project/3dea6042-a212-4359-aa52-4b8845ec1c35?utm_source=github-enterprise&utm_medium=referral&page=upgrade-pr

Co-authored-by: snyk-bot <snyk-bot@snyk.io>
2025-02-14 08:59:43 -05:00
yasser khan
d9967f30b0 Fix(e2e): E2E report should be available in the community channel. (#3305) 2025-02-14 15:30:03 +05:30
Devin Binnie
f00dd624a1 [MM-62589] Push cross-spawn to v7.0.6 (#3319) 2025-02-11 08:38:30 -05:00
Devin Binnie
1d912caa4e [MM-62094] E2E: Don't including loading screen or other windows in server map, remove check for loading screen finish (#3252) 2025-02-04 11:15:22 +05:30
yasserfaraazkhan
2c9cd85cbc feat(e2e): Verify Test Notification on Desktop (#3162) 2024-11-15 09:46:35 -05:00
Devin Binnie
5fccd0f837 [MM-59823] Migrate BrowserView to WebContentsView (#3177)
* Migrate to WebContentsView from BrowserView

* A bit of cleanup, stop holding reference to the loading screen

* Fix tests

* Fix i18n

---------

Co-authored-by: Mattermost Build <build@mattermost.com>
2024-10-30 09:05:51 -04:00
Devin Binnie
14bb75eaed [MM-61271] Upgrade to Electron v33.0.2 (#3181)
* [MM-61271] Upgrade to Electron v33.0.2

* Fix node-abi

* Fix and patch nan
2024-10-25 09:35:13 -04:00
mm-prodsec-bot
4ac0d68ed8 fix: e2e/package.json & e2e/package-lock.json to reduce vulnerabilities (#3163)
The following vulnerabilities are fixed with an upgrade:
- https://snyk.io/vuln/SNYK-JS-INFLIGHT-6095116

Co-authored-by: snyk-bot <snyk-bot@snyk.io>
2024-10-11 13:21:31 -04:00
mm-prodsec-bot
8771c9bc93 fix: e2e/package.json & e2e/package-lock.json to reduce vulnerabilities (#3123)
The following vulnerabilities are fixed with an upgrade:
- https://snyk.io/vuln/SNYK-JS-AXIOS-7361793

Co-authored-by: snyk-bot <snyk-bot@snyk.io>
2024-08-22 10:16:00 -04:00
mm-prodsec-bot
074ef5dd8a [Snyk] Security upgrade @aws-sdk/client-s3 from 3.445.0 to 3.529.0 (#3117)
* fix: e2e/package.json & e2e/package-lock.json to reduce vulnerabilities

The following vulnerabilities are fixed with an upgrade:
- https://snyk.io/vuln/SNYK-JS-FASTXMLPARSER-7573289

* Fix: Cannot find module 'fast-xml-parser'

* Fix: Cannot find module 'mochawesome-report-generator'

---------

Co-authored-by: snyk-bot <snyk-bot@snyk.io>
Co-authored-by: yasserfaraazkhan <attitude3cena.yf@gmail.com>
2024-08-01 09:11:25 -04:00
yasserfaraazkhan
2649c31962 Fix(e2e): Fix playwright version and reporting for CMT (#3081) 2024-07-17 04:48:03 +05:30
Devin Binnie
7b1b25b6e0 Move all E2E dependencies into its own folder, run from there (#3068)
* Move all E2E dependencies into its own folder, run from there

* Run flaky-tests from E2E folder

* This should work better

* Fix E2E test for Linux

* Fix for Windows, fix lint
2024-06-17 15:24:15 -04:00
yasserfaraazkhan
69eee2a146 Fix focus test cases (#3014) 2024-04-22 20:52:36 +05:30
Devin Binnie
e1c957e774 Various QoL fixes for Desktop App (#2999)
* 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
2024-04-08 09:12:35 -04:00
Antonis Stamatiou
81c3a07412 feat: Refactor E2E functional for readability and reusability (#2988) 2024-03-22 12:30:31 +02:00
yasserfaraazkhan
7c2b4ec502 Modify run conditions for nightly e2e job to create test cycle and post in channel. (#2971) 2024-03-19 22:18:29 +05:30
Devin Binnie
6d02c5a528 Some further ESLint cleanup, remove some unnecessary scripts and lines (#2984) 2024-03-18 14:46:12 -04:00
Devin Binnie
9b36c25e4e [MM-52696] Upgrade and clean up Desktop App dev dependencies (#2970)
* Upgrade to ESLint v8

* Upgrade TypeScript, api-types, react-intl

* Remove unnecessary dependencies

* Update to React 17.0.2

* npm audit fixes, remove storybook

* Lock some packages

* Remove nan patch

* Remove some deprecated dependencies

* Fix lint/type/tests

* Merge'd

* Fix bad use of spawn

* Fix notarize

* Fix afterpack, switch to tsc es2020

* Fix api types

* Use @mattermost/eslint-plugin
2024-03-07 15:55:33 -05:00
yasserfaraazkhan
504e80e132 Run E2E on master branch (#2934) 2024-01-17 14:13:04 +05:30
yasserfaraazkhan
675ec6d661 E2E: CI Improvements (#2918) 2023-12-13 14:24:16 +05:30
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
yasserfaraazkhan
932eff2ea9 feat(e2e): add a job to run e2e on linux os (#2796) 2023-10-25 02:01:36 +05:30
Devin Binnie
32223fa3e1 Fix app name test (#2824) 2023-09-06 16:01:06 -04:00
Devin Binnie
6fbb9234af Update node-abi, remove Back button test (#2822) 2023-09-06 14:12:03 -04:00
Devin Binnie
d4a4defaa3 [MM-53490] Reduce min window width to 600px (#2787) 2023-07-18 09:42:53 -04:00
mvitale1989
1da06bcf23 Fix E2E test report upload URL (#2776)
* Fix E2E test report upload URL
2023-06-28 20:20:03 +02:00
Devin Binnie
1239add076 [MM-50352] Improve URL validation and add/edit server experience (#2720)
* [MM-50352] Improve URL validation and add/edit server experience

* Fix build

* Fix translations

* First pass of fixes

* Some changes to avoid 2 clicks, tests

* PR feedback

* Update translations

* PR feedback

* Fix translations

* PR feedback

* E2E test fixes
2023-05-24 09:04:38 -04:00
Devin Binnie
316beba950 [MM-14093] Rename 'team' to 'server' and 'tab' to 'view' in most cases, some additional cleanup (#2711)
* 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
2023-05-08 09:17:01 -04:00
Devin Binnie
f4f4511cc7 Remove WindowManager, separate functionality into smaller modules (#2682)
* 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>
2023-04-19 11:04:26 -04:00
Devin Binnie
686b4ac9f1 [MM-50485] Migrate app to ServerManager, remove view names and replace with IDs (#2672)
* 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
2023-04-12 12:52:34 -04: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
Devin Binnie
cf6611cc87 [MM-50011] Disable popping the dialog box for uncaught exceptions (#2519) 2023-01-27 09:05:32 -05:00
Devin Binnie
59c98036ee Add await to the dark mode toggle test for Linux (#2518) 2023-01-26 08:46:32 -05:00
Devin Binnie
cf4cdf5c1c Fixed full screen E2E test for smaller displays (#2517)
* Fixed full screen test for smaller displays

* Fix bork
2023-01-26 08:45:52 -05:00
Devin Binnie
c8c88a274f [MM-49724] More robust check for startup before starting E2E tests (#2504)
* [MM-49724] More robust check for startup before starting E2E tests

* Fix a few more tests
2023-01-18 12:11:11 +02:00
Devin Binnie
29f10f1467 Fixed some unit tests and add test step to run on Windows/Mac builds (#2466)
* Fixed some unit tests and add test step to run on Windows/Mac builds

* Update failing test

* Fix backlash

* Fix windows run

* Fix Windows again

Co-authored-by: Tasos Boulis <tboulis@hotmail.com>
Co-authored-by: Mattermod <mattermod@users.noreply.github.com>
2022-12-14 17:10:20 -04:00
Devin Binnie
865fd2522f Fixed some E2E tests that broke on v5.2 (#2453)
* Fixing some E2E tests

* Fixed a couple flaky ones

* Fixed some issues on Windows
2022-12-06 14:40:56 +02:00
Pantelis Vratsalis
84ab14eabf [MM-48685] Fix failing downloads dropdown items tests (#2431)
* [MM-48685] Fix failing downloads dropdown items tests

* Remove unused styles for Thumbnail
2022-11-30 17:43:55 +02:00
Devin Binnie
911c0880dd FIx E2E test util method (#2329) 2022-10-28 11:55:11 -04:00
Tasos Boulis
0f51a628f0 [MM-47776] Reverse order of input fields in server welcome screen (#2309)
* Reverse order of inputs in Server modals (add/edit)

* Revert "Reverse order of inputs in Server modals (add/edit)"

This reverts commit f3d577dcd5c0e13d6d0e3c2cc4de588008f53e68.

* Update order of server fields in welcome screens

* Update server modal focus test

* Add margin between inputs
2022-10-24 10:59:09 -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
7c3b68fb68 [MM-46857] Remove misleading console error about tab status when servers don't exist (#2260) 2022-09-21 08:53:43 -04:00
Julian Mondragón
c3493b09ff MM-45981_Desktop: Add Server Screen: Improve Onboarding screens (#2243) 2022-09-16 10:35:37 -05:00