* 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
* 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
* PoC performance tests in CI
* Add a naive measurement
* Change in spec descriptions
* More minimal reporter and 2 tests: 1 failing, 1 succeeding
* Fix circleci config
* Fix circleci part 2
* Make performance tests a workflow
* add npm install in performance tests
* change executor
* Experimenting: Install crossenv
* Experimenting
* More experimenting
* Revert some changes
* Run update_image and cache node modules
* Sandbox e2e tests run
* fix code residual from rebase
* Add GH action for ci perf
* Use ubuntu instead of macos
* Use windows instead of ubuntu
* Fix env set command
* Use post-test script to check performance
* Use macos-latest
* Throw error when tests fail
* Use measudePerformance function instead
* Use measudePerformance function instead
* Try to run e2e on github actions
* Try headless script
* Install linux packages
* Add shell
* Use if: runner..
* ADd sudo
* Add more linux packages
* Go back to macos
* Try recursive find for main window
* Remove performance tests from circleCi
* Increase retries
* Fix
* Revert "Fix"
This reverts commit c19fc56600ada4eee3e26bf3988b27d2ce2616d1.
* Revert "Increase retries"
This reverts commit 564ac95c34def892595c17b98eec245cacb0d4a4.
* Revert "Remove performance tests from circleCi"
This reverts commit c49c73b6f811df12631036bc33dae30da2271173.
* Revert "Try recursive find for main window"
This reverts commit 19d9367f9317f6e9d7ef9aa6a5d69eccdff2df67.
* Revert "Go back to macos"
This reverts commit 72b796ad983e89940f84d53039affd867d0e7f34.
* Revert "Add more linux packages"
This reverts commit 4bd510f8ea5356c13fbc4722be874aeea32de43e.
* Revert "ADd sudo"
This reverts commit acb95e02609e7cc02b12863910d29c03694936c1.
* Revert "Use if: runner.."
This reverts commit 69beed6fe24e452b1d7f0b0e4578bbfa9ca36d2f.
* Revert "Add shell"
This reverts commit e1743664a8b01797da4112314af0b88318ad2fd7.
* Revert "Install linux packages"
This reverts commit 25195dd11c827dff0fd8cf4fbdf2dc709377d525.
* Revert "Try headless script"
This reverts commit 385be5609d5ee45363d26828f6a14c6be0ef661a.
* Revert "Try to run e2e on github actions"
This reverts commit be8f682fd8a82b265403471b5106fd5107f9fecb.
* Revert "Use measudePerformance function instead"
This reverts commit bfd46768ae845e2839e9f124735922da6301fa4e.
* Revert "Use measudePerformance function instead"
This reverts commit ab4bc22b8689ff35260b4ab55724a77dc5993426.
* Update workflow command
* Remove circleci config for perf tests
* Run on ubuntu
* Add packages for linux
* Fix order of commands
* Move env var at the beginning
* Upload test results to s3
* Update name
* Update name
* Add trigger for flag
* Add step to upload artifact to github workflow artifacts
* Update yml
* Add step to comment the results in the PR
* Fix env bug
* move constant to workflow env
* Wrap workflow env with single quotes
* Add start comment and remove label steps
* Update body of comment
* Remove unused file
* Move PR comment function into file
* Fix import
* Remove spaces from line start
* Remove label even if workflow failed
* Add logging
* Fix markdown table data
* Remove trailing semi string
---------
Co-authored-by: Tasos Boulis <tboulis@hotmail.com>
Co-authored-by: Mattermost Build <build@mattermost.com>
* 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>
* 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
* 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 environment variable for E2E test server
* Fix auto updater test
* Kill macOS processes after test as well
* No dot
* Just do it for all of them
* Force focus of main window on tests
* Fix a focus issue, try win.show() instead
* Another windows hack
* Oops can't spell
Co-authored-by: Mattermod <mattermod@users.noreply.github.com>
* remove cypress related dependency and reporting, and ignore e2e/webpack from unit jest
* revert eslint-plugin-cypress
* revert change on .eslint-webapp
* 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
* Reinstall reporter and re-enable skipped tests
* Fixups for Linux
* Mac fixes
* Windows fixes
* Use keyboard shortcuts instead of menu for most menu actions
* Couple fixes
* One more fix for now
* Windows fixes
* Lint fixes
* Change up developer tools tests to be more consistent
* Fix key for mac
* Couple fixes for flaky tests/to avoid crashes on unload
* 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>
* test: MM-T820 MMT821 helper functions to be used by tests
* test: MM-T820 keyboard shortcut opens dev tools for Application Wrapper
* test: MM-T820 open dev tools for Application Wrapper through menu, Menu Dropdown > View > Developer Tools for Application Wrapper
* test: MM-T821 open dev tools for Current Server through menu, Menu Dropdown > View > Developer Tools for Current Server
* test: MM-T820 MMT821 scope tests in separate describe block
* test: MM-T820 MMT821 add help functions used for basic interactions with dev tools console
* test: MM-T820 MMT821 add constant setting values used to configure interactions with dev tools console
* test: MM-T820 check if dev tools is pointing to index.html file by sending alert dialogue from dev tool and detecting the dialog event on page, when opening dev tool using keyboard shortcut
* test: MM-T820 check if dev tools is pointing to index.html file by sending alert dialogue from dev tool and detecting the dialog event on page, when opening dev tool using menu
* test: MM-T821 check if dev tools is pointing to current application server by sending alert dialogue from dev tool and detecting the dialog event on page, when opening dev tool using menu
* test: MM-T820 MMT821 increase timeout value of test suite as more time is needed for dev tools to be ready for interaction
* test: MM-T820 MMT821 remove extra whitespace when sending command to dev tools console
* test: MM-T820 MMT821 split check for dev tools open and where dev tools
is pointing to as 2 different parts
test: MM-T820 MMT821 fix lint errors
* #1960 fix unexpected top menu focus
* #1960 test update
* #1960 improved test
* #1960 optimized algrithm to handle only Alt key to improve performance and avoid side effects
* #1960 tests update
* #1960 fixed 3 dit menu focus on workspace change with Alt+1, Alt+2
* #313 fix linter issue
* #1960 fix linter issue
* tests update