* 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
* 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
* [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.
* 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
* only refresh view when the server URL changes (MM-34565)
Create views of current and incoming tabs indexed
by unique [URL, TABTYPE] tuples, and diffing them.
Tuples that are identical are recycled, merely
porting the new server name over.
* lint fixes
* WIP
* linting
* remove dependency on by, duad
* provide a more exaplanatory name for TabView.prototype.tuple (urlTypeTuple)
* minor improvements in viewManager
- remove stateful behaviour from makeView
- more descriptive variable names when looping
- create new arrays before sorting (sort is in-place by default)
* resolve linting errors
* 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
* Add preference to open app in full screen
* CLI flag for fullscreen and function to return fullscreen state
Parsing the config or the args to define how to open the app. Args take priority over the config, and fallback is the window state.
* Optional TS config value
Co-authored-by: Devin Binnie <52460000+devinbinnie@users.noreply.github.com>
* Remove undefined check for `Config.startInFullscreen`
* Fixed optional arg for test
* Fixed jest test
* fullscreen optional window value
* Update src/main/windows/mainWindow.ts
Co-authored-by: Guillermo Vayá <guivaya@gmail.com>
* Update src/main/windows/mainWindow.ts
Co-authored-by: Guillermo Vayá <guivaya@gmail.com>
* Type fixes
Co-authored-by: Mattermod <mattermod@users.noreply.github.com>
Co-authored-by: Devin Binnie <52460000+devinbinnie@users.noreply.github.com>
Co-authored-by: Guillermo Vayá <guivaya@gmail.com>
Co-authored-by: Devin Binnie <devin.binnie@mattermost.com>
* 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>
* 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>
* [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
* prevent creating new windows from popup windows
* enable sandbox
* fix windows detection logic
* disable on testing environment
Co-authored-by: = <=>
* 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
* 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