Commit Graph

22 Commits

Author SHA1 Message Date
Devin Binnie
c85a4497b6 Fix the issue where we sometimes need to wait for GPO teams properly (#2621) 2023-03-20 16:24:07 -04:00
Devin Binnie
ec4a733507 [MM-50527] Explicitly allow the Mattermost views access to write to the clipboard using Copy Link (#2565)
* [MM-50527] Explicitly allow the Mattermost views access to write to the clipboard using Copy Link

* Include calls widget window

* Add calls popout to the list as well

* Update src/main/app/initialize.ts

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

---------

Co-authored-by: Christopher Poile <cpoile@gmail.com>
2023-03-01 22:48:55 -05:00
Devin Binnie
07e41ec678 Remove use of getView() and replace with getViewByURL() where necessary. (#2544)
* WIP

* Replace getView with getViewByURL
2023-02-07 08:59:35 -05:00
Tasos Boulis
94120a0315 [MM-49743] Remove screen change listeners due to electron's bug (#2506)
* Remove screen change listeners due to electron bug

* Remove unused functions
2023-01-20 11:09:26 +02:00
Tasos Boulis
76caf02cb2 Maximize main window if monitor removed/changed resolution (#2486)
* Maximize main window if monitor removed/changed resolution

* Fix unit tests

* Add better handlers to support active screen changes
2023-01-03 18:11:35 +02:00
Tasos Boulis
a1c39d954b Replace deprecated "gpu-process-crashed" with "child-process-gone" (#2471) 2022-12-14 10:49:12 +02:00
Tasos Boulis
935cf3a0cc [MM-48079] Dont show server login when GPO has preconfigured servers (#2346)
* Show onboarding server screen only when teams.length is 0

* Add tests

* Add more tests

* Fix issue where callback would not re-evaluate variables
2022-11-04 16:11:56 +02:00
Tasos Boulis
9f7a96e794 Fix 3-dot menu not losing focus after clicking outside (Windows). Related to MM-46424 (#2242) 2022-10-12 18:04:15 +03:00
Tasos Boulis
131b5fa2ac [MM-22239] Downloads dropdown (#2227)
* WIP: show/hide temp downloads dropdown

* WIP: Position downloads dropdown correctly under the button

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

* WIP: Add items to download list after finished downloading

* WIP: Add download item base components

* Add "clear all" functionality

* Use type Record<> for downloads saved in config

* Add styling to files in the downloads dropdown

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

* Update scrollbar styling

* Update scrollbar styling

* Update state of downloaded items if deleted from folder

* Add progress bar in downloads

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

* Keep downloads open when clicking outside their browserview

* Use correct color for downloads dropdown button

* Add better styling to downloads dropdown button

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

* Autoclose downloads dropdown after 4s of download finish

* Add file thumbnails

* Dont show second dialog if first dismissed

* Add red badge when downloads running and dropdown closed

* Add menu item for Downloads

* Add support for more code file extensions

* Open downloads dropdown instead of folder from the menu

* Run lint:js and fix problems

* Add tests for utils

* Fix issue with dropdown not displaying

* Remove unecessary comment

* Move downloads to separate json file, outside Config

* Add downloads dropdown menu for the 3-dot button

* Dont show dev tools for downloads

* Add cancel download functionality

* Add dark mode styling

* Use View state for downloadsMenu open state

* Fix some style issues

* Add image preview for downloaded images

* Remove extra devTool in weback config

* Fix issue with paths on windows

* Align items left in downloads menu

* Use pretty-bytes for file sizes

* Show download remaining time

* Close downloads dropdown when clicking outside

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

* Dont hide downloads when mattermost view is clicked

* Keep downloads open if download button is clicked

* Use closest() to check for download clicks

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

* Remove unecessary tsconfig for jest

* Fix types error

* Add all critical tests for downloadsManager

* WIP: add e2e tests for downloads

* WIP: add e2e tests for downloads

* Rename downloads spec file

* WIP: make vscode debugger work for e2e tests

* Remove unused mock

* Remove defaults for v4 config

* Use electron-mocha for e2e debugger

* Fix e2e tests spawning JsonFileManager twice

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

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

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

* Wait for page load before assertions

* Add tests for file uploads/downloads

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

* Increment filenames if file already exists

* Fix antializing in downloads dropdown

* Fix styling of downloads header

* Increase dimensions of green/red icons in downloads

* Fix styling of 3-dot button

* Fix unit tests

* Show 3-dot button only on hover or click

* PR review fixes

* Revert vscode debug fixes

* Mock fs.constants

* Mock fs instead of JsonFileManager in downlaods tests

* Mock fs instead of JsonFileManager in downlaods tests

* Add necessary mocks for downloads manager

* Mark file as deleted if user deleted it

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

* Add more tests

* Make size of downloads dropdown dynamic based on content

* Combine log statements

* Close 3-dot menu if user clicks elsewhere

* Move application updates inside downloads dropdown

* Fix update issues

* Fix ipc event payload

* Add missing prop

* Remove unused translations

* Fix failing test

* Fix version unknown

* Remove commented out component
2022-10-07 11:40:27 +03:00
Devin Binnie
f58a4b1826 [MM-46533] Remove buildConfig item and add webpack flags for onboarding screens and GPU acceleration (#2241)
* [MM-46533] Remove buildConfig item and add webpack flags for onboarding screens and GPU acceleration

* REVERT ME

* Use contexts instead

* Revert "REVERT ME"

This reverts commit 1e75779623f1c5eb2ce3a64e0c39cd4a8cf7ada7.
2022-08-25 10:58:06 -04:00
Julian Mondragón
faf2dae74b MM-25003_Improve Onboarding screens for the desktop app - Intro Screen (#2220) 2022-08-16 12:33:03 -05:00
Devin Binnie
ad3e1500cc [MM-45646] Change download notification text to display saved filename instead of original (#2203) 2022-07-20 15:46:03 -04:00
Devin Binnie
59e4e7e516 [MM-14058] Add support for i18n (#2190)
* Add language files

* Add react-intl, mmjstool, setup for adding translations

* Translated main module

* Translations for renderer

* A few minor fixes

* More fixes

* Add CI, add missing menu translations, other cleanup

* Added setting to manually select the language of the app

* Force English for E2e

* Unit tests

* Fix mmjstool

* Move set language to before update menu

* PR feedback
2022-07-14 11:04:18 -04:00
vas
aeda1dfdcc automatically add protocol to Server URL (#2083) (#2106)
* automatically add protocol to Server URL (#2083)

* refactor NewTeamModal to only detect protocol on save

* use window.postMessage for intercom + only ping on form save
2022-05-17 09:41:56 -04:00
vas
8dd7d3dcc5 fix version flags displaying bad version on linux (#1422) (#2089)
yargs, the command line parsing library, was unable to read the app's version automatically from package.json
fix by passing the app's version as electron sees it
2022-05-10 15:52:33 -04:00
Devin Binnie
9b3d37e953 MAS: remove default download location (#2070) 2022-04-25 09:37:43 -04:00
Devin Binnie
626fea84a5 [MM-41999] Add additional logging for debugging, allow users to change log level (#2031)
* Add debug logging switch

* Add tests

* Mock electron-log globally in jest

* New logs for debugging

* Switch to a dropdown to choose log levels

* Fix tests

* Update wording
2022-03-31 16:46:57 -04:00
Devin Binnie
0a7be91576 [MM-42538] Submit nightly builds to TestFlight for macOS (#2023)
* Initial MAS build, working on TestFlight

* Migration of old configs to MAS

* Ignore fastlane files

* Add mac app store build to nightly build

* Revert Me - For testing in PR

* Don't need to install fastlane

* BIG D

* Fix patch updater script to allow for no yml

* Nevermind, do this instead

* Update xcode

* Let's try a fake version that works

* Revert version and rename for test flight

* Use Xcode 13.0.0

* Use CircleCI build number when available

* Revert testing changes

* Remove notarize for MAS

* Change vars to MACOS instead of IOS

* Revert electron-builder to v22

* Revert package-lock.json

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