Commit Graph

548 Commits

Author SHA1 Message Date
Devin Binnie
45e7ec95b7 [MM-48079] Fix race condition related to registry loading vs. the welcome screen popup (#2408) 2022-11-22 09:35:46 -05:00
Tasos Boulis
b4e21b5c5e Remove invalid files from downloads list on startup (#2401) 2022-11-18 18:58:32 +02:00
Devin Binnie
791c141aee [MM-47706] Remove exposure of the ipcRenderer methods in the desktop app and only expose specific endpoints (#2387) 2022-11-16 09:40:18 -05:00
Tasos Boulis
216674a673 Fix issue with windows-focus-assist returning truthy value on older windows versions (#2385) 2022-11-16 11:50:53 +02:00
Tasos Boulis
e1f5250c0c [MM-48080] Update tray icon instantly when the settings change (#2376)
* Update wording and update tray icon instantly when the settings change

* Add tests

* Include new file
2022-11-14 21:40:18 +02:00
Devin Binnie
0ec3da40ba [MM-48167] Only grab the last extension from a filename during Save As (#2357) 2022-11-07 09:49:27 -05:00
Claudio Costa
47edeea601 [MM-46993] Implement CallsWidgetWindow (#2265)
* Initial implementation of CallsWidgetWindow

* Refactor + implement widget resizing logic

* Add tests

* Enable screen sharing

* Channel link

* Add more tests

* Move constants to common file

* Extract boundsDiff into util

* Set background color on initialization

* Fix channel link

* Support installations under a subpath

* Fix path, caching issues and pass title

* [MM-48142] Fix remaining call state issues in main window (#2349)

* Update widget URL to new format

* Slightly bump widget dimensions to account for border

* Fix call state on parent window
2022-11-07 09:40:13 +01:00
Tasos Boulis
c319038704 [MM-48184] Disallow edit/remove server if it is imported from GPO (#2353)
* Disallow edit/remove server if it is imported from GPO

* Fix width issue of team dropdown
2022-11-04 17:58:21 +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
Devin Binnie
6ae055728d Downloads fixes (#2331)
* Add file extension when necessary

* [MM-48017] Set the bounds for the dropdowns on finished resize
2022-10-28 16:19:59 -04:00
Tasos Boulis
ca62814ce6 [MM-47970] + [MM-47754] Downloads fixes (#2326)
* Use downloads location as default when clicking "Save as". Remove update from downloads after upgrade when application starts

* Fix issue where "addedAt" was extracted from undefined object

* Fix tests
2022-10-27 13:00:28 -04:00
Devin Binnie
635a41f998 [MM-47801][MM-45980] Added support for security-scoped bookmarks to allow the MAS build to save files wherever needed (#2315)
* First pass

* [MM-47801] Added support for security-scoped bookmarks to allow the MAS build to save files wherever needed
2022-10-25 15:02:00 +03:00
Tasos Boulis
33da0afce5 [MM-47842] Make "save as" in context menu show the save dialog (#2311)
* Make "save as" in context menu show the save dialog

* Update tests
2022-10-24 10:08:04 -04:00
Devin Binnie
dc49003d38 [MM-47779] Prevent crash when either URL view or main window was destroyed first (#2300) 2022-10-21 09:19:33 -04:00
Tasos Boulis
f7f38102d8 Reposition 3-dot menu only when it is open (#2304) 2022-10-21 16:16:39 +03:00
Devin Binnie
179eacb582 [MM-47778] Remove Sign into another Server menu item when no servers exist (#2301) 2022-10-21 09:14:02 -04:00
Tasos Boulis
167f7d832a [MM-47754] Remove update from downloads when "Restart and Upgrade" is clicked (#2299)
* Remove update from downloads when "Restart and Upgrade" is clicked

* Fix failing test

* Mock downloadsManager in autoUpdater tests
2022-10-21 13:27:24 +03:00
Tasos Boulis
1f5f5ef71d [MM-47756] Close Downloads when clicking in tabBar (Windows) (#2293)
* Make tabBar disabled when dropdowns are open so that clicking there can close them

* Update src/renderer/components/MainPage.tsx

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

* Remove console

Co-authored-by: Devin Binnie <52460000+devinbinnie@users.noreply.github.com>
2022-10-20 16:47:53 +03:00
Tasos Boulis
bbf162e7d0 Disabled Clear All button when downloads include only the application update and when they also include files, clear only the files (#2294) 2022-10-20 16:20:51 +03:00
Tasos Boulis
cf647ce3e9 [MM-36456] Add support for Gnome's do-not-disturb (#2278)
* Add support for gnome do-not-disturb mode

* Add tests

* Invert condition
2022-10-17 16:37:42 +03:00
Tasos Boulis
d5cf3e76e1 Fix issue where update progress was not displayed (#2286) 2022-10-14 11:17:51 -04: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
a5dac0f4b2 Fix issue with downloads position after window (un)maximize (#2273) 2022-10-07 10:14:17 -04:00
Tasos Boulis
a4b05c601b Remove duplicate handler for showing file in folder (#2274) 2022-10-07 10:14:03 -04:00
Tasos Boulis
131b5fa2ac [MM-22239] Downloads dropdown (#2227)
* WIP: show/hide temp downloads dropdown

* WIP: Position downloads dropdown correctly under the button

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

* WIP: Add items to download list after finished downloading

* WIP: Add download item base components

* Add "clear all" functionality

* Use type Record<> for downloads saved in config

* Add styling to files in the downloads dropdown

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

* Update scrollbar styling

* Update scrollbar styling

* Update state of downloaded items if deleted from folder

* Add progress bar in downloads

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

* Keep downloads open when clicking outside their browserview

* Use correct color for downloads dropdown button

* Add better styling to downloads dropdown button

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

* Autoclose downloads dropdown after 4s of download finish

* Add file thumbnails

* Dont show second dialog if first dismissed

* Add red badge when downloads running and dropdown closed

* Add menu item for Downloads

* Add support for more code file extensions

* Open downloads dropdown instead of folder from the menu

* Run lint:js and fix problems

* Add tests for utils

* Fix issue with dropdown not displaying

* Remove unecessary comment

* Move downloads to separate json file, outside Config

* Add downloads dropdown menu for the 3-dot button

* Dont show dev tools for downloads

* Add cancel download functionality

* Add dark mode styling

* Use View state for downloadsMenu open state

* Fix some style issues

* Add image preview for downloaded images

* Remove extra devTool in weback config

* Fix issue with paths on windows

* Align items left in downloads menu

* Use pretty-bytes for file sizes

* Show download remaining time

* Close downloads dropdown when clicking outside

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

* Dont hide downloads when mattermost view is clicked

* Keep downloads open if download button is clicked

* Use closest() to check for download clicks

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

* Remove unecessary tsconfig for jest

* Fix types error

* Add all critical tests for downloadsManager

* WIP: add e2e tests for downloads

* WIP: add e2e tests for downloads

* Rename downloads spec file

* WIP: make vscode debugger work for e2e tests

* Remove unused mock

* Remove defaults for v4 config

* Use electron-mocha for e2e debugger

* Fix e2e tests spawning JsonFileManager twice

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

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

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

* Wait for page load before assertions

* Add tests for file uploads/downloads

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

* Increment filenames if file already exists

* Fix antializing in downloads dropdown

* Fix styling of downloads header

* Increase dimensions of green/red icons in downloads

* Fix styling of 3-dot button

* Fix unit tests

* Show 3-dot button only on hover or click

* PR review fixes

* Revert vscode debug fixes

* Mock fs.constants

* Mock fs instead of JsonFileManager in downlaods tests

* Mock fs instead of JsonFileManager in downlaods tests

* Add necessary mocks for downloads manager

* Mark file as deleted if user deleted it

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

* Add more tests

* Make size of downloads dropdown dynamic based on content

* Combine log statements

* Close 3-dot menu if user clicks elsewhere

* Move application updates inside downloads dropdown

* Fix update issues

* Fix ipc event payload

* Add missing prop

* Remove unused translations

* Fix failing test

* Fix version unknown

* Remove commented out component
2022-10-07 11:40:27 +03:00
Julian Mondragón
c3493b09ff MM-45981_Desktop: Add Server Screen: Improve Onboarding screens (#2243) 2022-09-16 10:35:37 -05:00
Devin Binnie
4c968dc747 Add webContents listeners to modals (#2247)
* Add webContents listeners to modals

* Fix tests
2022-09-01 09:41:06 -04:00
Devin Binnie
f95fce2c85 Remove notification logging from info (#2245) 2022-08-29 09:19:58 -04:00
Devin Binnie
840c640fdf [MM-46405] Drop support for asterisk-based unreads (#2239) 2022-08-25 14:23:29 -04:00
Devin Binnie
78d9a41a7b [MM-45003] Fix the infinite redirect caused by MFA sending the login signal repeatedly (#2237)
* [MM-45003] Fix the infinite redirect caused by MFA sending the login signal repeatedly

* Update src/main/windows/windowManager.ts

Co-authored-by: Tasos Boulis <tboulis@hotmail.com>

Co-authored-by: Tasos Boulis <tboulis@hotmail.com>
2022-08-25 14:21:36 -04:00
Devin Binnie
f58a4b1826 [MM-46533] Remove buildConfig item and add webpack flags for onboarding screens and GPU acceleration (#2241)
* [MM-46533] Remove buildConfig item and add webpack flags for onboarding screens and GPU acceleration

* REVERT ME

* Use contexts instead

* Revert "REVERT ME"

This reverts commit 1e75779623f1c5eb2ce3a64e0c39cd4a8cf7ada7.
2022-08-25 10:58:06 -04:00
Julian Mondragón
8f8407c16a MM-46445_Add a way to bypass Desktop App onboarding to buildConfig (#2232) 2022-08-23 11:19:41 -04:00
Devin Binnie
455d0c334a Fix for mac unit tests (#2231) 2022-08-19 12:10:12 +08: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
1270859d39 [MM-46101] Move allowed protocols to build config (#2217) 2022-08-15 09:06:31 -04:00
Devin Binnie
0c2f0676d1 [MM-46114] More fixes for Windows resizing (#2216) 2022-08-03 10:51:13 -04:00
Devin Binnie
1e35a97f33 [MM-36326][MM-45669] Added Native Node Module support - incl demo to fix DND issue (#2195)
* [MM-36326] Added Native Node Module support - incl demo to fix DND issue

* Fix OS per build

* Fix to include priority alarms on Windows

* Update node command

* Fixes for mac (only work on non-MAS build)

* Attempt to rebuild properly since electron-builder is having issues with a module

* Show me more logs maybe idk

* Try with ignore-scripts

* Force async to work asyncly

* PR feedback and ESLint fixes

* Add comment for node-gyp

* Revert me: test msi and mac installer

* Revert me too

* Try reverting back to the old system cause the new one miraculously broke...

* Add ignore scripts to makefile

* Ignore non-macho files :P

* Revert "Revert me too"

This reverts commit 074dc9551a2d8ce34a23a3abaeed937d957e8b76.

* Revert "Revert me: test msi and mac installer"

This reverts commit 0ac998c26a824e7136bdfdc825280a407bb1aa7f.
2022-08-02 11:33:48 -04:00
Devin Binnie
fcc9215f37 Fix windows resize (#2214) 2022-07-29 11:07:05 -04:00
Devin Binnie
829b49571f [MM-43941] Optimize app resizing on Windows/Linux by waiting for the viewport to resize (#2204)
* [MM-43941] Optimize app resizing on Windows/Linux by waiting for the viewport to resize

* Some mitigations for Windows

* Make the logs sillier

* Fixed the no servers case

Co-authored-by: Mattermod <mattermod@users.noreply.github.com>
2022-07-26 10:25:13 -04:00
Devin Binnie
e73e77daf9 Fix some issues caused by i18n addition (#2209)
* Fix some issues caused by i18n addition

* Couple more small changes
2022-07-26 09:11:56 -04:00
Devin Binnie
40c072981a [MM-44229] Ignore and untrust cross-origin certificates from existing Mattermost servers (#2205) 2022-07-20 17:09:12 -04: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
Tasos Boulis
22c97591d5 [MM-40233] Swap names for dark/light tray icons on Linux and Windows (#2180)
* Swap names for dark/light tray icons for linux and windows.

* Swap icon tray themes when system default is used

Co-authored-by: Mattermod <mattermod@users.noreply.github.com>
2022-07-06 09:47:09 -04:00
Tasos Boulis
aa21179f8f [MM-44931] Allow zoom in/out when Shift is pressed (#2178)
* Add hidden menuitems for zoomIn zoomOut with shift

* Add e2e tests for zoom in/out with shift

* Fix e2e tests

* Add missing async

* Fix lint errors

* Put tests inside describes

* Fix lint errors

* Update e2e/specs/menu_bar/view_menu.test.js

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

* Update e2e/specs/menu_bar/view_menu.test.js

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

Co-authored-by: Devin Binnie <52460000+devinbinnie@users.noreply.github.com>
2022-06-30 14:14:47 -04:00
Devin Binnie
c6cc870e19 [MM-44932] Fixed issue where deleting a server doesn't switch to another server (or show the new server modal) (#2174) 2022-06-28 08:00:25 -04:00
Devin Binnie
0c5b612489 [MM-45031] Don't use infinite background retry logic when the certificate is invalid (#2153) 2022-06-15 09:22:21 -04:00
Devin Binnie
537ed1dd0c [MM-44644] Update configured server URL from SiteURL if available (#2152) 2022-06-14 12:30:24 -04:00
Devin Binnie
b4a779a666 [MM-44607] Only cleanse subpath if it occurs at the beginning (#2129)
* [MM-44607] Only cleanse subpath if it occurs at the beginning

* Fix tests
2022-05-27 11:37:07 -04:00
Devin Binnie
8979c18226 [MM-44339] Remove unnecessary calls to show the main window (#2134) 2022-05-27 09:27:51 -04:00