37 Commits

Author SHA1 Message Date
Devin Binnie
f9b13e39fa Fix tasbar/dock translations (#3410) 2025-05-12 09:10:27 -04:00
Devin Binnie
eeddb8f897 [MM-63399] Add a changelog link for when the app auto updates (#3371)
* [MM-63399] Add a changelog link for when the app auto updates

* PR feedback

* PR feedback
2025-03-12 16:54:37 +00:00
Devin Binnie
5d7374971c [MM-61717] Refresh Settings Modal without Bootstrap (#3337)
* [MM-61717] Refresh Settings Modal without Bootstrap

* Fix i18n

* Couple small bug fixes

* E2E test updates

* Fix linux tests

* PR feedback

* PR feedback

* PR feedback

* Fix the border opacity and height

* PR feedback

* PR feedback 2
2025-02-27 20:51:49 +00:00
Devin Binnie
6fa5508588 [MM-63224] Add incompatible server screen (#3348)
* [MM-63224] Add incompatible server screen

* Fixed issue where init isn't called on no server case

* Amend check
2025-02-21 10:17:49 -05:00
Devin Binnie
4d754efdd7 [MM-61716][MM-62643] Introduce Modal component, remove bootstrap and react-bootstrap from most modals, update styles (#3317)
* Introduce Modal, add some styles from the webapp

* Remove bootstrap from LoadingScreen/WelcomeScreen

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

* Migrate remove server modal to Modal, remove bootstrap

* Migrate certificate modal to Modal, remove bootstrap

* Migrate login and permission modals to Modal, remove Bootstrap

* Misc fixes

* E2E tests for current modals

* Update src/renderer/components/Modal.tsx

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

* Update src/renderer/components/Modal.tsx

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

* PR feedback

---------

Co-authored-by: Daniel Espino García <larkox@gmail.com>
Co-authored-by: Mattermost Build <build@mattermost.com>
2025-02-18 15:58:28 +00:00
Devin Binnie
17300dfd4a [MM-62724] Refresh error page screen to match branding, remove react-bootstrap (#3300)
* [MM-62724] Refresh error page screen to match branding, remove react-bootstrap

* Fix links on error page to open externally

---------

Co-authored-by: Mattermost Build <build@mattermost.com>
2025-01-31 10:26:24 -05:00
Devin Binnie
0bbf4ef595 [MM-62670] Update cert issue error message (#3286) 2025-01-23 09:01:43 -05:00
Claudio Costa
34932dfa06 Expose Desktop API in Calls popout window (#3258) 2025-01-20 12:26:02 -05:00
Devin Binnie
723fda8abb [MM-37379] Add "Clear Data" options in the menu to allow users to force Electron to blow away session data. (#3185)
* [MM-37379] Add "Clear Data" options in the menu to allow users to force Electron to blow away session data.

* Fix i18n

---------

Co-authored-by: Mattermost Build <build@mattermost.com>
2024-11-26 15:03:25 +00:00
Devin Binnie
513a7e0a86 [MM-56795] Improve help options in the Help menu (#3216)
* [MM-56795] Improve help options in the Help menu

* Fix i18n

* Remove extra separator
2024-11-22 10:18:38 -05:00
Devin Binnie
8aa0b86c7a [MM-22555] Auto-fill server URLs when deep linking into the Desktop App and the server isn't configured (#3200)
* Allow deep linking to non-configured servers by auto filling the modal

* Fall back to base URL if URL with path name does not work

* Allow deep linking directly into a new server with a permalink

* Support welcome screen/no server case

* Some cleanup
2024-11-18 14:08:00 -05:00
Devin Binnie
5fccd0f837 [MM-59823] Migrate BrowserView to WebContentsView (#3177)
* Migrate to WebContentsView from BrowserView

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

* Fix tests

* Fix i18n

---------

Co-authored-by: Mattermost Build <build@mattermost.com>
2024-10-30 09:05:51 -04:00
Devin Binnie
6d37cc2dbb [MM-59483] Remove legacy preload and custom login code (#3174)
* Remove legacy preload script code

* Remove custom login code

* FIx i18n
2024-10-25 10:02:56 -04:00
Pablo Vélez
9de4f6c2eb MM-60224 - disable upgrade app button once download starts (#3164)
* MM-60224 - disable upgrade app btn  once download starts

* add translations

* fix styles for update available in dark-mode
2024-10-21 17:16:46 +02:00
Devin Binnie
10295162e0 [MM-60086][MM-60610] Implement performanceMonitor, collect CPU/memory usage data and send via API (#3165)
* [MM-60086][MM-60610] Implement performanceMonitor, collect CPU/memory usage data and send via API

* Translations

* PR feedback

* Update api-types package
2024-10-18 10:13:39 -04:00
Devin Binnie
42a0bc4759 [MM-60308] Add a set of "Developer Mode" settings that allow the user to turn off systems or force the app to behave a certain way (#3144)
* Add developer mode manager, implement browser-only mode

* Add indicator when developer mode is enabled

* Add switch to disable notification storage

* Add setting to disable the user activity monitor

* Add switchOff method for easily creating switches to disable/enable functionality, added setting to disable context menu

* Add setting to force legacy API

* Add force new API to remove any support for legacy mode, fix i18n

* Fix lint

* Use one call to `push`
2024-09-18 10:02:20 -04:00
Devin Binnie
198b1afe88 [MM-59044] Add per-server permission check for screen sharing (#3097) 2024-07-19 15:52:07 -04:00
Rajat Dabade
fdf1096494 [MM-56873]: Updated Svg's and styling for welcome page (#3084)
* [MM-56873]: Updated svg and styling for welcome page

* chore: i18n
2024-07-12 09:30:22 -04:00
Devin Binnie
0d4800fd61 [MM-54863] Add permissions manager UI in Edit Server modal, improve permission checks to be less missable (#3059)
* [MM-54863] Add permissions manager UI in Edit Server modal, improve permission checks to be less missable

* Removing this for E2E (which was having issues anyways)

* PR feedback

* Disable permissions dialog for current E2E tests

* Fixed the dark mode CSS

* Update icon
2024-06-19 09:19:24 -04:00
Devin Binnie
b411437a15 [MM-58089] Disallow redirects to untrusted URLs without a permission prompt (#3024)
* [MM-58089] Disallow redirects to untrusted URLs without a permission prompt

* Fix types

* Add test
2024-05-08 11:12:09 -04:00
Claudio Costa
3308730f13 [MM-55720] Add menu item to open developer tools for Call Widget window (#2936)
* Add menu item to open developer tools for Call Widget window

* Add dedicated Developer Tools submenu
2024-01-09 17:31:06 -06:00
Tom De Moor
4fb7676d41 Update en.json
fixing indent hard way
2023-10-12 11:08:28 -04:00
Arun kumar
804c4f893d Translated using Weblate (English)
Currently translated at 100.0% (287 of 287 strings)

Translation: Mattermost/mattermost-desktop
Translate-URL: https://translate.mattermost.com/projects/mattermost/mattermost-desktop/en/
2023-10-12 11:08:28 -04:00
Devin Binnie
b7e5c6091d [MM-54465] Add Permissions Manager, require manual interaction to approve use of microphone and camera, to send notifications, and to use location per server (#2832) 2023-09-15 10:54:22 -04:00
Dmitry Lyzlov
d8a42d68db Replaced hardcoded app name with parameter in localizable strings (#2807) 2023-08-29 07:17:55 -04:00
Devin Binnie
1239add076 [MM-50352] Improve URL validation and add/edit server experience (#2720)
* [MM-50352] Improve URL validation and add/edit server experience

* Fix build

* Fix translations

* First pass of fixes

* Some changes to avoid 2 clicks, tests

* PR feedback

* Update translations

* PR feedback

* Fix translations

* PR feedback

* E2E test fixes
2023-05-24 09:04:38 -04:00
Devin Binnie
316beba950 [MM-14093] Rename 'team' to 'server' and 'tab' to 'view' in most cases, some additional cleanup (#2711)
* Rename MattermostTeam -> UniqueServer, MattermostTab -> UniqueView

* Rename 'team' to 'server'

* Some further cleanup

* Rename weirdly named function

* Rename 'tab' to 'view' in most instances

* Fix i18n

* PR feedback
2023-05-08 09:17:01 -04:00
Devin Binnie
f3a4417464 [MM-52139] Force user to reset default downloads directory when the app is not allowed to access it (#2699)
* [MM-52139] Force user to reset default downloads directory when the app is not allowed to access it

* Fix a bug where a different download location choice would cause a problem

* Missed i18n
2023-05-02 14:37:14 -04:00
Tasos Boulis
db5a2e055d [MM-50237] Add menu item for showing the logs folder (#2533)
* Add menu item for showing the logs folder

* Add translation
2023-02-02 16:24:18 +02:00
cs4p
cc1a1ab622 Corrected grammar for unresponsive.dialog.message (#2457) 2022-12-07 14:38:24 +02:00
Tasos Boulis
161ae99e94 [MM-47202] - Desktop diagnostics (#2439)
* Add custom assertion to match object in array (#2358)

* Add custom assertion to match object in array

* Remove test that is not implemented yet

* [MM-48213] Add "Run diagnostics" menu item under Help (#2359)

* Add submenu item that runs diagnostics

* Add custom assertion to match object in array

* Remove test that is not implemented yet

* Add tests

* Add translation

* [MM-47206] Diagnostics steps setup (#2361)

* Add baseline code for diagnostics and their steps

* Fix failing test

* [MM-47206] [MM-48155] Obfuscate logs (#2369)

* Add logging hooks to mask sensitive data

* Add hook that truncates long strings in diagnostics logs

* Add template file for creating steps

* Add readme inside diagnostics

* [MM-48145] Diagnostics step 2 - internet connectivity (#2372)

* Add diagnostics step 2 - internet connectivity check

* Update tests

* [MM-48144] Diagnostics Step - Configure logger (#2390)

* Configure logger

* Move configure logger into step1

* Add file extension to fileName variable

* Diagnostics Step 2: Validate configuration (#2391)

* Resolve conflicts with base branch

* Update test and implement Code review suggestion

* Fix failing test

* [MM-48147]Diagnostics step 3 - server connectivity (#2397)

* Add step3: Check server connectivity by using the /api/v4/system/ping endpoint

* Fix failing tests

* Add better obfuscator functions that mask all types of data (#2399)

* Add better obfuscator functions that mask all types of data(string, array, objects)

* Update tests

* [MM-48148] Add Diagnostics step 4 - session validation (#2398)

* Add diagnostics step 4 - session data validation

* Fix failing tests

* [MM-48152] Add diagnostics step 5 - BrowserWindows checks (#2404)

* Add diagnostics step 5 - browserwindow checks for main window

* Add tests

* [MM-48151] Diagnostics step 6 - Permissions (#2409)

* Add diagnostics step 6 - Permissions check

* Check permissions for microphone ond screen onn mac, windows

* Update tests count in tests

* [MM-48551] Diagnostics step 7 - Performance & Memory (#2410)

* Add diagnostics step 6 - Permissions check

* Check permissions for microphone ond screen onn mac, windows

* Update tests count in tests

* Add diagnostics step 7 - performance and memory

* Fix failing tests

* [MM-48153] Add diagnostics step 8 - Log heuristics (#2418)

* Add diagnostics step 8 - Log heuristics

* Add diagnostics step 9 - config (#2422)

* [MM-48556] Diagnostics Step 10 - Crash reports (#2423)

* Add diagnostics step 9 - config

* Add diagnostics step 10 - include crash reports

* Update tests

* Add diagnostics step 11 - cookies report (#2427)

* [MM-48157] Diagnostics report (#2432)

* Add better logging and pretty print report

* Update last step

* Update log message

* Move log after hooks so that path is masked

* Use correct directory for diagnostics files
2022-12-02 16:33:42 +02:00
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
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
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
2618abe822 Fixed an issue with a permission modal translation (#2197)
* Fixed an issue with a permission modal translation

* oops
2022-07-15 09:26:48 -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