* 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
* 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-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.
* 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
* Upgrade Electron to v18
* Fix a test
* Upgrade ESLint and TypeScript
* Update Joi
* Clean up and upgrade dependencies
* Upgrade dev dependencies
* Upgrade to Webpack 5
* Update NOTICE.txt
* Update test runtime
* 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-42010] Remove CircleCI check for E2E tests
* Add jest test reporting
* Remove MM docker setup code
* Try old method
* oops
* Forgot to remove MM docker check
* [MM-39852] Setup docker image to run in CI for E2E
* Setup remote docker
* Install docker
* Trying this
* And this
* how about this
* this
* Okay this
* dis one
* sdfsagsdags
* Now?
* aaaaaaa
* asdasdasd
* i am dumb
* blank
* Please work
* Lint fix
* Forgot to update a couple things
* OOPS
* Testing something since this one is still failing
* Trying robotjs instead
* test
* Remove stop docker
* Try without the admin user (since apparently turning off admin notices didn't work)
* Remove console statement
Co-authored-by: Mattermod <mattermod@users.noreply.github.com>
* [MM-39885] Migrate unit tests to Jest, fleshed out tests for common/util/url
* Typo fix
* Oops
* I found more tests!
* Fixed a bug
* Oops again
* Tests for common/utils/util
* A bunch of cleanup
* Oops