* Make ExtraBar dark when using dark mode
* Update ExtraBar to use colors from MainBar in dark mode
* Update the colour
---------
Co-authored-by: zoltan-ofir <45757556+zoltan-ofir@users.noreply.github.com>
* 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
* Rework tray into a class, make click behaviour consistent
* Fix issue where app wouldn't switch to workspace where the app was visible
* Fixed an issue where the app would show the window with hideOnStart enabled
* Add comment about StatusIconLinuxDbus
* Fix tests
* Fix bad handler on resize for Linux
* Fix maximize/minimize issue again
* Fix macOS rapid resizing issue
* Make sure #2638 is still fixed
* Still don't need this
* Added comment and fixed test
* [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
* [MM-52380] Fix unhandled rejection when clearing app cache
* Make sure the window is loaded first
---------
Co-authored-by: Mattermost Build <build@mattermost.com>
* Move sendToRenderer to respective singletons
* Move to using ViewManager call for getting view by webContentsId
* Move show and create logic to main window, handle deep linking seperately
* Move resizing logic and event handing to mainWindow
* Move server switching logic to main/app
* Move tab switching logic to main/app, rely on showById for most usage
* Migrate remaining functions, remove windowManager objects, set up imports for self-contained singletons
* Fix E2E tests
* Update src/main/app/servers.ts
Co-authored-by: Elias Nahum <nahumhbl@gmail.com>
---------
Co-authored-by: Elias Nahum <nahumhbl@gmail.com>
* Migrate app to ServerManager, remove view names and replace with IDs
* Fixed a test
* Fixed a bug when adding the initial server
* Merge'd
* Bug fixes and PR feedback
* Implement ServerManager, introduce id concept for identifying servers/views
* REVERT ME (eventually): Move back to old logging
* PR feedback
* PR feedback
* Revert "REVERT ME (eventually): Move back to old logging"
This reverts commit 46954a5bbed4dd29e89ca9d5217bb75af2837bb3.
* Merge'd
* Use the correct method for Logger in ServerManager
* Create central logging module for adding prefixes to differentiate logs between modules
* Turn logger into class
* Merge'd
* Rework to use class more intelligently
* Fix modalView
* Fix webContentEvents
* Update src/main/app/intercom.ts
Co-authored-by: Daniel Espino García <larkox@gmail.com>
* Shorten prefixes on object creation
---------
Co-authored-by: Daniel Espino García <larkox@gmail.com>
* Migrate loadingScreen to singleton
* REVERT ME when MainWindow singleton changes are merged
* Revert "REVERT ME when MainWindow singleton changes are merged"
This reverts commit 2de5520117b9aefb8eeb161d493de7cb275f7a5b.
* add will-redirect handler to prevent unrestricted redirect
* import ordering
* simplify onWillRedirect handler; tests
* Adding punctuation to force tests to run again.
On Linux machines that are using a desktop env which conforms to
the FreeDesktop spec, users should have the XDG_DOWNLOAD_DIR
variable set to specify their default download directory.
This patch ensures that this directory is used if the variable is
present.
Hoping this will fix the following issue in the Mattermost snap:
https://github.com/snapcrafters/mattermost-desktop/issues/65
* Harden Calls windows URL navigation checks
* Update src/main/windows/callsWidgetWindow.ts
Co-authored-by: Eva Sarafianou <eva.sarafianou@gmail.com>
* Fix bad merge
* Extract team name to use isUrlType
* Simplify
---------
Co-authored-by: Eva Sarafianou <eva.sarafianou@gmail.com>
* [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>
* [MM-50712] Fix local prototype pollution flaw
* Update src/main/diagnostics/steps/internal/loggerHooks.test.js
Co-authored-by: Daniel Espino García <larkox@gmail.com>
---------
Co-authored-by: Daniel Espino García <larkox@gmail.com>
* Migrate intl_provider to contextBridge
* Migrate modalPreload to contextBridge
* Migrate loadingScreenPreload to contextBridge
* Migrate downloadDropdown preloads to contextBridge
* Migrate server dropdown preload to contextBridge
* Migrate urlView preload to contextBridge
* Merge all desktop API scripts into one
* Remove unused communication channel constants
* [MM-44004] Optionally turn off UTF-8 encoding for winreg if the system doesn't support it
* Fix tests
* REVERT ME: Enable msi installer
* REVERT ME: Wait for msi
* Toggle between winreg and winreg-utf8 if the latter doesn't work
* Revert MSI stuff
* Added logging for the catch at the end to see what error is occurring there
* Catch the error on registry creation as well
* Update logging a bit further
Co-authored-by: Mattermost Build <build@mattermost.com>
* Add some logging, refactor setting config items
* Move active team to setMultiple, reduce serverInfos calls if the data is already the same
* Fix some logging
* Lint fix
* Fixed some unit tests and add test step to run on Windows/Mac builds
* Update failing test
* Fix backlash
* Fix windows run
* Fix Windows again
Co-authored-by: Tasos Boulis <tboulis@hotmail.com>
Co-authored-by: Mattermod <mattermod@users.noreply.github.com>
* 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
* 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
* Reverse order of inputs in Server modals (add/edit)
* Revert "Reverse order of inputs in Server modals (add/edit)"
This reverts commit f3d577dcd5c0e13d6d0e3c2cc4de588008f53e68.
* Update order of server fields in welcome screens
* Update server modal focus test
* Add margin between inputs
* 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>
* 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
* Add code spell check and i18n-ally to recommended vscode extens
ions
* Add EditorConfig to recommended extensions and formatCodeOnAction to use eslint fix
* [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.
* [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.
* [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>
* 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
* 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>