Commit graph

1356 commits

Author SHA1 Message Date
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 0ab6a1f80f
[MM-42072] Fix issues with loading screen animations (#2010)
Co-authored-by: Mattermod <mattermod@users.noreply.github.com>
2022-03-07 09:24:26 -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 d779e87937
Ensure pathname starts with / (#2000) 2022-02-08 15:20:53 -05:00
Profesor08 1c71579bbe
#1960 fix unexpected top menu focus (#1963)
* #1960 fix unexpected top menu focus

* #1960 test update

* #1960 improved test

* #1960 optimized algrithm to handle only Alt key to improve performance and avoid side effects

* #1960 tests update

* #1960 fixed 3 dit menu focus on workspace change with Alt+1, Alt+2

* #313 fix linter issue

* #1960 fix linter issue

* tests update
2022-02-08 09:23:51 -05:00
Devin Binnie 301ba8deb2
[MM-41392] Clean path name on browser pushes for subpaths (#1993) 2022-02-04 12:21:05 -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
Devin Binnie 6803310217
[MM-35666] Re-ordered the priority of badge sources to leave session expired to last (#1955)
* Fixing some annoying things/stuff I broke

* [MM-35666] Re-ordered the priority of badge sources to leave session expired to last

* Fix tests
2022-01-25 09:51:25 -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
Sven Hüster 432af50ab3
change zoom in shortcut to match expected behavior (#1957) 2022-01-20 09:16:56 -05:00
Devin Binnie 4bdd8b7a45
[MM-40822] Remove app.dock.show from restoreMain (#1945)
* [MM-40822] Remove app.dock.show from restoreMain

* Removed the test
2022-01-12 09:38:45 -05:00
Sven Hüster 4d49f1bd38
change "tab" to "server" due to ui changes (#1948) 2022-01-12 09:36:01 -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
Colton Shaw 8ad949eedb
Menu > Help > version copied to clipboard on click (#1944) 2022-01-07 14:04:15 -05:00
Devin Binnie a49d748c16
[MM-40009] Add servers dropdown shortcut to menu (#1926)
* [MM-40009] Add servers dropdown shortcut to menu

* Lint fix

* Fix the shortcut for macOS

* Fix character
2022-01-06 10:40:19 -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 3ecdd3d1c9
[MM-26018] Added disclaimer for window flashing on Linux (#1927)
* [MM-26018] Added disclaimer for window flashing on Linux

* Update src/renderer/components/SettingsPage.tsx

Co-authored-by: Eric Sethna <eric@mattermost.com>

Co-authored-by: Eric Sethna <eric@mattermost.com>
2021-12-23 16:50:19 -05:00
Devin Binnie bd470459c2
[MM-40573] Stop asterisk detection on versions newer than 5.28, force space for the others (#1931)
* [MM-40573] Stop asking detection on versions newer than 5.29, force space for the others

* PR feedback and test fixes
2021-12-23 16:49:53 -05:00
Devin Binnie c28b219362
[MM-40635] Fix notifications and badges broken during test changes (#1934) 2021-12-23 16:49:12 -05:00
Devin Binnie 8474683ff1
[MM-40603] Add timeout for alt press to make sure it doesn't interfere with OS shortcuts (#1932)
Co-authored-by: Mattermod <mattermod@users.noreply.github.com>
2021-12-17 10:53:22 -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
ChristophKaser fca6a75ee4
[GH-1635] don't validate custom protocol URLs (#1889)
* don't validate custom protocol URLs

* added unit tests for invalid URLs with custom protocols
2021-12-10 11:30:10 +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 850eadceb9
[MM-40192] Don't send message until server is finished reloading (#1886)
* [MM-40192] Don't send message until server is finished reloading

* Error check
2021-12-09 12:44:44 -05:00
Devin Binnie 4a98dce51e
[MM-40330] Unit tests for main/windows (#1885)
* [MM-40330] Unit tests for main/windows

* Merge'd
2021-12-06 11:08:39 -05:00
Devin Binnie 72f7cb4f08
[MM-40329] Unit tests for main/views (#1883)
* WIP

* [MM-40329] Unit tests for main/views

* Lint/type fix

* Merge'd
2021-12-06 10:13:26 -05:00
Devin Binnie 73056d2649
Code cleanup, update eslint from webapp, add ts-prune (#1884) 2021-12-03 16:01:49 -05:00
Claudio Costa 875a0f8bfd
Expose native API call to get desktop screen sources (#1881)
* Expose native API call to get screen sources

* Move eslint line to the bottom
2021-11-29 10:18:49 +01:00
Devin Binnie 5056ec7ace
[MM-40277][MM-40279][MM-40301][MM-40307][MM-40310][MM-40313] Unit tests and refactors for main module (#1876)
* Refactor autoLauncher and remove unnecessary file

* [MM-40277] Unit tests for main/badge

* [MM-40279] Unit tests for main/certificateStore

* [MM-40301] Unit tests for main/contextMenu, also remove workaround

* [MM-40307] Unit tests for main/CriticalErrorHandler

* [MM-40310] Unit tests for main/utils

* [MM-40313] Unit tests for main/Validator

* Lint fix

* Added globals

* More things that should probably already be merged

* PR feedback
2021-11-26 11:14:26 -05:00
Devin Binnie fc06dc99a2
[MM-40328] Unit tests for main/server (#1880) 2021-11-26 10:21:38 -05:00
Devin Binnie d1eaed8b32
[MM-40266] Refactor and tests for main/allowProtocolDialog (#1875) 2021-11-26 09:54:13 -05:00
Devin Binnie d0e1936b2c
[MM-40146][MM-40147] Unit tests for authManager and certificateManager (#1874) 2021-11-26 09:35:28 -05:00
Devin Binnie d358369ff9
[MM-40327] Unit tests for main/notifications (#1879) 2021-11-26 09:35:00 -05:00
Devin Binnie b20e139971
[MM-40316] Unit tests for main/menus (#1877)
* Unit tests for main/menus/app

* Also this

* Unit tests for main/menus/tray
2021-11-25 10:41:12 -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 fbb3c9c705
[MM-39843] Show main window on second instance (#1848) 2021-11-08 09:24:19 -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 bb3269f2f6
[MM-39680] E2E Test for Deep Linking (#1843)
* [MM-39680] E2E Test for Deep Linking

* Only for Win32
2021-10-29 11:28:52 -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 ebba86bc08
Fixed issue with notification sounds not working correctly (#1818) 2021-10-18 18:22:58 -04:00
Devin Binnie 12052d4e0b
Fixed serverAPI throwing error on proxy server challenge, improved modals (#1820) 2021-10-18 12:46:32 -04:00
Devin Binnie 6ae15b0cea
[MM-39310] Add setTimeout to new server modal pop to make sure it renders correctly. (#1811) 2021-10-14 17:19:22 -04:00
Devin Binnie cc4ddc3c18
[MM-39209] Check that Channels isn't redirecting to / to prevent a refresh (#1807) 2021-10-14 09:25:21 -04:00
Devin Binnie 5e104ab335
[MM-39194] Removing call to focus() causing crash on macOS (#1801) 2021-10-08 11:38:28 -04:00
Devin Binnie 48cf6fd788
[MM-39160] Remove view from closedViews when it's automatically opened (#1791) 2021-10-06 17:05:07 -04:00
Devin Binnie 3527679648
Fix URL view cutoff for long URLs (#1793) 2021-10-06 16:32:27 -04:00
Devin Binnie d1e5505bd4
[MM-39139] Workaround for transparency issue for BrowserViews on Electron v14.1.0+ (#1792) 2021-10-06 16:26:01 -04:00
Devin Binnie ca1457f023
[MM-38991] Remove mentions and unreads when unloading a view (#1780) 2021-10-05 10:18:27 -04:00
Devin Binnie e3ea6e4c6a
[MM-38936] Revert #1758, upgrade to Electron 14.1.0 (#1779)
* Revert "[MM-38649] Put top bar in a BrowserView (#1758)"

This reverts commit c914903df9.

* [MM-38936] Upgrade to Electron 14.1.0
2021-10-05 09:25:51 -04:00
Devin Binnie 3665e87cba
[MM-38532] Use currentView to check for most recently used view (#1776) 2021-10-01 11:35:04 -04:00
Devin Binnie 33933781fd
Fix for user selection on the dropdown menu button (#1773) 2021-09-29 14:17:55 -04:00
Devin Binnie a3d7f0518e
[MM-38607] Ensure window is inside one of the screen bounds before rendering (#1769) 2021-09-29 12:40:27 -04:00
Devin Binnie a48c469005
[MM-38857] Fix spellcheck locales regex (#1764)
* [MM-38857] Fix spellcheck locales regex

* Remove unnecessary regex
2021-09-29 12:30:16 -04:00
Devin Binnie fe19fe51d4
[MM-38695] Fixed minimize to tray setting on Linux (#1767)
* [MM-38695] Fixed minimize to tray setting on Linux

* Lint fix
2021-09-29 11:46:49 -04:00
Devin Binnie 5df0657588
Fixed multiple reloads happening on launch (#1761)
* Fixed multiple reloads happening on launch

* Remove extra log statement
2021-09-27 17:31:42 -04:00
Devin Binnie c914903df9
[MM-38649] Put top bar in a BrowserView (#1758)
* [MM-38649] Tab bar as BrowserView POC

* Fixes for Mac

* Linux fixes

* Lint fix

* Make view full height

* Fix for macOS getting stuck when dragging

* Lint fix
2021-09-27 13:29:38 -04:00
Jesse Hallam 9c5e4880ea
Fix tab opening behaviour for playbooks (#1763) 2021-09-27 09:53:16 -04:00
Guillermo Vayá 0476d3efb8
remove global shortcuts (#1740)
* remove global shortcuts

* Add global shortcuts only when the app is in focus

Co-authored-by: Devin Binnie <devin.binnie@mattermost.com>
2021-09-24 09:30:17 -04:00
Devin Binnie 45ff8cbd9f
[MM-38679] Fix download notification title on Windows (#1752)
* [MM-38679] Fix download notification title on Windows

* Lint fix
2021-09-22 12:41:28 -04:00
Devin Binnie 2f6b7f82c4
[MM-38577] Allow exit of full screen mode using the restore button on Windows (#1744) 2021-09-22 09:42:26 -04:00
Devin Binnie b09f1e23dc
[MM-38642] Set a max-width for the dropdown button and menu (#1751) 2021-09-22 09:31:55 -04:00
Devin Binnie e8523067b0
[MM-37055] Remove commit hash from release builds generated by CircleCI (#1750) 2021-09-22 12:17:57 +02:00
Devin Binnie 01311a07de
[MM-36032] Add electron-context-menu to popup windows (#1746) 2021-09-21 13:41:23 -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 c3963424f1
[MM-38532] Force new server to display when added (#1737) 2021-09-20 13:56:12 -04:00
Devin Binnie fc9bf1e4a3
[MM-38570] Fixed the keyboard shortcuts for switching tabs when some tabs are closed (#1739) 2021-09-20 09:14:42 -04:00
Devin Binnie c12c9fb2e4
[MM-38535] Overlay drag region with clickable area when menu is open (#1738) 2021-09-20 11:40:27 +02: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 df57051eaa
[MM-36309] Restore window menu, override shortcuts for window menu so they don't interfere (#1732) 2021-09-15 09:52:53 +02:00
Devin Binnie 980eed8d8d
[MM-38503] Upgrade to Electron v14 (#1734)
* [MM-38503] Upgrade to Electron v14

* Temporarily comment out tests that use spectron

* One more
2021-09-14 09:53:00 -04:00
John Willis 375da5bdb3
[MM-16516] Add a "don't trust" option for certificates (#1733)
* Added checkbox to certificate not trusted modal

* Added functionality to store a dontTrust boolean with the certificate store
2021-09-14 11:16:04 +02:00
Devin Binnie 20ec525819
[MM-38459] Resize the menu instead of removing the browser view altogether (#1730) 2021-09-10 13:48:34 -04:00
Devin Binnie 2bdc0dba2b
[MM-38325] Polished up some of the UI elements (#1727)
* [MM-38325] Polished up some of the UI elements

* PR feedback

* PR feedback

* PR feedback
2021-09-10 13:48:26 -04:00
Devin Binnie 313824b6df
[MM-38316] Remove mention and unread counts for current server from the dropdown button (#1729) 2021-09-10 13:45:24 -04:00
Devin Binnie 59189db86d
[MM-38275] Use browser history push for deeplinking and other inter-tab navigation when using a v6.0 server (#1726) 2021-09-10 11:11:36 -04:00
Devin Binnie 4019177fd1
[MM-38433] Error checking when a bad server URL is entered (#1728)
* [MM-38433] Error checking when a bad server URL is entered

* Add proper error handler call
2021-09-10 11:08:38 -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 ed57722086
Show topbar regardless of whether there are servers or not (#1723)
* Show topbar regardless of whether there are servers or not

* Update src/renderer/components/TeamDropdownButton.tsx

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

Co-authored-by: Guillermo Vayá <guivaya@gmail.com>
2021-09-09 09:10:16 -04:00
Wes Campaigne 07299fb2bd
Make the Window menu on macOS more standard (#1724) 2021-09-09 09:08:20 -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 3213a16774
[MM-36309] Completely remove menu bar from Linux/Windows (#1718) 2021-09-02 14:07:29 -04:00
Devin Binnie 78819d1dca
[MM-38301] Check for admin URL when adding space for back bar (#1719) 2021-09-02 14:06:48 -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
Dean Whillier ac61c66ce4
[MM-37090] Update loading screen branding (#1706)
* update loading screen branding

- background
- logo light mode colour

* linting

* build mac installer on pr

* use the actual branch name
2021-08-20 13:50:16 -04:00
Devin Binnie ea14159dcc
[MM-36793][MM-37954] Upgrade to Electron v13.2.0 (#1707)
* [MM-36793][MM-37954] Upgrade to Electron v13.2.0

* Update config.yml
2021-08-20 10:08:22 +02:00
Kyriakos Z 9ce5cb759d
MM-36234: CRT, handle click on notification (#1699)
Clicking on a notification that regards a reply to a thread,
and when the user has CRT set to ON, should open the corresponding thread.

This is done by passing the URL to push to the browser along side the
notification.

Webapp: If a `url` is passed it will be used, otherwise the URL pushed to
history would be the corresponding channel (as is right now).
2021-08-19 17:36:07 +03:00
Devin Binnie 40dfbdb884
[MM-36923] Wait to return to the application before turning off the custom login setting (#1697) 2021-08-17 12:22: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 52becc3467
[MM-37797] Re-added the check for flashing the window (#1696) 2021-08-13 10:08:00 -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 5964fc99ac
[MM-37661][MM-29878] Brand Updates for Desktop v5.0/MM v6.0 (#1691)
* WIP

* WIP

* Fixed the background

* Do the thing

* Merge'd?

* Adjust window height to completely show image
2021-08-11 16:49:36 -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
Devin Binnie d77b6f81a9
[MM-36423][MM-36427] Edit/Delete modals for dropdown (#1682)
* [MM-36423] Edit/Delete modals for dropdown

* [MM-36427] Remove Server Management from Settings modal

* Style fixes

* Hover states for edit/delete buttons

* Update config.yml

* Oops I broke something
2021-08-09 12:04:27 -04:00
Devin Binnie 638e331c58
[MM-37646] Fixed long server name style issue (#1683) 2021-08-05 14:20:46 -04:00
Guillermo Vayá 2229ed3e84
remove electron-log from preload (#1673)
fix lint
2021-07-28 09:51:55 -04:00
Guillermo Vaya d859e95c5c Revert "remove electron-log from preload"
This reverts commit 90ba844fba.
2021-07-27 11:24:56 +02:00
Guillermo Vaya 90ba844fba remove electron-log from preload 2021-07-27 11:22:10 +02:00
Guillermo Vayá d77c823bd5
[MM-36747] Spellchecker custom urls (cherrypick to TS) (#1669)
* [MM-36747] Allow users to specify spellchecker url for downloading dictionaries

* fix settings keys

Co-authored-by: = <=>
2021-07-26 09:28:49 -04:00
= f5ca0f9ef5 remove memoization 2021-07-23 17:15:35 +02:00
Guillermo Vayá 4e75007362
[Mm 37198] enable global sandboxing to increase security (#1667)
* prevent creating new windows from popup windows

* enable sandbox

* fix windows detection logic

* disable on testing environment

Co-authored-by: = <=>
2021-07-23 16:07:48 +02:00
Devin Binnie d3599fc500
[MM-36431] Logic to support multiple configurable tabs per server (#1655)
* Updated config, added types and classes for messaging tab

* Working app with tabs and servers

* Remainder of logic

* Make base tab abstract class

* Account for new app case

* Merge'd

* PR feedback
2021-07-20 09:05:53 -04:00
Devin Binnie 29a049e8ae
[MM-36998] Ensure server key must be at least 0 (#1660) 2021-07-19 11:29:38 -04:00
Guillermo Vayá ccd515e50c
fix crash on invalid download paths (#1662)
Co-authored-by: = <=>
2021-07-19 17:26:37 +02:00
Devin Binnie e71c4ff9f0
[MM-36459] Drag and drop for dropdown (#1651)
* [MM-36459] Drag and drop for dropdown

* CircleCI build

* Drag and drop feedback from UX

* PR feedback

* PR feedback
2021-07-14 16:29:35 -04:00
Guillermo Vayá 26ca8ccefc
disable gpu before app inits (#1654)
Co-authored-by: = <=>
2021-07-13 18:23:05 +02:00
Devin Binnie ee1b393e3d
Bootstrap v4 dark mode for modals and settings window (#1650)
* Bootstrap v4 dark mode for modals and settings window

* Fix package-lock.json

* Fix package-lock.json again

* Merge'd

* Oops

* Refactor into helper
2021-07-09 17:19:49 -04:00
Devin Binnie 880af87ddf
[MM-36421] Replace server tabs with dropdown menu (#1647)
* WIP

* WIP

* PoC for dropdown - logic stuff

* Most of the logic for the dropdown

* Working dropdown menu to pick servers

* Mentions, unreads and expired working. Many styles are working.

* Some more styles

* Dark mode and other stuff

* Some cleanup

* Generate build

* PR feedback

* More PR feedback
2021-07-07 18:49:48 -04:00
Devin Binnie 4130c2c37d
React bootstrap upgrade to v1, migrate to react-beautiful-dnd (#1639)
* Upgrade packages, fix errors, still WIP

* WIP

* Bootstrap v4 upgrade

* Switch to react-beautiful-dnd

* Fixed some issues

* Added to generate signed Mac build for UX

* PR feedback

* Missed one

* PR feedback
2021-07-05 21:19:11 -04:00
Devin Binnie 1b3d0eac8f
Migrate app to TypeScript (#1637)
* Initial setup and migrated src/common

* WIP

* WIP

* WIP

* Main module basically finished

* Renderer process migrated

* Added CI step and some fixes

* Fixed remainder of issues and added proper ESLint config

* Fixed a couple issues

* Progress!

* Some more fixes

* Fixed a test

* Fix build step

* PR feedback
2021-06-28 09:51:23 -04:00
Devin Binnie 422673a740
[MM-36543] Check for webcontents before trying to load url in case tab was removed (#1633) 2021-06-21 08:48:31 -04:00
Guillermo Vayá 62a0d148ec
[MM-30147] [MM-30146] fix loading path for cert modal (#1630)
* fix loading path for cert modal

* fix linting
2021-06-16 16:35:12 +02:00
Devin Binnie 46ffece3ed
[MM-36030] Allow for duplicate servers with different names to behave normally (#1628) 2021-06-10 11:33:52 -04:00
Guillermo Vayá 3aaf1797aa
[MM-36340] fix linux theme comparison (#1627) 2021-06-10 09:36:51 -04:00
Elsie Hupp 6b17f30d35
[GH-317] Correct size for Linux tray icons (#1595)
Signed-off-by: Elsie Hupp <9206310+elsiehupp@users.noreply.github.com>
2021-06-07 17:11:20 +02:00
Devin Binnie 9eb61c6cc0
[MM-35984] Make sure Select Downloads Folder dialog always uses the default location if none is selected (#1613) 2021-05-26 10:15:04 -04:00
Devin Binnie eecadb9c46
[MM-35662] Added media-src tag to CSP to allow data blobs to play for notification sounds (#1612) 2021-05-26 10:08:34 -04:00
Devin Binnie 98cf5d25df
[MM-35781] Another workaround for Linux resizing (#1608) 2021-05-19 17:45:15 -04:00
Devin Binnie 4fdcaf66a3
[MM-35811][MM-35386] Upgrade to Electron 12 (#1604)
* Upgrade to Electron 12

* Fix lock file

* Update package.json

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

* Upgrade spectron

Co-authored-by: Guillermo Vayá <guivaya@gmail.com>
2021-05-19 09:40:12 -04:00
Devin Binnie 22449fb081
[MM-35131] Don't set the download location in config if we hit Cancel (#1600) 2021-05-14 09:16:23 -04:00
Devin Binnie 15a020a726
[MM-35588] Ensure that the window exists before calling minimize/maximize/reload (#1598) 2021-05-11 16:10:29 -04:00
Guillermo Vayá 47f36294b8
Windows tray theme (#1593)
* images

* use expected theme on windows

* fix shadowing

Co-authored-by: = <=>
2021-05-10 18:52:23 +02:00
Devin Binnie 75567342c1
[MM-35249] Set window bounds on initial load success (#1587) 2021-05-06 09:27:27 -04:00
Devin Binnie 7d333dfe8f
[MM-35245] Null check to prevent console error in preload script on unloaded server (#1582) 2021-05-05 17:14:42 -04:00
Devin Binnie 87bbad13fa
[MM-35454] Fix default downloads path for Windows and Linux, only set for the app if the path is not blank (#1583)
* [MM-35454] Fix default downloads path for Windows and Linux, only set for the app if the path is not blank

* Default all other OSes other than Mac/Windows to unix standard
2021-05-05 12:54:21 -04:00
Devin Binnie 4dd731d01b
[MM-35131] Set default app downloads path to specified path in config (#1574) 2021-04-30 09:44:42 -04:00
Devin Binnie ad6c1064da
[MM-35171] Use modified default user agent string instead of hardcoded (#1571) 2021-04-28 22:18:25 -04:00
Guillermo Vayá 9e5dfd6946
fix help message spacing (#1564) 2021-04-26 15:01:01 +02:00
Devin Binnie f4f64c50a9
[MM-34836] Cleanse URLs of extra slashes on parsing, and add the image proxy case (#1560)
* [MM-34836] Cleanse URLs of extra slashes on parsing, and add the image proxy case

* Added unit tests
2021-04-23 11:01:12 -04:00
Devin Binnie bdaa710b7e
[MM-34884] Only call show() on an existing mainWindow if the window is actually closed or hidden (#1552) 2021-04-20 09:35:46 -04:00
Guillermo Vayá 992324f42f
we don't use pressed images anymore with templates (#1549) 2021-04-20 11:48:00 +02:00
Devin Binnie c461770274
[MM-34594] Only show dock badge when the setting is enabled (#1538)
* [MM-34594] Only show dock badge when the setting is enabled

* Fixed a potential crash
2021-04-19 14:33:04 -04:00
Devin Binnie dcec274d30
[MM-34890][MM-34897] Fix some fullscreen issues (#1546)
* [MM-34890][MM-34897] Fix some fullscreen issues

* Using saveWindowState instead
2021-04-19 10:59:07 +02:00
Guillermo Vaya 1cbe799bc8 fix mac bg 2021-04-16 23:24:38 +02:00
Guillermo Vayá b00da1b053
Update icons (#1545) 2021-04-16 19:29:40 +02:00
Devin Binnie 62de91b7aa
[MM-34494] Encapsulate context menu in a class object and add it to each view as necessary (#1544) 2021-04-16 12:33:23 -04:00
Guillermo Vayá 9f31d3c725
[MM-34820] Improve spell check's option help text (#1543)
* improve spell check text

* Update src/renderer/components/SettingsPage.jsx

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

Co-authored-by: Carrie Warner (Mattermost) <74422101+cwarnermm@users.noreply.github.com>
2021-04-15 13:41:34 -04:00
Guillermo Vayá 03c80ced4e
[MM-33903] fix loading screen (#1540)
* fix loading screen and add timeout

* fix updates not rerendering
2021-04-15 16:11:06 +02:00
Devin Binnie b1cfc3a2f5
[MM-34645] Align App Options header and save indicator using display: inline-block instead of float: left (#1537) 2021-04-15 14:26:46 +02:00
Devin Binnie 0ba9bd9782
[MM-34564] Set max-width on the server tabs to 224px (#1539) 2021-04-15 14:23:32 +02:00
Guillermo Vayá 3f93702379
[mm-34528] hide menu bar (#1530) 2021-04-09 13:12:33 +02:00
Guillermo Vayá 8a218f4d29
[MM-34459] Fix config key to show 'learn more' (#1531) 2021-04-09 13:08:54 +02:00
Guillermo Vayá 923212780a
[MM-34527] fix reload and long names (#1524) 2021-04-07 00:48:19 +02:00
Devin Binnie dd41c3a14d
[MM-33577] Workaround for Linux minimizing/maximizing issue (#1527) 2021-04-07 00:47:02 +02:00
Devin Binnie 8d383b3de2
[MM-34461] Restore Find menu item (#1526) 2021-04-06 11:06:15 +02:00
Guillermo Vayá a0ebc19c54
fix non-links (#1522) 2021-03-30 15:45:53 +02:00
Devin Binnie be31e3eed0
[MM-34067] Explicitly destroy web contents in non-permanent BrowserViews (#1519)
* [MM-34067] Explicitly destroy web contents in non-permanent BrowserViews

* Comment to remove this later
2021-03-26 09:36:19 -04:00
Devin Binnie 66a2c3f7b1
[MM-19327] Remove Finder from desktop app (#1515)
* [MM-19327] Remove Finder from desktop app

* Lint fix

* Commenting out flaky test

Co-authored-by: Mattermod <mattermod@users.noreply.github.com>
2021-03-24 10:19:41 -04:00
Devin Binnie b5c59fa8ce
[MM-33828] Define CSP for all BrowserWindows, enable contextIsolation for main/settings window, other fixes (#1517)
* [MM-33828] Added CSP to renderer process pages and turned off remote module when not needed

* Turn on contextIsolation and turn off nodeIntegration for main and settings windows

* Check for details.reason instead of object
2021-03-23 11:26:48 +01:00
Guillermo Vayá 5ed84270c8
[MM=34088] remove listeners before destroy (#1516) 2021-03-22 19:37:17 +01:00
Devin Binnie e76e0dc0a1
[MM-23067] Browser View (#1514)
* Browser-view: initial architectural changes + webpack (#1358)

* reorder code to support webpack

* start backend changes

* remove simple-spellchecker

* wip

* first browserview run

* settings window routing

* wip

* back to webpack

* working build

* back to using electron-builder

* fix linting

* linting errors missed

* back to just 1 config

* missing changes

* refactor and have the settings in its own page

* reminder to restore disabling window.eval

* remove old webpack generated files

* add assets files

* more remove files and fix localurls

* CR changes

* Browserview settings window (#1362)

* reorder code to support webpack

* start backend changes

* remove simple-spellchecker

* wip

* first browserview run

* settings window routing

* wip

* back to webpack

* working build

* back to using electron-builder

* fix linting

* linting errors missed

* back to just 1 config

* missing changes

* refactor and have the settings in its own page

* reminder to restore disabling window.eval

* wip

* wip

* remove old webpack generated files

* add assets files

* more remove files and fix localurls

* wip settings, needs fixing saving prefs

* remove linting errors

* remove settings as a modal

* fix linting

* remove view from window on destroy

* restore visibility if reloaded

* debug log

* look for closed windows, remove managers from settings as it is a full window

* restore view on configuration save

* linting and debug

* remove debug message

* [BrowserView] renderer (#1378)

* reorder code to support webpack

* start backend changes

* remove simple-spellchecker

* wip

* first browserview run

* settings window routing

* wip

* back to webpack

* working build

* back to using electron-builder

* fix linting

* linting errors missed

* back to just 1 config

* missing changes

* refactor and have the settings in its own page

* reminder to restore disabling window.eval

* wip

* wip

* remove old webpack generated files

* add assets files

* more remove files and fix localurls

* wip settings, needs fixing saving prefs

* remove linting errors

* remove settings as a modal

* fix linting

* remove view from window on destroy

* restore visibility if reloaded

* debug log

* look for closed windows, remove managers from settings as it is a full window

* restore view on configuration save

* linting and debug

* remove debug message

* make eslint be aware of webpack aliases

* some extra disable lines

* move badge management to main

* remove unneded import

* fixing errors

* wip

* back to having tabs

* switch tab working

* wip

* wip

* wip

* fix quitting error

* back to a working config

* configure retries

* add darkmode

* wip

* add error/loading screens

* fix settings while removing remote usage

* wip

* fix lint, get preload to load

* remove unused import

* remove log statements

* Bv menus (#1387)

* reorder code to support webpack

* start backend changes

* remove simple-spellchecker

* wip

* first browserview run

* settings window routing

* wip

* back to webpack

* working build

* back to using electron-builder

* fix linting

* linting errors missed

* back to just 1 config

* missing changes

* refactor and have the settings in its own page

* reminder to restore disabling window.eval

* wip

* wip

* remove old webpack generated files

* add assets files

* more remove files and fix localurls

* wip settings, needs fixing saving prefs

* remove linting errors

* remove settings as a modal

* fix linting

* remove view from window on destroy

* restore visibility if reloaded

* debug log

* look for closed windows, remove managers from settings as it is a full window

* restore view on configuration save

* linting and debug

* remove debug message

* make eslint be aware of webpack aliases

* some extra disable lines

* move badge management to main

* remove unneded import

* fixing errors

* wip

* back to having tabs

* switch tab working

* wip

* wip

* wip

* fix quitting error

* back to a working config

* configure retries

* add darkmode

* wip

* add error/loading screens

* fix settings while removing remote usage

* wip

* fix lint, get preload to load

* remove unused import

* wip

* menus initially working as they should

* update deps, show context menu

* wip

* wip

* wip

* fix forward/back menu

* fix server menu

* allow navigating to external urls in the browser

* add defaults to menu

* fix logic

* set default options

* remove logs

* wip

* package.json

* fix merge results

* fix package-lock

* remove debug statements

* address CR requests

* [MM-22691][Browserview] fix tray icon (#1403)

* reorder code to support webpack

* start backend changes

* remove simple-spellchecker

* wip

* first browserview run

* settings window routing

* wip

* back to webpack

* working build

* back to using electron-builder

* fix linting

* linting errors missed

* back to just 1 config

* missing changes

* refactor and have the settings in its own page

* reminder to restore disabling window.eval

* wip

* wip

* remove old webpack generated files

* add assets files

* more remove files and fix localurls

* wip settings, needs fixing saving prefs

* remove linting errors

* remove settings as a modal

* fix linting

* remove view from window on destroy

* restore visibility if reloaded

* debug log

* look for closed windows, remove managers from settings as it is a full window

* restore view on configuration save

* linting and debug

* remove debug message

* make eslint be aware of webpack aliases

* some extra disable lines

* move badge management to main

* remove unneded import

* fixing errors

* wip

* back to having tabs

* switch tab working

* wip

* wip

* wip

* fix quitting error

* back to a working config

* configure retries

* add darkmode

* wip

* add error/loading screens

* fix settings while removing remote usage

* wip

* fix lint, get preload to load

* remove unused import

* wip

* menus initially working as they should

* update deps, show context menu

* wip

* wip

* wip

* fix forward/back menu

* fix server menu

* allow navigating to external urls in the browser

* add defaults to menu

* fix logic

* set default options

* remove logs

* wip

* fix webpack adding images to /dist so tray can render them

* wait for config, fix menutray calls

* remove .gitattributes from being tracked

* remove unused reject

* remove logs

* Update webpack.config.renderer.js

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

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

* Browserview URLHover (#1393)

* reorder code to support webpack

* start backend changes

* remove simple-spellchecker

* wip

* first browserview run

* settings window routing

* wip

* back to webpack

* working build

* back to using electron-builder

* fix linting

* linting errors missed

* back to just 1 config

* missing changes

* refactor and have the settings in its own page

* reminder to restore disabling window.eval

* wip

* wip

* remove old webpack generated files

* add assets files

* more remove files and fix localurls

* wip settings, needs fixing saving prefs

* remove linting errors

* remove settings as a modal

* fix linting

* remove view from window on destroy

* restore visibility if reloaded

* debug log

* look for closed windows, remove managers from settings as it is a full window

* restore view on configuration save

* linting and debug

* remove debug message

* make eslint be aware of webpack aliases

* some extra disable lines

* move badge management to main

* remove unneded import

* fixing errors

* wip

* back to having tabs

* switch tab working

* wip

* wip

* wip

* fix quitting error

* back to a working config

* configure retries

* add darkmode

* wip

* add error/loading screens

* fix settings while removing remote usage

* wip

* fix lint, get preload to load

* remove unused import

* wip

* menus initially working as they should

* update deps, show context menu

* wip

* wip

* wip

* fix forward/back menu

* fix server menu

* allow navigating to external urls in the browser

* add defaults to menu

* fix logic

* set default options

* remove logs

* wip

* wip

* wip urlview

* wip

* urlview when hovering on a link

* change how to detect when the mouse hovers

* [BrowserView] remove remote usage, fix menus and window buttons in Win (#1418)

* reorder code to support webpack

* start backend changes

* remove simple-spellchecker

* wip

* first browserview run

* settings window routing

* wip

* back to webpack

* working build

* back to using electron-builder

* fix linting

* linting errors missed

* back to just 1 config

* missing changes

* refactor and have the settings in its own page

* reminder to restore disabling window.eval

* wip

* wip

* remove old webpack generated files

* add assets files

* more remove files and fix localurls

* wip settings, needs fixing saving prefs

* remove linting errors

* remove settings as a modal

* fix linting

* remove view from window on destroy

* restore visibility if reloaded

* debug log

* look for closed windows, remove managers from settings as it is a full window

* restore view on configuration save

* linting and debug

* remove debug message

* make eslint be aware of webpack aliases

* some extra disable lines

* move badge management to main

* remove unneded import

* fixing errors

* wip

* back to having tabs

* switch tab working

* wip

* wip

* wip

* fix quitting error

* back to a working config

* configure retries

* add darkmode

* wip

* add error/loading screens

* fix settings while removing remote usage

* wip

* fix lint, get preload to load

* remove unused import

* wip

* menus initially working as they should

* update deps, show context menu

* wip

* wip

* wip

* fix forward/back menu

* fix server menu

* allow navigating to external urls in the browser

* add defaults to menu

* fix logic

* set default options

* remove logs

* wip

* fix webpack adding images to /dist so tray can render them

* wait for config, fix menutray calls

* remove .gitattributes from being tracked

* remove unused reject

* remove logs

* Update webpack.config.renderer.js

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

* fix three dot menu

* remove most remote usage, fix window buttons in Windows

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

* fix different errors when loading config (#1420)

* [BrowserView] Native modules & registry access (#1417)

* reorder code to support webpack

* start backend changes

* remove simple-spellchecker

* wip

* first browserview run

* settings window routing

* wip

* back to webpack

* working build

* back to using electron-builder

* fix linting

* linting errors missed

* back to just 1 config

* missing changes

* refactor and have the settings in its own page

* reminder to restore disabling window.eval

* wip

* wip

* remove old webpack generated files

* add assets files

* more remove files and fix localurls

* wip settings, needs fixing saving prefs

* remove linting errors

* remove settings as a modal

* fix linting

* remove view from window on destroy

* restore visibility if reloaded

* debug log

* look for closed windows, remove managers from settings as it is a full window

* restore view on configuration save

* linting and debug

* remove debug message

* make eslint be aware of webpack aliases

* some extra disable lines

* move badge management to main

* remove unneded import

* fixing errors

* wip

* back to having tabs

* switch tab working

* wip

* wip

* wip

* fix quitting error

* back to a working config

* configure retries

* add darkmode

* wip

* add error/loading screens

* fix settings while removing remote usage

* wip

* fix lint, get preload to load

* remove unused import

* wip

* menus initially working as they should

* update deps, show context menu

* wip

* wip

* wip

* fix forward/back menu

* fix server menu

* allow navigating to external urls in the browser

* add defaults to menu

* fix logic

* set default options

* remove logs

* wip

* fix webpack adding images to /dist so tray can render them

* wait for config, fix menutray calls

* remove .gitattributes from being tracked

* restart-working native modules

* setup env variables for installing native modules

* [browserview] Electron notifications (#1411)

* reorder code to support webpack

* start backend changes

* remove simple-spellchecker

* wip

* first browserview run

* settings window routing

* wip

* back to webpack

* working build

* back to using electron-builder

* fix linting

* linting errors missed

* back to just 1 config

* missing changes

* refactor and have the settings in its own page

* reminder to restore disabling window.eval

* wip

* wip

* remove old webpack generated files

* add assets files

* more remove files and fix localurls

* wip settings, needs fixing saving prefs

* remove linting errors

* remove settings as a modal

* fix linting

* remove view from window on destroy

* restore visibility if reloaded

* debug log

* look for closed windows, remove managers from settings as it is a full window

* restore view on configuration save

* linting and debug

* remove debug message

* make eslint be aware of webpack aliases

* some extra disable lines

* move badge management to main

* remove unneded import

* fixing errors

* wip

* back to having tabs

* switch tab working

* wip

* wip

* wip

* fix quitting error

* back to a working config

* configure retries

* add darkmode

* wip

* add error/loading screens

* fix settings while removing remote usage

* wip

* fix lint, get preload to load

* remove unused import

* wip

* menus initially working as they should

* update deps, show context menu

* wip

* wip

* wip

* fix forward/back menu

* fix server menu

* allow navigating to external urls in the browser

* add defaults to menu

* fix logic

* set default options

* remove logs

* wip

* wip

* move viewmanager into windowmanager

* working notifications

* remove logs, switch tab on notification click

* download notifications

* fix tray

* fix menu switch server

* fix error

* [MM-23078] TabBar fixes for BrowserView (#1423)

* [MM-23078] TabBar fixes for BrowserView

* Removing unnecessary logging

* [Browserview] 4.6 and 4.7 PRs (#1424)

* [MM-28620] allow navigating links to admin_console #1374

* [MM-25789] - Update default settings for new installations #1376

* [MM-27332] show window at autolaunch #1379

* Update NOTICE.txt (#1385)

* Update NOTICE.txt

* Update NOTICE.txt

* Update NOTICE.txt

* convert to markdown

* md linting

* Update NOTICE.md

* Revert "Update NOTICE.md"

This reverts commit 9381fca895c0677bcad1cf1c1071ca88afd6f486.

* Revert "md linting"

This reverts commit e7a68f120109d47b9849cf816d4fef79483ad22f.

* Revert "convert to markdown"

This reverts commit 1e7ed8a67c9c98cd0d0f3ff6cdc70782effb143d.

* add missing licenses to joi and jq

* Remove devDependencies

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

* Notification sounds, also added tab name to notification title

* [MM-22013] - Allow users to specify default download locations #1383

* [MM-21835] Use URL instead of the url library #1384

* remove debug console.log statements

Co-authored-by: Amy Blais <amy_blais@hotmail.com>

* [MM-31266] fix access url when it's not a mm server (#1431)

* [MM-31224] fix reloading servers and other tab issues (#1434)

* [MM-31224] fix reloading servers and other tab issues

* reload if url changes

* Change the dev server port to 9001 to avoid conflict with mattermost-minio (#1437)

* remove dev_web_server (#1438)

* [MM-31225][MM-31217][MM-31219][Browserview] fix linux compilation + other fixes (#1433)

* fix linux errors

* remove registry, remove env_vars

* devtools in separate window, prevent config errors

* fix registry path

* move dist to root when packaging

* make devtools dettached to avoid browserview

* remove unneeded comment

* use reject in case of registry failure

* fix handling results

* fix application menu

* make linter happy

* fix missing key on apt-get (#1440) (#1442)

see https://github.com/electron-userland/electron-builder/issues/5485#issuecomment-749244332

* [MM-31221][BrowserView] first modal: adding a server while in a server view (#1400)

* reorder code to support webpack

* start backend changes

* remove simple-spellchecker

* wip

* first browserview run

* settings window routing

* wip

* back to webpack

* working build

* back to using electron-builder

* fix linting

* linting errors missed

* back to just 1 config

* missing changes

* refactor and have the settings in its own page

* reminder to restore disabling window.eval

* wip

* wip

* remove old webpack generated files

* add assets files

* more remove files and fix localurls

* wip settings, needs fixing saving prefs

* remove linting errors

* remove settings as a modal

* fix linting

* remove view from window on destroy

* restore visibility if reloaded

* debug log

* look for closed windows, remove managers from settings as it is a full window

* restore view on configuration save

* linting and debug

* remove debug message

* make eslint be aware of webpack aliases

* some extra disable lines

* move badge management to main

* remove unneded import

* fixing errors

* wip

* back to having tabs

* switch tab working

* wip

* wip

* wip

* fix quitting error

* back to a working config

* configure retries

* add darkmode

* wip

* add error/loading screens

* fix settings while removing remote usage

* wip

* fix lint, get preload to load

* remove unused import

* wip

* menus initially working as they should

* update deps, show context menu

* wip

* wip

* wip

* fix forward/back menu

* fix server menu

* allow navigating to external urls in the browser

* add defaults to menu

* fix logic

* set default options

* remove logs

* wip

* wip

* wip urlview

* wip

* urlview when hovering on a link

* wip

* wip

* first working modal

* fix config loading

* upgrade electron to 10.1.5

* esc exits modals

* first modal

* add env variables for settings and modals devtools

* adress CSS review comments

* Address review comments

* fix dist in prod

* fix preload path on build

* [MM-31987] Allow camera use for jitsi (#1443) (#1450)

* [MM-31987] allow camera use for jitsi

* update message for access

* [MM-31261] Use manual resizing of BrowserViews on resize, maximize and full-screen (#1449)

* [MM-31261] Use manual resizing of BrowserViews on resize, maximize and full-screen

* Update src/main/windows/windowManager.js

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

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

* add own branch for testing (#1448)

* add own branch for testing

* remove signing for windows

* add message to channel

* Bv pipeline elisabeth (#1452)

* Add parameter and remove schedule

* Add jq

* Fix adding jq

* Fix adding jq

* Fix adding jq

* fix quotes

* upload as JSON

* use previous, parse json

* fixes

* use json

Co-authored-by: Elisabeth Kulzer <elikul@elikul.de>

* [MM-30144][MM-30145][MM-30146][MM-30147] Migrate auth and certificate modals to BrowserView (#1445)

* WIP

* WIP

* WIP

* WIP

* WIP

* [MM-30144][MM-30145] Migrate LoginModal and PermissionModal to BrowserView

* [MM-30146][MM-30147] Migrate certificate modals to BrowserView

* Fixed transparency on the bootstrap modals

* PR feedback

* Added better error reporting in case the modal promise fails

* [MM-31233] Reverse maximize logic typo (#1454)

* [browser view] MM-32277 bump version, exe, cache errrors (#1456)

* bump version

* enable msi and remove src/package*

* ensure variable exists

* remove cleanCache script

* default expansion for env variable

* add commit version, missing package-lock.json

* remove duplicated command

* [MM-31467] Move protocol handling over from original MattermostView into web contents handler (#1453)

* WIP

* WIP

* [MM-31467] Move protocol handling over from original MattermostView into web contents handler

* Remove log statement

* [MM-32392] prevent crash when checking a URL (#1457)

* [MM-31215][MM-31387] Fixes for bad tab navigation and dragging (#1461)

* [MM-31387] Send to renderer on clicking server from settings window

* Use different event name for sending switch server info to renderer

* Have the viewManager let the renderer know when the tab has changed

* Couple more fixes around tabs

* Simplify URL compare logic

* [MM-31650] Restore focus to active server on modal and settings window closure + other fixes (#1455)

* [MM-31650] Focus active server on settings window and modal closure

* Disable tabs when a modal is open

* Revert to using original NewTeamModal component

* fix resize (#1462)

* [MM-32424] fix server devtools being hidden by browserview (#1459)

* [MM-32424] fix server devtools being hidden by browserview

* reverse logic

* [MM-20227][MM-31388] move to roles and fix focus (#1463)

* [MM-31570] update mentions/unreads/session on jewel, tray and dock (#1460)

* [MM-32333] Open public links in the user's default browser (#1468)

* [MM-32333] Open public links in the user's default browser

* Removed commented code

* [MM-31232] fix urlview present with no content (#1467)

* [MM-31343] Migrate Finder to BrowserView (#1466)

* WIP

* WIP

* WIP

* [MM-31343] Migrate Finder to BrowserView

* PR feedback

* Removing reference to this in non-class file

* use electron to handle spellchecking (#1469)

* [MM-32382] Use resize event instead of will-resize for monitoring size of BV (#1470)

* [MM-32570] Use OpenSans as the font for the URL preview modal (#1471)

* [MM-32570] Use OpenSans as the font for the URL preview modal

* Don't use bootstrap

* Fix draw badge (#1477)

* use canvas from window

* fix errors

* fix errors

* safer code injection

* [MM-31554] Add listener for config synchronization on the settings window (#1473)

* [MM-31554] Add listener for config synchronization on the settings window

* Synchronize the config if updated from outside the settings window

* [MM-28541] restore deeplinking (#1475)

* handle deeplinking

* fix app handling deeplinking

* remove outdated comment

* address review comments

* MM-32765_prevent crash on checking unread state (#1479)

* MM-31383 make no the default when asking to add a protocol (#1481)

* [MM-31340] Resize browser view and show back button when on non-team URL (#1472)

* WIP

* [MM-31340] Resize browser view and show back button when on non-team URL

* Fixed issue where switching tabs and resizing hides the back button

* Add error checking around going back in history

* [MM-31399] Use webapp ESLint config in desktop app and resolve inconsistencies (#1482)

* Import webapp eslint and update packages

* FIrst pass with new ruleset

* Allow setState

* Fix rule for tests

* Comment out skippeed tests, removed some TODOs and fixed some warnings

* Remove errors from MainPage

* Use indenting profile from webapp

* Update editorconfig for new indenting

* Fix indenting for class properties

* Only disable no-console for renderer process and scripts

* Remove rule overrides and changes

* Fix merge issues

* PR feedback and fixed a bad merge

* [MM-25122] Use modded version of winreg that supports UTF-8 (#1488)

* fix appicon path resolution (#1484)

* [MM-33141] Fixed use of bad context in TeamList (#1487)

* [MM-33141] Fixed use of bad context in TeamList

* Refactor to pull the functions out

* Remove unnecessary props

* [MM-25355] Throttle notifications for Windows by channel id (#1486)

* [MM-25355] Throttle notifications for Windows

* Use teamId as well to key the notifications

* Merge'd

* Use Map instead of Set

* [MM-33050] move webcontent events out of main (#1489)

* wip

* wip

* fix webcontent events, move views to its own folder

* [MM-33238] Check for admin URL when toggling back bar (#1495)

* [MM-31342] fix "save image as" context menu crash (#1490)

* [MM-33231] update jewel on new mentions/when read (#1493)

* [MM-33231] update state properly for a purecomponent

* remove unneeded comment

* [MM-33032] Use `hidden` titleBarStyle value to fix macOS Catalina click issue (#1496)

* [MM-32809] Remove Toggle Dark Mode menu item for Windows, enable toggling on Linux (#1494)

* [MM-32809] Remove Toggle Dark Mode menu item for Windows

* Just check for !win32 and !darwin

* Enable correct dark mode functionality on non-macOS/non-Windows machines

* [MM-33334] Restore keyboard shortcuts for menu items moved to roles (#1499)

* [MM-33434] Upgrade to Electron v11, some other dependency upgrades (#1501)

* [MM-33434] Upgrade to Electron v11, some other dependency upgrades

* Missed a version change

* context menu fix

* Forgot to remove a log statement

* Added resized for redundancy and upgraded to spectron 13

* Don't need resized

* [MM-33542] Trigger finder cleanup on pressing close or Escape (#1502)

* [MM-33542] Clear the Finder selection when closing the finder

* Remove listener on close as well

* Run close() on escape as well

* [MM-33607] Remove old badge code, update unreads code (#1503)

* [MM-33607] Remove old badge code, update unreads code

* Fix 2 random lint errors

* [MM-33247] Have the app handle links to other teams as a deep link (#1498)

* [MM-33373] Trigger the smaller font for 99+ mentions (#1507)

* [MM-32805] Merge master, migrate LoadingScreen to BrowserView (#1504)

* [MM-467] Notification sounds (#1351)

* Custom sounds

* Trying new version

* Trying new version

* Some fixes

* Rollback version change

* Allow native sound

* Increase version

* Playing custom sounds :)

* Fix var name

* Fix

* Update src/browser/js/notification.js

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

* Update src/browser/js/notification.js

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

* Update src/browser/js/notification.js

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

* Several suggestions

* Update src/browser/js/notification.js

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

* Restore of version

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

* Clean caches on depcheck failure (#1369)

Co-authored-by: Mattermod <mattermod@users.noreply.github.com>

* [MM-28595] Open team links within the app (#1373)

* [MM-25789] - Update default settings for new installations (#1376)

* [MM-25789] - Update default settings for new installations

* Update src/main.js

Co-authored-by: Guillermo Vayá <guillermo.vaya@mattermost.com>

* Update src/main.js

Co-authored-by: Guillermo Vayá <guillermo.vaya@mattermost.com>

* Fix linter

Co-authored-by: Nevyana Angelova <nevyangelova@Nevyanas-MacBook-Pro-2.local>
Co-authored-by: Mattermod <mattermod@users.noreply.github.com>
Co-authored-by: Guillermo Vayá <guillermo.vaya@mattermost.com>

* add Russian language in the list available for spellcheck (#1375)

* [MM-28620] allow navigating links to admin_console (#1374)

* [MM-28620] allow navigating links to admin_console

* Fix when there is not a server associated

* [MM-27332] show window at autolaunch (#1379)

* Bump to version 4.7.0-develop

* Update NOTICE.txt (#1385)

* Update NOTICE.txt

* Update NOTICE.txt

* Update NOTICE.txt

* convert to markdown

* md linting

* Update NOTICE.md

* Revert "Update NOTICE.md"

This reverts commit 9381fca895c0677bcad1cf1c1071ca88afd6f486.

* Revert "md linting"

This reverts commit e7a68f120109d47b9849cf816d4fef79483ad22f.

* Revert "convert to markdown"

This reverts commit 1e7ed8a67c9c98cd0d0f3ff6cdc70782effb143d.

* add missing licenses to joi and jq

* Remove devDependencies

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

* [MM-9922] Hide tooltip for internal links (channels, timestamps, etc.) (#1386)

* Hide tooltip for internal links (channels, timestamps, etc.)

* Only hide tooltip for internal links on the *current* team

* feat(spellcheck): add Ukrainian language for spellcheck (#1382)

* [MM-29677] fix download complete notification not appearing (#1388)

* fix soundname not existing (#1390)

* [MM-29921] fix custom sound not playing when receiving a notification (#1396)

* [MM-29921] fix sound notification

* remove logs

* Update release-process.md (#1394)

* [MM-22013] - Allow users to specify default download locations (#1383)

* [MM-22013] - Allow users to specify default download locations

* PR comments

* Add proper config prop

* Update src/browser/components/SettingsPage.jsx

Co-authored-by: Guillermo Vayá <guillermo.vaya@mattermost.com>

* Remove string ref

* Fix styling

* Update styling

* Disable input

* Add variable for windows

* Prevent dialog from opening twice

Co-authored-by: Nevyana Angelova <nevyangelova@Nevyanas-MBP-2.fritz.box>
Co-authored-by: Nevyana Angelova <nevyangelova@Nevyanas-MacBook-Pro-2.local>
Co-authored-by: Guillermo Vayá <guillermo.vaya@mattermost.com>
Co-authored-by: Mattermod <mattermod@users.noreply.github.com>

* [MM-21835] Use URL instead of the url library (#1384)

Additionally, migrate all of the URL related helper functions
from `src/utils/utils.js` to the new `src/utils/url.js` file
and migrate tests.

Issue MM-21835
Fixes #1206

* Merge Powershell files together and remove AppVeyor related code

* Ensure nodejs deps are met before running script argument directly

* [MM-22810] Update loading screen with new design & animation (#1409)

* Update loading screen with new design & animation

* add prop back in

* adjust z-index for tests

* tweaks to pass tests

* address offline feedback

- shrink initial logo size
- introduce a slight delay before fading loading spinner out
- fix horizontal scrollbar showing on load screen

* add missing css variable

* no need to remove loading icon

* Apply suggestions from code review

Co-authored-by: Guillermo Vayá <guillermo.vaya@mattermost.com>

* Move LoadingScreen.jsx to file-only component

* Rename prop for better clarity

* Default prop to none and check when needed

* Update import paths

* Add ESDocs and remove unecessary conditional

* Forgot to remove the eslint override

Co-authored-by: Guillermo Vayá <guillermo.vaya@mattermost.com>

* [MM-22960] - Keep desktop app pinned to taskb bar when the app upgrades (#1397)

Co-authored-by: Nevyana Angelova <nevyangelova@Nevyanas-MacBook-Pro-2.local>

* Bump highlight.js from 9.18.1 to 9.18.5 (#1421)

Bumps [highlight.js](https://github.com/highlightjs/highlight.js) from 9.18.1 to 9.18.5.
- [Release notes](https://github.com/highlightjs/highlight.js/releases)
- [Changelog](https://github.com/highlightjs/highlight.js/blob/9.18.5/CHANGES.md)
- [Commits](https://github.com/highlightjs/highlight.js/compare/9.18.1...9.18.5)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Bump ini from 1.3.5 to 1.3.7 (#1427)

Bumps [ini](https://github.com/isaacs/ini) from 1.3.5 to 1.3.7.
- [Release notes](https://github.com/isaacs/ini/releases)
- [Commits](https://github.com/isaacs/ini/compare/v1.3.5...v1.3.7)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* fix missing key on apt-get (#1440)

see https://github.com/electron-userland/electron-builder/issues/5485#issuecomment-749244332

* [MM-31987] Allow camera use for jitsi (#1443)

* [MM-31987] allow camera use for jitsi

* update message for access

* Created codeql analysis (#1441)

Co-authored-by: Mattermod <mattermod@users.noreply.github.com>

* [MM-31626] bypass gitlab browser-check for oauth login (#1439)

* MM-31626 make User Agent configurable by user

* add info

* remove chrome from UA for gitlab.com

* remove previous solution

Co-authored-by: Mattermod <mattermod@users.noreply.github.com>

* Add Swedish sv-SE (already in simple-spellchecker) (#1483)

* Add Swedish sv-SE (already in simple-spellchecker)

* Remove spaces in empty lines

* Add some sv-SE test for spellchecker

Co-authored-by: Peter Johansson <peter.johansson@havochvatten.se>

* Add loading screen, fix reload

* WIP

* Migrate LoadingScreen to BrowserView

* Lint fixes

* Removed gitlab fix code, also returning null is bad apparently

* Fix reload logic

Co-authored-by: Rodrigo Villablanca <villa061004@gmail.com>
Co-authored-by: Guillermo Vayá <guivaya@gmail.com>
Co-authored-by: Juho Nurminen <juho.nurminen@mattermost.com>
Co-authored-by: Mattermod <mattermod@users.noreply.github.com>
Co-authored-by: Guillermo Vayá <guillermo.vaya@mattermost.com>
Co-authored-by: Nev Angelova <nevy.angelova@gmail.com>
Co-authored-by: Nevyana Angelova <nevyangelova@Nevyanas-MacBook-Pro-2.local>
Co-authored-by: Eugeny Fomin <github.com@jeka.ru>
Co-authored-by: Amy Blais <amy_blais@hotmail.com>
Co-authored-by: Nathan Bolender <nathan@nathanbolender.com>
Co-authored-by: Dmitriy Danilov <daniloff200@gmail.com>
Co-authored-by: Nevyana Angelova <nevyangelova@Nevyanas-MBP-2.fritz.box>
Co-authored-by: FalseHonesty <skipboman0@gmail.com>
Co-authored-by: William Gathoye <william@gathoye.be>
Co-authored-by: Dean Whillier <deanwhillier@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Rohitesh Gupta <srkg.gupta@gmail.com>
Co-authored-by: petermcj <petermcj@gmail.com>
Co-authored-by: Peter Johansson <peter.johansson@havochvatten.se>

* [MM-33668] Restore tests to browser-view branch (#1506)

* happy eslint

* wip

* wip

* remove aliases

* almost working tests

* green tests

* Revert "remove aliases"

This reverts commit 803d3695538197407b45e0d8d30dc429b259b7f3.

* add unit test, reconfigure package scripts, make test pass

* [MM-33542] Trigger finder cleanup on pressing close or Escape (#1502)

* [MM-33542] Clear the Finder selection when closing the finder

* Remove listener on close as well

* Run close() on escape as well

* [MM-33607] Remove old badge code, update unreads code (#1503)

* [MM-33607] Remove old badge code, update unreads code

* Fix 2 random lint errors

* fix script naming in circle

* fix check deps

* attempt to fix dependency-check download

* remove check-deps step

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

* Cleanup of BrowserView migration, some bug fixes (#1509)

* 1st round of cleanup

* 2nd round of cleanup

* Set constant for reload-config

* Cleaned up some TODOs

* store daily build to S3 (#1508)

* store daily build to S3

* missing colon

* fix paths

* try to keep folders

* remove unneeded step

* change from arn to bucket name

* keep organization consistent

* fix indentation

* fix indentation x2

Co-authored-by: = <=>

* MM-33551 keep tray state between themes (#1511)

Co-authored-by: = <=>

* Set to version v4.7

Co-authored-by: Guillermo Vayá <guillermo.vaya@mattermost.com>
Co-authored-by: Amy Blais <amy_blais@hotmail.com>
Co-authored-by: Guillermo Vayá <guivaya@gmail.com>
Co-authored-by: Elisabeth Kulzer <elikul@elikul.de>
Co-authored-by: Rodrigo Villablanca <villa061004@gmail.com>
Co-authored-by: Juho Nurminen <juho.nurminen@mattermost.com>
Co-authored-by: Mattermod <mattermod@users.noreply.github.com>
Co-authored-by: Nev Angelova <nevy.angelova@gmail.com>
Co-authored-by: Nevyana Angelova <nevyangelova@Nevyanas-MacBook-Pro-2.local>
Co-authored-by: Eugeny Fomin <github.com@jeka.ru>
Co-authored-by: Nathan Bolender <nathan@nathanbolender.com>
Co-authored-by: Dmitriy Danilov <daniloff200@gmail.com>
Co-authored-by: Nevyana Angelova <nevyangelova@Nevyanas-MBP-2.fritz.box>
Co-authored-by: FalseHonesty <skipboman0@gmail.com>
Co-authored-by: William Gathoye <william@gathoye.be>
Co-authored-by: Dean Whillier <deanwhillier@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Rohitesh Gupta <srkg.gupta@gmail.com>
Co-authored-by: petermcj <petermcj@gmail.com>
Co-authored-by: Peter Johansson <peter.johansson@havochvatten.se>
2021-03-18 15:51:53 +01:00
petermcj 9551d6628c
Add Swedish sv-SE (already in simple-spellchecker) (#1483)
* Add Swedish sv-SE (already in simple-spellchecker)

* Remove spaces in empty lines

* Add some sv-SE test for spellchecker

Co-authored-by: Peter Johansson <peter.johansson@havochvatten.se>
2021-02-25 22:18:24 +01:00
Guillermo Vayá 4a72948baa
[MM-31626] bypass gitlab browser-check for oauth login (#1439)
* MM-31626 make User Agent configurable by user

* add info

* remove chrome from UA for gitlab.com

* remove previous solution

Co-authored-by: Mattermod <mattermod@users.noreply.github.com>
2021-01-22 12:11:25 +01:00
Dean Whillier 83bae0c2b8
[MM-22810] Update loading screen with new design & animation (#1409)
* Update loading screen with new design & animation

* add prop back in

* adjust z-index for tests

* tweaks to pass tests

* address offline feedback

- shrink initial logo size
- introduce a slight delay before fading loading spinner out
- fix horizontal scrollbar showing on load screen

* add missing css variable

* no need to remove loading icon

* Apply suggestions from code review

Co-authored-by: Guillermo Vayá <guillermo.vaya@mattermost.com>

* Move LoadingScreen.jsx to file-only component

* Rename prop for better clarity

* Default prop to none and check when needed

* Update import paths

* Add ESDocs and remove unecessary conditional

* Forgot to remove the eslint override

Co-authored-by: Guillermo Vayá <guillermo.vaya@mattermost.com>
2020-11-17 15:13:03 +01:00
FalseHonesty 5d0a937bb9
[MM-21835] Use URL instead of the url library (#1384)
Additionally, migrate all of the URL related helper functions
from `src/utils/utils.js` to the new `src/utils/url.js` file
and migrate tests.

Issue MM-21835
Fixes #1206
2020-11-04 20:59:07 +01:00
Nev Angelova ad1871ad95
[MM-22013] - Allow users to specify default download locations (#1383)
* [MM-22013] - Allow users to specify default download locations

* PR comments

* Add proper config prop

* Update src/browser/components/SettingsPage.jsx

Co-authored-by: Guillermo Vayá <guillermo.vaya@mattermost.com>

* Remove string ref

* Fix styling

* Update styling

* Disable input

* Add variable for windows

* Prevent dialog from opening twice

Co-authored-by: Nevyana Angelova <nevyangelova@Nevyanas-MBP-2.fritz.box>
Co-authored-by: Nevyana Angelova <nevyangelova@Nevyanas-MacBook-Pro-2.local>
Co-authored-by: Guillermo Vayá <guillermo.vaya@mattermost.com>
Co-authored-by: Mattermod <mattermod@users.noreply.github.com>
2020-11-03 12:25:48 +01:00
Guillermo Vayá 732427a3fe
[MM-29921] fix custom sound not playing when receiving a notification (#1396)
* [MM-29921] fix sound notification

* remove logs
2020-10-24 00:07:34 +02:00
Guillermo Vayá 427c16b701
fix soundname not existing (#1390) 2020-10-15 14:42:35 +02:00
Guillermo Vayá 9ceb38402a
[MM-29677] fix download complete notification not appearing (#1388) 2020-10-14 22:42:08 +02:00
Dmitriy Danilov 67179c0b31
feat(spellcheck): add Ukrainian language for spellcheck (#1382) 2020-10-14 17:08:02 +02:00
Nathan Bolender 2198244a65
[MM-9922] Hide tooltip for internal links (channels, timestamps, etc.) (#1386)
* Hide tooltip for internal links (channels, timestamps, etc.)

* Only hide tooltip for internal links on the *current* team
2020-10-14 17:06:11 +02:00
Guillermo Vaya 210589b6bc Bump to version 4.7.0-develop 2020-10-05 09:17:13 +02:00
Guillermo Vayá 3182a9d0b1
[MM-27332] show window at autolaunch (#1379) 2020-10-05 09:10:34 +02:00
Guillermo Vayá 1979721ac9
[MM-28620] allow navigating links to admin_console (#1374)
* [MM-28620] allow navigating links to admin_console

* Fix when there is not a server associated
2020-10-05 08:47:29 +02:00
Eugeny Fomin f06a498134
add Russian language in the list available for spellcheck (#1375) 2020-10-02 00:34:42 +02:00
Nev Angelova 34af973316
[MM-25789] - Update default settings for new installations (#1376)
* [MM-25789] - Update default settings for new installations

* Update src/main.js

Co-authored-by: Guillermo Vayá <guillermo.vaya@mattermost.com>

* Update src/main.js

Co-authored-by: Guillermo Vayá <guillermo.vaya@mattermost.com>

* Fix linter

Co-authored-by: Nevyana Angelova <nevyangelova@Nevyanas-MacBook-Pro-2.local>
Co-authored-by: Mattermod <mattermod@users.noreply.github.com>
Co-authored-by: Guillermo Vayá <guillermo.vaya@mattermost.com>
2020-09-29 16:31:54 +02:00
Guillermo Vayá 34e1a030b9
[MM-28595] Open team links within the app (#1373) 2020-09-11 22:18:30 +02:00
Rodrigo Villablanca a2b2b3367f
[MM-467] Notification sounds (#1351)
* Custom sounds

* Trying new version

* Trying new version

* Some fixes

* Rollback version change

* Allow native sound

* Increase version

* Playing custom sounds :)

* Fix var name

* Fix

* Update src/browser/js/notification.js

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

* Update src/browser/js/notification.js

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

* Update src/browser/js/notification.js

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

* Several suggestions

* Update src/browser/js/notification.js

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

* Restore of version

Co-authored-by: Guillermo Vayá <guivaya@gmail.com>
2020-09-02 12:39:47 +02:00
Guillermo Vayá 96597332a0
only show the picker if there is more than 1 cert (#1354) 2020-07-30 10:50:25 +02:00
Venhaus a47feb6b61
Fix typo in SettingsPage.jsx (#1339)
Co-authored-by: Paul Venhaus <paul.venhaus@thoughtworks.com>
2020-07-24 17:13:27 -04:00
Guillermo Vayá 487c9d265e
[MM-26832] don't show the window until it is ready (#1345)
* [MM-26832] don't show the window until it is ready

* [MM-26832] allow the app to still paint itself while initially hidden

* fix tests, ensure it appears if not using silent mode
2020-07-15 22:13:15 +02:00
Guillermo Vayá d183cbc149
[MM-26665] fix security issues from dependabot (#1335) 2020-07-03 23:08:14 +02:00
Guillermo Vayá a30233f913
[MM-26017] add menu to all windows (#1327)
* [MM-26017] add menu to all windows

* fix suggestions

* fix internal images
2020-06-26 21:20:21 +02:00
Dušan Panić a5ce5700cc
[MM-25748]Allow access to managed resources (#1311)
* init of a branch

* Add more descriptive comment

* fix for linter errors

* Refactor of popup code
Remove isTrustedPopupWindow check in setPermissionRequestHandler
Check which UA needs to be sent depending on a url

* Update src/utils/util.js

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

* Remove commented code:

* Revert package.json and package-lock.json to original ones

* Implement buildConfig support for multiple trusted resources

* Fix for a typo

* add comments

* code cleanup

Co-authored-by: Dusan Panic <dusan@salestrekker.com>
Co-authored-by: dpanic <dpanic@0point.co>
Co-authored-by: Guillermo Vayá <guivaya@gmail.com>
2020-06-19 15:32:14 +02:00
Devin Binnie 81522a3b2d
[MM-22751] Removed Windows 10 style border for non-Windows 10 clients (#1322)
* [MM-22751] Removed Windows 10 style border for non-Windows 10 clients

* Lint fix
2020-06-17 20:54:42 +02:00
Guillermo Vayá d49e8dd501
[MM-25980] no menu for popups (#1323)
* [MM-25980] remove menu for win and linux

* [MM-25980] fix focus error

* revert menu visibility on popup
2020-06-17 10:42:28 +02:00
Guillermo Vayá 877f81d430
[MM-22230] fix promises, reenable trust protocols, reenable capturing unhandled exceptions (#1315)
* [MM-22230] migrate dialogs to promises if needed

* object response, actually capture and show the screen

* make app close if user chooses ok
2020-06-08 10:03:21 +02:00
Devin Binnie 1a217853d7
[MM-24587] Added margin at top of draggable tab bar to facilitate resizing (#1312) 2020-06-05 13:12:42 -04:00
Nev Angelova 9eca54daf4
[MM-24154] - Fix copy/paste mismatch by upgrading electron context menu (#1313)
Co-authored-by: Nevyana Angelova <nevyangelova@Nevyanas-MBP.fritz.box>
2020-06-05 16:51:57 +02:00
Guillermo Vayá 643aed2ba6
[MM-25671] fix invalid urls (#1309) 2020-06-03 10:42:40 +02:00
Guillermo Vayá a377ac2a12
[MM-25429]/[MM-25433] fix finder focus, align buttons, keep state consistent (#1301)
* [MM-25429] fix finder focus, align buttons, keep state consistent

* wip

* actually fix the problem

* remove logs

* move finder class with the rest of the classes, back to top

* address ux comments
2020-06-03 10:42:09 +02:00
Guillermo Vayá a6e6f149e1
[MM-25681] fix reload (#1308) 2020-06-02 11:42:27 +02:00
Devin Binnie 4ce0ede8b7
[MM-25522] Revert unnecessary fix for bad UX causing focus to not be restored correctly (#1303) 2020-05-28 11:28:42 -07:00
Devin Binnie 0725ed9b51
[MM-25526] Removed fix for flaky test causing visual issues with Add New Server flow (#1302) 2020-05-28 10:35:17 -04:00
Devin Binnie 16ea9df188
[MM-24702] Fixed unintentional re-ordering of teams in config file (#1300)
* [MM-24702] Fixed unintentional re-ordering of teams in config file

* Lint fix
2020-05-28 10:34:34 -04:00
Guillermo Vayá 36c6106cad
[MM-22648] basic auth external sites (#1295)
* fix not using babel

* wip

* added tests, moved to map, polifill-like to convert between object and map

* basic structure setup

* working, found new bug

* change buttons

* fix login issue

* remove logging code

* address CR comments

* remove custom function in favor of airbnb shim

* fix linting

* fix PM requested changes

* [MM-25323] fix basic auth cancelling

* fix crash when multiple request were made

* address UX comments, added external link for user
convenience
2020-05-28 10:53:57 +02:00
Guillermo Vayá 53f1f40774 [MM-25295] upgrade yargs, electron-log deps, reorganized args (#1299) 2020-05-27 10:24:27 +02:00
Guillermo Vaya 5c8b7d3c37 Bump to version 4.6.0-develop 2020-05-09 01:11:13 +02:00
Guillermo Vaya a65f08e3de fix version for release 2020-05-09 01:10:52 +02:00
Guillermo Vayá c2102bb257
[MM-22102] upgrade to electron 7 (#1268)
* fix errors

* upgrade to electron 7

* getsavepath is deprecated

* fix typo

* disable messaging from 'null'

* replace getname to its property

* deprecated zoomlevel

* deprecated setbadgecount

* isdarkmode deprecated

* it's a property, not a function

* fix error message

* fix test

* fix test on linux
2020-05-09 00:29:02 +02:00
Nev Angelova 162a5a7fa4
[MM-24286] - Fix save image functionality of context menu (#1277)
Automatic Merge
2020-05-02 05:14:29 -07:00
Devin Binnie d9ae410761
[MM-23663] Fixed z-index ordering of webview vs. error page (#1252) 2020-04-27 10:30:34 -04:00
Guillermo Vayá cc78da7d2c
[MM-23215] prevent mouse event to go through and click on window (#1269) 2020-04-22 19:08:54 +02:00
Guillermo Vayá 26af87362f
[MM-23195] fix logic to detect if windows is outside of display boundaries (#1249)
* [MM-23195] fix logic to detect if windows is outside of display boundaries

* wip removal

* fix stuck halfway through screens

* don't jump to another display
2020-04-13 15:50:53 +02:00
Guillermo Vayá f1baa03a8f
[MM-22229] migrate some operations to promises (#1223)
* [MM-22229] convert download dialog into promises

* use callback

* [MM-22231] switch clearcache to promises

* [MM-22232] migrate flush cookies to promises
2020-04-08 14:56:25 +02:00
Devin Binnie 9b5f53a294
[MM-22720] Assume maximize setting when AppleActionOnDoubleClick isn't explicitly set (#1214)
* [MM-22720] Assume maximize setting when AppleActionOnDoubleClick isn't explicitly set

* Forced for macOS only and made same changes to SettingsPage

Co-authored-by: mattermod <mattermod@users.noreply.github.com>
2020-04-07 14:52:33 -04:00
Brian Ledbetter 93f7ae9b47
[MM-23082] Fixes whitescreen issue on app upgrade / GPO / whitelabeled app deployments (#1246)
* Fixes whitescreen issue on app upgrade / GPO push / whitelabeled app deployments.  If sort order was not present in buildConfig.js (or previous configuration), we will assume reasonable defaults

* Fixing eslint bugs - with my apologies

* Removing order flag from sample configuration, but leaving it in the documentation.
BUGFIX: Accidentally left my custom enableServerManagement flag in place.  Reverted to default

* Making a more educated guess as to the user's desired sort order.

* Update src/common/config/index.js

Use forEach's index instead of an external one.

Co-Authored-By: Guillermo Vayá <guivaya@gmail.com>

* Update src/common/config/index.js

Let me test this, I'm not sure I understand how this logic works.  :)

Co-Authored-By: Guillermo Vayá <guivaya@gmail.com>

* Removed optional field

* Fixed broken lint:js with my apologies

Co-authored-by: Guillermo Vayá <guivaya@gmail.com>
2020-04-07 15:49:49 +02:00
Devin Binnie b573e773d8
[MM-23784] Removed unnecessary code for focusing the mattermost view (#1258) 2020-04-07 09:11:31 -04:00
Guillermo Vayá adaeea2082
[MM-23057] add different useragent for popup windows (#1247) 2020-04-02 17:39:29 +02:00
Guillermo Vayá faeab18a0e
[MM-22434] update joi, convert to json before validating (#1240)
* [MM-22434] update joi, convert to json before validating

* fix cr comments
2020-04-02 16:12:29 +02:00
Guillermo Vayá 0f171a2597
[MM-22552] Remove permission request everytime a notification needs to be shown (#1226)
* only ask for permission if we never asked before

* try to get permissions on win on dev mode

* revert appusermodelid

* fix eslint

* refactor to match 'master' state
2020-04-02 15:59:32 +02:00
Devin Binnie 63f0ee0a03
[MM-22004] Add dragability to the title bar buttons area for macOS (#1216) 2020-04-02 09:56:22 -04:00
Guillermo Vayá c24354f367
[MM022677] fix focus on new server modal (#1242) 2020-04-02 14:50:23 +02:00
Devin Binnie 4f104c93c5
[MM-23153] Fixed the issue where back/forward navigation not in the main window causes the app to crash (#1248)
* [MM-23153] Force the back/forward buttons to only work with the main window

* Revert "[MM-23153] Force the back/forward buttons to only work with the main window"

This reverts commit 9db159dbb9c6b08887492f44f5d1a7bd0df55517.

* Just fix the bug
2020-04-01 14:08:00 -04:00
Nev Angelova 3d188030a4
[MM-22363] - Add desktop notification on download complete (#1213)
* [MM-22363] - Add desktop notification on download complete

* Fix notifications on windows

* Add missing shell import

* Add missing log1

* Solve file location bug

* remove console.log

* Resolve PR comments1

* transform server origin to server name

* please linter

* remove redundant parameters from download notification

* refactor the notification click handling to use a callback

Co-authored-by: Nevyana <nevyana@Nevyanas-MacBook-Pro.local>
Co-authored-by: Nevyana Angelova <nevyangelova@Nevyanas-MBP.fritz.box>
Co-authored-by: mattermod <mattermod@users.noreply.github.com>
2020-04-01 16:29:33 +02:00
Devin Binnie cb6244832a
[MM-22479] Added aria-label to 3-dot menu on Windows (#1244) 2020-03-26 14:24:08 -04:00
Devin Binnie a24d21e819
[MM-20742] Null checking on URL pathname when deep linking (#1243)
* [MM-20742] Null checking on URL pathname when deep linking

* Switched to using '/' instead of blank string
2020-03-25 12:41:57 -04:00
Guillermo Vayá cfd65d62c6
[MM-19856] Add back button when navigating outside of MM server (#1179) 2020-03-19 21:51:26 +01:00
Guillermo Vayá 176fd19aa2
[MM-23332] fix eslint (#1238)
* fix eslint packages

* fix eslint rules

* more eslint fixes
2020-03-17 21:34:38 +01:00
Nev Angelova 9f6147e120
[MM-22082] - Add focus to server name field in new server modal (#1208)
* [MM-22082] - Add focus to server name field in new server modal

* Add focus for multiple initialisations

* Fix focus issues

Co-authored-by: Nevyana <nevyana@Nevyanas-MacBook-Pro.local>
2020-03-13 23:46:30 +01:00
Nev Angelova 097e6180c8
[MM-22361] - Set default preferences to flash app window (#1218)
Co-authored-by: Nevyana <nevyana@Nevyanas-MacBook-Pro.local>
2020-03-06 11:56:53 +02:00
Dean Whillier 18d3ebdb53
force wrap long server urls (#1197) 2020-02-18 17:18:40 -05:00
Dean Whillier 20b555631d
Clickin on setting team links to proper tab (#1196)
- takes manual ordering into account
2020-02-18 09:50:51 -05:00
Dean Whillier ab78111a98
fix 3rd party login detection (#1199) 2020-02-18 09:50:36 -05:00
Dean Whillier e00f803fd3
[MM-22618] Reorder tab menu items to match tab order (#1198)
* reorder tab menu items to match tab order

* now reorder menu items on tray icon
2020-02-18 09:49:21 -05:00
Guillermo Vayá 59bc03d6ab
[MM-22558] fix loginurls on subpath and server's with team in the url (#1192)
* fix loginurls on subpath and server's with team in the url

* remove console logs

* support both subpath and teamurls

* improve readability
2020-02-14 22:08:15 +01:00
Devin Binnie 4f7782fb88
[MM-22494] Fixed misuse of config.set (#1191) 2020-02-14 15:21:09 -05:00
Devin Binnie c895535449
[MM-22585] Ctrl/Cmd+<num> now switches to tabs based on order (#1193)
* [MM-22585] Ctrl/Cmd+<num> now switches to tabs based on order

* Added fix for hotkeying from SettingsPage
2020-02-14 13:45:06 -05:00
Dean Whillier eb66b789ba
Use ‘isTrustedURL’ function to validate url (#1190) 2020-02-12 12:48:44 -05:00
Guillermo Vayá 3c35767df5
[MM-22150] Add default accelerators (#1183) 2020-02-10 12:35:13 -08:00
Guillermo Vayá ac3ac24c42
[MM-20832] prevent dialog stacking, move to promises (#1169)
* [MM-20832] fix dialog stacking, move to promises

* put line in the right place

* Fix linting

* fix lint x2

* show details

* don't store the whole URL, just the server

* fix CR comments
2020-02-06 12:41:37 +01:00
Devin Binnie 33c869edae
[MM-22193] Workaround for app hang on Windows 10 dark mode (#1180) 2020-02-06 06:19:20 -05:00
Guillermo Vayá a39c16a523
[MM-21974] improve CSS for client certificate screens (#1164)
* [MM-21974]make certificate selection look better

* fix console errors

* wip

* first css iteration

* css fixes

* use single quotes

* suggested tweaks

* some extra tweaks

* remove console.log

* Fix CR comments

Co-authored-by: Dean Whillier <deanwhillier@users.noreply.github.com>
2020-02-03 10:15:03 +01:00
Devin Binnie 6551483db7
[MM-20796] Un-reverted the Ctrl+Tab fix and also made sure the tabs go in the right order (#1173)
* [MM-20796] Un-reverted the Ctrl+Tab fix and also made sure the tabs go in the right order

* Style fixes

* Update src/browser/components/MainPage.jsx

Co-Authored-By: Guillermo Vayá <guivaya@gmail.com>

* Different logic

Co-authored-by: Guillermo Vayá <guivaya@gmail.com>
2020-01-29 18:02:19 -05:00
Devin Binnie 59f2a02c36
[MM-22073] Added new titlebar to Settings page (#1171) 2020-01-29 22:28:32 +01:00
Guillermo Vayá 120082e88a
[MM-22006] fix name mapping (#1170) 2020-01-29 13:12:43 -05:00
Guillermo Vayá e247b5c155
[MM-21934] don't do anything on cancel (#1168) 2020-01-27 10:22:30 +01:00
Devin Binnie 81555eafba [MM-21341] Changed keyboard shortcut logic to pull focused web contents if an explicitly focused tab is not found (#1151) 2020-01-24 10:07:28 +01:00
Devin Binnie 31cc745748
[MM-19919] Allow links to other servers to go directly to that server in the app (#1165)
* [MM-19919] Allow links to other servers to go directly to that server in the app

* Added index to getSerrver() and used that for handling inter team links
2020-01-23 10:46:17 -05:00
Hunter Lester cf097e624f [MM-18007] macOS app reopens closed window on Cmd+Tab (#1110) 2020-01-23 12:09:22 +01:00
Guillermo Vayá 458c3b2797
[MM-21869] handle downloading in a new way to adapt to electron v6 (#1159) 2020-01-23 11:56:29 +01:00
JtheBAB f6129c8253 Add pl-PL as spellchecker (#1155)
* Update contextMenu.js

* Update SpellChecker.js

* Update spellchecker_test.js

* Update test/specs/spellchecker_test.js

Co-Authored-By: Dean Whillier <deanwhillier@users.noreply.github.com>

Co-authored-by: Dean Whillier <deanwhillier@users.noreply.github.com>
2020-01-21 09:08:50 -05:00
Guillermo Vayá 58cf6d5b28 [MM-20363] prevent using api to navigate within the app's window (#1137)
* prevent using api to navigate within the app's window

* api calls handled differently

* add aliases to ease development

* small refactor of url navigation

* hardcode http/s protocol being allowed

* add protocols specified on electron-builder
2020-01-17 13:52:05 -05:00
Guillermo Vayá b98e6a451d [MM-21195] add file extension on download (#1149)
* [MM-21195] select extension

* win fixes

* cleanup
2020-01-17 13:13:58 -05:00
Raoul Scarazzini f9b5d64993 Add it-IT spell checker (#1139) 2020-01-16 22:20:15 -05:00
Guillermo Vayá 33e24030d1 [MM-21192] allow for certificate selection (#1148)
* wip

* first working version

* kinda show the cert

* fix lint

* wip

* wip

* css fixes, cleanup

* fix lint

* get back to normal op

* get back cert name

* wip, added cert info screen

* queue cert requests, move user to cert request team

* certifications queued

* remove unneded import

* remove log

* remove commented code

* cleanup

* remove trust certificate dialog for showing it

* fix CR comments
2020-01-16 20:37:25 -05:00
Dean Whillier 9f2c1b6f86
Upgrade to Electron 6 (#1152)
- includes update to electron-builder 22
- includes deprication update to powerMonitor
2020-01-16 17:47:13 -05:00
Devin Binnie 5a237d8d88
[MM-20822] Added cut/paste/zoom events to other pages and added exceptions for dev tools and new server modal (#1133)
* [MM-20822] Added cut/paste/zoom events to other pages and added exceptions for dev tools and new server modal

* Using getFocusedWebContents

* Fixed an issue where the webcontents aren't found if you're on a login page

* Potential fix for mojave pasting on new team modal
2020-01-13 12:28:00 -05:00
Devin Binnie 8f45afa080 [MM-20350] Block Basic auth for non trusted URLs (#1125) 2020-01-09 12:37:57 -05:00
Xalkan 867380c1d4 [MM-20795] Added auto focus on Server Display Name input field (#1135) 2020-01-09 11:30:48 -05:00
Devin Binnie 932ddafdb0
[MM-10586] Desktop App Window/Tabs Update (#1056)
* [MM-19054] Added new server tab look and feel, still missing proper hover states and session expired icon

* [MM-19055] Added window controls and removed border for macOS

* [MM-19055] Add dark mode for macOS

* [MM-19054] Added session expired icon

* Test windows titlebar

* Fixed the menu issue and added non-macOS dark mode

* Blank commit

* Fixed a lint issue

* Fixed more lint issues

* Fixed more issues

* New tray icons

* [MM-19603] Drag and drop tabs

* Fixed some assets and fixed build output to include missing assets

* Fixed a couple small issues

* Only show tabs for only 1 server on Mac

* Fixed some more tests

* Fixed another test

* Revert "Fixed another test"

This reverts commit 36040294a71a68663d06996d71eecc5ed23d7014.

* Fixed another test

* Trial and error!

* A bunch of additional fixes

* Fixed a lint issue

* Fixed restore focus on add server tab causing bad UX

* Trial and error on flaky test again

* Fixed some bugs based on PR feedback.

* blank commit to push tests

* Revert "Test windows titlebar"

This reverts commit 9cd46b71b1427b75942434ac49185870d2437b85.

* Remove the rest of the old new titlebar and fixes

* Added three-dot link

* New menu

* Rest of new windows menu and other fixes

* Fixed lint errors

* Added windows 10 style title bar buttons for non mac OS

* Lint fixes and enabled the tab bar regardless of number of servers

* Missed one

* Fixed unicode characters

* Commenting out test that should no longer be applicable

* Removed Windows 10 style titlebar icons and used material design instead

* Fixed a lint issue

* Some small UX fixes

* blank commit

* Fixed an issue where dropping the first tab moves it too far over before snapping into place

* Additional style fixes

* Another small issue fix

* Back to Windows 10 style

* Lint fixes

* Accessible three dot menu

* Lint fixes

* Shrinking tabs when window is too small

* Gradient between tabs and title bar buttons when window is too small

* Add drag to gradient

* Replaced icons, drag and drop cursor sticking fix, slight tab change

* Lint and some mac fixes

* Light theme fix to three dot menu

* Hack for tab sticking to cursor on macOS

* Fixes for the find utility

* Fix for Catalina dark mode

* Revert "Fix for Catalina dark mode"

This reverts commit 45da05dd0f17f46efd1c53fafb92e9c1fd9dd8d9.

* Fixed a couple issues Dean found

* More fixes

* Three dot hover effect to circle

* PR feedback

* Test fixes

* Test and config fixes

* Disable dragging when there are GPO servers

* [MM-20757] Fixed dark mode on debug when running macOS Catalina

* Allow future config versions to use v2 config if launching this version of the app

* Oops

* New titlebar icons, blur for titlebar on inactive

* Lint fix

* Set unfocused opacity to 0.4

* Final FINAL icons

* Fixed closing menu not returning focus to the app

* Lint fix

* Update src/browser/components/TabBar.jsx

Co-Authored-By: Guillermo Vayá <guivaya@gmail.com>

* Update src/main/Validator.js

Co-Authored-By: Guillermo Vayá <guivaya@gmail.com>

* Lint fixes

* Moved react-smooth-dnd fork to MM org and fixed another merge issue

Co-authored-by: mattermod <mattermod@users.noreply.github.com>
Co-authored-by: Guillermo Vayá <guivaya@gmail.com>
2020-01-03 12:00:43 -05:00
Allen Lai 2a426ebe09 MM-18754: Desktop: Convert binding functions to arrow functions (#1123)
* change to using arrow function

* conform to lint
2019-12-30 11:08:27 +01:00
Devin Binnie 52da23fafe [MM-20796] Removed visibility: hidden from MM view when error page was showing (#1127) 2019-12-27 10:48:08 +01:00
Guillermo Vayá 81a9e5e028
set white background for OSs which have turned off subpixel aliasing (#1129) 2019-12-27 10:47:12 +01:00
Devin Binnie e95b7aad02 [MM-19223] Created reduced size notification icon to fix pixelation (#1136) 2019-12-27 10:44:43 +01:00
Devin Binnie 009b473077
[MM-19205] Allow the use of v2 configs by v1 config desktop apps (#1126) 2019-12-16 15:19:46 -05:00
Guillermo Vayá 75b47a95b7
[MM-20794] change suggestion on spellchecker locale change (#1132)
* [MM-20794] change suggestions if locale is changed

* prevent crash on spellchecker load
2019-12-16 15:59:47 +01:00
Guillermo Vayá 2d8c7af089
[MM-14135] allow negative window app positions (#1124)
* [MM-14135] allow negative positions to enable having the app on a monitor on the left of primary

* remove logging
2019-12-13 17:13:03 +01:00
Guillermo Vayá efd56d7ac3
[MM-21075] Prevent known teams to open in a new app window (#1130)
* [MM-21075] prevent known teams to open a new
window

* improve naming

* allow anything that is not a team to open a window
2019-12-13 16:20:10 +01:00
Devin Binnie a46e3f4342
[MM-20156] Added '99+' message badge for Windows when over 99 mentions are included (#1113) 2019-12-11 09:30:20 -05:00
Guillermo Vayá 1dd8145943 [MM-20645] fix spellchecker (#1111) 2019-11-27 21:24:16 -05:00
Dean Whillier 4a54b58e65
[MM-19266] Manually exit html fullscreen on macOS when in fullscreen (#1097)
* manually exit html fullscreen on mac in fullscreen

* Ensure the element that is fullscreen is an iframe

* remove unused import
2019-11-23 02:31:18 -05:00
Dean Whillier d23c8cf48a [MM 19649] Fix blank window when auto-starting the app on login (#1106)
* Windows: fix hidden/shown/maximized window on start

* allow for some overlap with the top/left edge of the screen before resetting

* support maximizing directly from app tray icon after initial startup

* inline comments

* alternative to prevent minimize effect on startup

* default hideOnStartup to false

* update comment
2019-11-19 23:02:49 +01:00
Guillermo Vayá 395cbf9c9e
[MM-19963] set working directory on start (#1105)
* [MM-19963] set current working directory for the app

* prevent failing if env variables are not setup

* [MM-19963] cwd if not in dev mode and only if necessary, log it if it happens

* fix remove path if no cert is present

* address CR suggestions
2019-11-19 11:31:32 +01:00
Devin Binnie 90963e8381 Fixed email links being rejected by will-navigate (#1093) 2019-11-14 10:48:14 +01:00
Dean Whillier 81c32c2d8c
Manually handle misbehaving keyboard shortcuts (#1092)
* manually handle misbehaving keyboard shortcuts

MM-19198
MM-19032

includes zooming, redo/undo & copy/cut/paste for good measure

* manually handle misbehaving menu items

* bump electron minor version

* remove temp log import

* update context menu package version
2019-10-28 11:27:59 -04:00
Eric Newport a78878fb6d Update add new server icon on the settings page (#1083)
Closes https://github.com/mattermost/desktop/issues/1071

Closes https://mattermost.atlassian.net/browse/MM-19368
2019-10-23 12:59:24 +02:00
Dean Whillier ef9ad68f05
[MM 19369] Add controlled support for popup windows. (#1065)
* Allow all navigation for trusted popup windows

* slight cleanup

* change log type

* add log of blocked popup windows

* remove allways on top

* additional logging
2019-10-15 14:48:22 -04:00
Dean Whillier e4044f533d
re-focus renderer (#1064)
- using the menu hotkeys was causing the renderer to somehow loose focus, preventing further hotkeys from working
2019-10-11 09:17:51 -04:00
Dean Whillier da4ae94c8b
allow trusted urls to open new windows (#1062) 2019-10-09 09:45:02 -04:00
Dean Whillier e1f64f0ba0
[MM-19266] User activity monitor updates (#1061)
* user activity monitor updates

- re-work of the mechanism for determining user activity status and triggering updates that are passed to the server via the webapp
- removing system events (login/out screensaveer on/of etc.) to be re-considered for a future release

* add missing descriptions

* review tweaks

* update tests
2019-10-09 09:00:15 -04:00
Devin Binnie 695d246a67 [MM-19187] Focus the webview on server selection (#1058) 2019-10-08 17:25:51 -04:00
Dean Whillier ac4ed39761 include team bar in mention counts (#1059) 2019-10-08 22:31:48 +02:00
Dean Whillier 00de500906 change mechanism for showing/hiding tabs (#1057)
- allow hidden tabs to still receive unread/mention updates
2019-10-08 22:25:03 +02:00
Dean Whillier 2591656610
MM-19096 – simplify custom login process (#1053)
* simplify custom login process

- remove need for temporarily trusting 3rd party hostname

* code review tweaks

* fix reducer

* review tweaks

* removing requirement for /login as start
2019-10-06 18:28:38 -04:00
Dean Whillier 24fdd05860
Change help menu shortcut on Windows (#1048) 2019-10-03 12:19:11 -04:00
Dean Whillier 5edc665978
stop cursor bug fix from running in inactive tabs (#1054) 2019-10-03 09:06:40 -04:00
Michael Kochell 593ded98f6
[MM-18936] Guard against bad server url so app doesn't crash (#1049)
* guard against invalid server url so app doesn't crash

* move if statement and add try/catch
2019-10-01 12:17:08 -06:00
Devin Binnie 4d7f5ab417 [MM-18750] Fixed a typo that was causing tray icon to constantly show up (#1041) 2019-09-26 13:51:24 -04:00
Dean Whillier 761ef8d0e6
[MM-18152] Desktop notifications (#1040)
* temp

* add in html5 notification tests

* strip out custom permissions handling

* disable middle click

* validate as URI instead of URL

allow’s custom protocol’s to pass through

* add context isolation to new window requests

* add new permissions handling

* prevent setting user to away from quit/shutdown

* dispatch desktop notifications from renderer

* remove test code

* log desktop notification errors

* should deny as a last resort

* only trigger callback once
2019-09-23 14:59:12 -04:00
dependabot[bot] 175eaad6f6 Bump bootstrap from 3.3.7 to 3.4.1 in /src (#1021)
Bumps [bootstrap](https://github.com/twbs/bootstrap) from 3.3.7 to 3.4.1.
- [Release notes](https://github.com/twbs/bootstrap/releases)
- [Commits](https://github.com/twbs/bootstrap/compare/v3.3.7...v3.4.1)

Signed-off-by: dependabot[bot] <support@github.com>
2019-09-20 16:33:01 +02:00
Dean Whillier 171e4a03a7
[MM 17255] Fix OneLogin and other OAUTH/SAML custom login attempts (#1025)
* allow custom login activity (oath, saml)

* fix electron missing cursor bug

* change variable name

* tweaks to custom login process
2019-09-16 16:02:37 -04:00
Dean Whillier 99fae82514
[MM-18551] Remove (auto)updater from v4.3 (#1035)
* remove (auto)updater from v4.3
2019-09-16 13:08:45 -04:00
Dean Whillier e12d47ea62
Mm 16694 master validate urls (#1000)
* validate urls before deeplink or link click

* tests for isValidURL utility function

* review change - invert condition

* add validation for loaded files

bounds-info.json, app-state.json, config.json

* further validation and tweaks

certificate.json, permission.json

* add 2 more files for validation

* parse and validate deeplinks

- includes fix for windows deeplink when app is open

* disable auto-updator when in dev

* Squirrel is not used anymore

* fix validating allowedProtocols

* discard any args following a deeplink url

* tweaks

* update test

* support scheme’s with and without slashes

* stop after finding the first occurance of a deep link

* test updates

* updates to run tests successfully

* port updates to validation from 4.2

* url validation updates

changed validation package to better support internal domains and punycode domains
2019-09-09 12:38:31 -04:00
Dean Whillier f12f9da798
switch to ‘postMessage’ for webapp communication (#1026) 2019-09-09 12:33:14 -04:00
Dean Whillier 2d173e6f70
Enable context isolation (#999) 2019-09-09 12:30:25 -04:00
Peter Dave Hello 310fc63132 Optimize png image with zopflipng lossless compression (#981) 2019-07-09 21:29:02 -04:00
steevsachs e6acdf387c [MM-11896] Do not use minimize shortcut on win32 (#971) 2019-07-02 15:09:39 +02:00
Yuya Ochiai 04c03c3baf Upgrade dependencies (#996)
* Upgrade Electron to 5.0.4

* Fix spellcheck provider

* npm audit fix
2019-06-26 15:46:13 -04:00
Dean Whillier 2cfc735d6d
[MM 7970] Maintain online status while the Desktop App is in the background ... and other things. (#993)
* monitor os-level user activity

* disable eslint warnings

* add tests for UserActivityMonitor

* couple more tests

* udpate headers of new files
2019-06-25 10:11:03 -04:00
Dean Whillier 2cf0acc38c
center badge text and nomention dot (#995)
- also add padding and updated border radius to be a bit more consistent with badges in webapp
2019-06-21 17:39:43 -04:00
Dean Whillier 694e6554e0 reference menion counts from LHS only (#990) 2019-06-17 15:21:57 +05:30
Jesús Espino 241fe8db62 MM-13690: Centering the dot correctly on nomentions badge (#978) 2019-05-24 12:59:30 -04:00
MikeNicholls 9aca5c6651 Fix inability to authenticate against a server protected with HTTP Basic Auth
Remove use of refs for login dialog username and password, shift values into instance properties instead (#966)
2019-05-11 22:02:14 +02:00
Dean Whillier d662b5c863 [MM-14740] Address potential race condition and cleanup main.js (#968)
A potential race condition between loading registry data in Windows and the electron app becoming ready is fixed with Promise.all() to make sure they are both loaded before finishing initialization that relies on both. Code has been reorganized to support this.
2019-05-11 19:27:51 +02:00
Dean Whillier 25b920f412
[MM-14740] Integrate GPO functionality (#961)
* integrate gpo functionality

* support multiple windows registry ‘hives’

* correct some copy paste errors

* registry config progress

* tweaks
2019-04-18 13:19:04 -04:00
Dean Whillier 4137d0ea23 [MM-14740] Consolidate configuration to support integration of MSI/GPO (#959)
* config logic consolidation

* filter out duplicate servers

* build default teams and GPO teams are not editable

* tweaks

* tweak config architecture to support tests

- config needs to load in each process (main and renderer) and then synchronize with each other
- finished saving ui functionality

* add esdoc comments to new config module

* remove old config-related files

* revert eslint comment

* don’t filter teams, duplicates are allowed

* some code review tweaks

* Remove unecessary deepCopy

* tweak for tests

* Skip test for now

Can’t seem to get this test to work, even though what is being tested works fine in the actual app.

* fix for failing test

click of ‘light’ option wasn’t triggering an update as it is selected by default, so flipped the order to first select ‘dark’ and then ‘light’
2019-04-11 13:58:30 +02:00
Dean Whillier f175e21c03
Merge pull request #956 from mattermost/MM-13349
open certain internal paths in default browser
2019-03-26 10:14:10 -04:00
Dean Whillier 28bf5ce08d
Merge pull request #954 from mattermost/MM-14176
[MM-14176] Fix restart after quitting in full screen
2019-03-26 09:56:45 -04:00
Dean Whillier f3204443f9 open certain internal paths in default browser 2019-03-25 22:23:23 -04:00
Dean Whillier feda6e6c02 don’t save window.fullscreen to app state 2019-03-21 11:44:48 -04:00
Dean Whillier c17fdc23a4 fix black screen when closing window in fullscreen 2019-03-20 16:43:27 -04:00