* Add constants for app info, add to API
* Migrate history button
* Converted calls API over to context bridge, removed some unnecessary logging
* Convert to TS, add types for web app to consume
* Fix tests, prune
* Fix lint
* More changes to support the legacy API
* Force legacy code off, add support for unreads/mentions/expired through the API
* Fix issues with cross-tab login, removed need for log in/log out signalling
* Fixed test, typos
* Change package name for types
* Add some other stuff to the types
* PR feedback
* More feedback
* Use npm package
* Change types and API to provide off listeners
* Version number
* Lock
* Fix typo
* Add sessionID for calls
* 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