Commit Graph

1256 Commits

Author SHA1 Message Date
Devin Binnie
37e7fb1100 [MM-51406] Check for other server URLs when trying to navigate (#2616) 2023-03-15 09:08:33 -04:00
Claudio Costa
49ed221659 Fix race condition on switching calls (#2591) 2023-03-07 18:23:21 -06:00
Devin Binnie
12ec2748b4 Refactor webContentsEvents and popup listeners (#2587) 2023-03-07 08:50:39 -05:00
Devin Binnie
99a84a0fd7 [GH-2534] Refocus the popup window if already exists (#2581)
* [GH-2534] Refocus the popup window if already exists

* PR feedback

---------

Co-authored-by: Mattermost Build <build@mattermost.com>
2023-03-06 11:49:15 -05:00
Devin Binnie
417e53cb13 [MM-50948] Prevent popup windows from navigating outside of the plugin/managed resource URLs (#2580) 2023-03-06 09:11:39 -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
5342507954 Restore URL checking code 2023-03-02 17:03:55 -05:00
Claudio Costa
a52e96694d [MM-50973] Harden Calls windows URL navigation checks (#2573)
* 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>
2023-03-02 13:10:47 -05:00
Devin Binnie
ec4a733507 [MM-50527] Explicitly allow the Mattermost views access to write to the clipboard using Copy Link (#2565)
* [MM-50527] Explicitly allow the Mattermost views access to write to the clipboard using Copy Link

* Include calls widget window

* Add calls popout to the list as well

* Update src/main/app/initialize.ts

Co-authored-by: Christopher Poile <cpoile@gmail.com>

---------

Co-authored-by: Christopher Poile <cpoile@gmail.com>
2023-03-01 22:48:55 -05:00
Claudio Costa
cd051fe679 [MM-50995] Harden Calls events handling (#2571)
* Simplify server switching logic in calls events

* Harden calls events handling

* Fix subpath
2023-03-01 16:01:39 -06:00
Alexander Griesser
7d109b9084 Fix typo in error message (#2572)
stumbled upon that while debugging a problem with a community user
2023-03-01 10:20:09 -05:00
Devin Binnie
e6a93dcc69 [MM-50569] Fix insecure win32 path regex (#2566) 2023-02-28 10:14:57 -05:00
Devin Binnie
2009d0290b [MM-50712] Fix local prototype pollution flaw (#2567)
* [MM-50712] Fix local prototype pollution flaw

* Update src/main/diagnostics/steps/internal/loggerHooks.test.js

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

---------

Co-authored-by: Daniel Espino García <larkox@gmail.com>
2023-02-28 09:48:48 -05:00
Claudio Costa
d1f6fc5a5f [MM-46980] Improve screensharing permissions flow (#2556)
* Little improvements and simplification

* Improve MacOS screen permissions handling flow

* Add missing error event

* Propagate calls client errors (#2557)
2023-02-17 15:07:29 -05:00
Christopher Poile
ec8e0b9cc2 MM-49079 - Calls: process link clicks from Calls popout (#2558)
* process link clicks from Calls popout

* add a mock for windows tests
2023-02-17 13:41:01 -05:00
Claudio Costa
7127ec153a Send error to global widget if missing screen sharing permissions (#2554) 2023-02-16 10:20:50 -06:00
Devin Binnie
5cc2e98a1d Merge and migrate locally-trusted preload scripts to contextBridge API (#2553)
* 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
2023-02-15 13:42:53 -05:00
Claudio Costa
562ef14aef Fix media permissions failure on Calls window (#2550) 2023-02-10 11:13:31 -06:00
Devin Binnie
8dbdb0a75e [MM-50409] Stop the main window from creating its own uncontrolled child windows (#2549) 2023-02-09 09:04:02 -05:00
Devin Binnie
6dca4a5095 [MM-50410] Allow any unhandled target=_blank links to open in the browser (#2548) 2023-02-09 09:03:32 -05:00
Claudio Costa
06eb76dc21 [MM-48658] Improve global widget resizing logic (#2545)
* Improved global widget resizing

* Remove min width/height

* Fix test
2023-02-07 11:00:42 -05:00
Devin Binnie
07e41ec678 Remove use of getView() and replace with getViewByURL() where necessary. (#2544)
* WIP

* Replace getView with getViewByURL
2023-02-07 08:59:35 -05:00
Claudio Costa
9213083335 [MM-49739] Set parent window on calls expanded popout view (#2539)
* Set parent window on calls expanded popout view

* Fix focus on calls popout window

* Unregister event
2023-02-06 10:31:50 -05:00
Tasos Boulis
9b45935bee Use location as is when displaying thumbnails inside downloads dropdown in MAS builds (#2536) 2023-02-02 19:37:04 +02:00
Devin Binnie
61a0b41d47 [MM-50042] Detect Boards using the BuildBoards flag in the client config (#2535) 2023-02-02 11:31:11 -05:00
Tasos Boulis
db5a2e055d [MM-50237] Add menu item for showing the logs folder (#2533)
* Add menu item for showing the logs folder

* Add translation
2023-02-02 16:24:18 +02:00
Devin Binnie
f62944c5a4 [MM-43656] Flush cookies to disk on finishing custom login (#2076)
* [MM-43656] Flush cookies to disk on finishing custom login

* Fixed a test

---------

Co-authored-by: Mattermost Build <build@mattermost.com>
2023-02-01 14:32:22 -05:00
Tasos Boulis
bbb29a0d1b [MM-48407] Include entry for websocket too when trusting a certificate for https (#2526)
* Inlcude entry for websocket too when trusting a certificate for https

* Improve condition for protocol
2023-01-30 16:14:57 +02:00
Devin Binnie
09ecc7430f [MM-49690] Set currentView to undefined instead of using delete (#2522) 2023-01-27 14:32:48 -05:00
Claudio Costa
b7c9d3527d Hide menu bar in calls popout window (#2475) 2023-01-27 09:32:25 -06: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
a68e3ffacf Fixed an issue where opening the app with a deeplink may cause the app not to redirect to the correct URL (#2514) 2023-01-23 12:28:04 -05:00
kevfocke
f23bbb9272 minimize on click (#2508) 2023-01-22 02:29:36 -05:00
Devin Binnie
d312bfca24 [MM-44004] Optionally turn off UTF-8 encoding for winreg if the system doesn't support it (#2128)
* [MM-44004] Optionally turn off UTF-8 encoding for winreg if the system doesn't support it

* Fix tests

* REVERT ME: Enable msi installer

* REVERT ME: Wait for msi

* Toggle between winreg and winreg-utf8 if the latter doesn't work

* Revert MSI stuff

* Added logging for the catch at the end to see what error is occurring there

* Catch the error on registry creation as well

* Update logging a bit further

Co-authored-by: Mattermost Build <build@mattermost.com>
2023-01-20 12:11:37 -05:00
Tasos Boulis
94120a0315 [MM-49743] Remove screen change listeners due to electron's bug (#2506)
* Remove screen change listeners due to electron bug

* Remove unused functions
2023-01-20 11:09:26 +02:00
Tasos Boulis
4131f8fb66 Close downloads menu when clicking "show in folder" (#2507) 2023-01-19 16:34:24 +02:00
Tasos Boulis
5bafaff297 Check if view is destroyed before sending ipc message (#2505) 2023-01-18 19:24:42 +02: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
KyeongSoo Kim
7d79cab916 open a file when it is clicked from the download list (#2501) 2023-01-16 17:05:24 -05:00
Devin Binnie
db76a67fb5 Reduce the number of writes to the config (#2498)
* 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
2023-01-12 08:46:06 -05:00
Tasos Boulis
9f6893fdb2 Remove any existing IPC hanlders/listeners before assigning new ones inside the downloadsManager (#2493)
* Remove any existing IPC hanlders/listeners before assigning new ones inside the downloadsManager

* Mock more ipx functions during tests
2023-01-09 16:57:53 +02:00
Tasos Boulis
76caf02cb2 Maximize main window if monitor removed/changed resolution (#2486)
* Maximize main window if monitor removed/changed resolution

* Fix unit tests

* Add better handlers to support active screen changes
2023-01-03 18:11:35 +02:00
Devin Binnie
a089d51d0e Fix flaky unit test (#2479) 2022-12-16 16:18:16 -05: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
Claudio Costa
e63a293b28 Fix main window disappering on call join (#2472) 2022-12-14 14:23:34 -06:00
Tasos Boulis
a1c39d954b Replace deprecated "gpu-process-crashed" with "child-process-gone" (#2471) 2022-12-14 10:49:12 +02:00
Tasos Boulis
de65cfca4e Escape server name when used inside regex (#2449)
* Escape server name when used inside regex

* Move util under common and add test
2022-12-06 17:29:02 +02: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
Tasos Boulis
e8754df3c0 Check if url is a plugin url when calculating the window bounds (#2446) 2022-12-05 12:33:40 +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