Commit graph

112 commits

Author SHA1 Message Date
Devin Binnie fed306e8bc
[MM-58286] Fix cp_artifacts to avoid weird naming changes (#3037) 2024-05-16 16:44:11 -04:00
Devin Binnie e244b2c230
[MM-55341][MM-56894] Use electron-builder to create the MSI installer, drop support for 32-bit Windows and the NSIS installer (#3028)
* Drop 32-bit windows support

* Remove unnecessary after build script

* Enable MSI build from electron-builder

* Copy MSI installers correctly

* Change script to `windows-installer`

* Revert "Remove unnecessary after build script"

This reverts commit 65b1cccb063656916a7d12c440792ad013dff826.

* Fix duplicate installers when updating to EXE version

* Inject the app-update.yml from the NSIS installer into the MSI, have the MSI uninstall the EXE if it exists

* Cleanup old MSI builder, switch actions to use new process

* Sign PR builds

* Update to use absolute paths

* Use env variable paths
2024-05-14 12:07:45 -04:00
Devin Binnie 8beeb93aee
Fix script to make directories recursively (#3027) 2024-05-08 11:22:58 -04:00
Devin Binnie e623fd1536
[MM-58065] Force the packager to create the version directory before packing (#3022) 2024-04-30 15:58:02 -04:00
Devin Binnie e410583fcd
[MM-57912] Disable --inspect on built application (#3010) 2024-04-19 09:16:42 -04:00
Devin Binnie d3b43b5b64
release.sh patch (#2983) 2024-03-19 09:57:03 -04:00
Devin Binnie 6d02c5a528
Some further ESLint cleanup, remove some unnecessary scripts and lines (#2984) 2024-03-18 14:46:12 -04:00
Devin Binnie e56b5cdd6a
Various build and developer fixes, some optimizations (#2975)
* Various build and developer fixes, some optimizations

* Fix the linux build

* Fix afterpack

* Fix notarization variables

* Revert macos-notification-state changes from this PR

* Only build the tar for PRs

* Also ci

* Fix copy script

* Fix copy script more

* Remove @babel/cli

* Fix windows build

* Fix MAS build
2024-03-12 10:04:11 -04:00
Devin Binnie 9b36c25e4e
[MM-52696] Upgrade and clean up Desktop App dev dependencies (#2970)
* Upgrade to ESLint v8

* Upgrade TypeScript, api-types, react-intl

* Remove unnecessary dependencies

* Update to React 17.0.2

* npm audit fixes, remove storybook

* Lock some packages

* Remove nan patch

* Remove some deprecated dependencies

* Fix lint/type/tests

* Merge'd

* Fix bad use of spawn

* Fix notarize

* Fix afterpack, switch to tsc es2020

* Fix api types

* Use @mattermost/eslint-plugin
2024-03-07 15:55:33 -05:00
Devin Binnie 02261c9de3
[MM-54701] Fix development deep linking for login for Windows/Linux (#2867)
* [MM-54701] Add exec and dist path for Windows dev deep linking

* Add script for Linux to add a desktop entry for deep linking

* Fix build
2023-10-10 10:07:10 -04:00
Devin Binnie 008553bd41
Revert "Add debugging for notification script (#2840)" (#2842)
This reverts commit 55fe6ecec9.
2023-09-15 12:56:45 -04:00
Devin Binnie 55fe6ecec9
Add debugging for notification script (#2840) 2023-09-15 11:58:39 -04:00
Devin Binnie 23b2fa6815
Update to use notarytool (#2764) 2023-06-20 15:26:04 -04:00
Devin Binnie 9869d9de22
Force install of ARM64 Electron headers (#2759)
* Force install of ARM64 Electron headers

* Update other files and include x86
2023-06-19 14:18:27 -04:00
Devin Binnie 4428596809
[MM-53201] Fix piping concurrency issues with release post generation script (#2752) 2023-06-15 16:40:52 -04:00
Devin Binnie 90b4489053
Fix release post script (#2736) 2023-05-25 18:11:32 -04:00
Devin Binnie 8c580ff456
[MM-51092] Automate release post for RCs and finals, include changelog (#2733) 2023-05-25 10:03:53 -04:00
Devin Binnie 316beba950
[MM-14093] Rename 'team' to 'server' and 'tab' to 'view' in most cases, some additional cleanup (#2711)
* 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
2023-05-08 09:17:01 -04:00
Devin Binnie 865b00625e
Allow multiple MAS pre-finals to be created using the release script (#2664) 2023-04-05 09:30:43 -04:00
Devin Binnie 4ed2eccddd
Add MAS approval step to the release script (#2624) 2023-03-16 11:24:41 -04:00
Devin Binnie 1d4ad79cba
Allow MAS build to be repeated more easily (#2595) 2023-03-08 13:59:41 -05:00
Devin Binnie 2366214d9d
Update release script (#2589) 2023-03-06 15:22:01 -05:00
Tasos Boulis 7dcd41e598
Exit process with code 1 if afterPack throws error (#2541) 2023-02-06 16:36:35 +02:00
JtheBAB 8b182f0539
Update msi_installer.wxs (#2111) 2023-01-22 02:25:55 -05:00
Devin Binnie 7199593c01
Proper MSI fix (#2481) 2022-12-17 13:00:35 -05:00
Devin Binnie 3c0d309697
[MM-48380] ARM64 build for Windows/Linux (#2406)
* Test ARM build for Windows/Linux

* Fix the windows build
2022-11-21 16:27:16 -05:00
Tasos Boulis 71f53a477a
Fix release script, it would create rc1 instead of rc.1 (#2383)
* Dont put dot(.) between rc and number

* Revert "Dont put dot(.) between rc and number"

This reverts commit d9a8837bd0dc18a529d216f76b4f24fe588b63f7.

* Fix missed rc1 in release script
2022-11-15 12:43:15 +02:00
Devin Binnie 635a41f998
[MM-47801][MM-45980] Added support for security-scoped bookmarks to allow the MAS build to save files wherever needed (#2315)
* First pass

* [MM-47801] Added support for security-scoped bookmarks to allow the MAS build to save files wherever needed
2022-10-25 15:02:00 +03:00
Devin Binnie 83b6c64cf3
Fix macos-notification-state build issue (#2310)
* Fix macos-notification-state build issue

* Fix windows build, a bit of cleanup
2022-10-24 10:43:45 -04:00
Devin Binnie 340ae815d9
Fix MSI build by removing changelog requirement (#2284) 2022-10-13 10:11:04 -04:00
Devin Binnie 04d81d10b3
Try wix 3.11.2 (#2280) 2022-10-12 11:07:13 -04:00
Tasos Boulis 131b5fa2ac
[MM-22239] Downloads dropdown (#2227)
* 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
2022-10-07 11:40:27 +03:00
Devin Binnie 93b6eb4f9b
Fix node-gyp build on Windows (#2233)
* ONE MORE TIME

* I cant type

* try this

* I think I actually did it!
2022-08-22 15:50:26 -04:00
Devin Binnie 1e35a97f33
[MM-36326][MM-45669] Added Native Node Module support - incl demo to fix DND issue (#2195)
* [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.
2022-08-02 11:33:48 -04:00
Devin Binnie ae1faeae2a
[MM-45519] Fix auto updater file patch script (#2189) 2022-07-05 13:10:59 -04:00
Devin Binnie e674c5c28e
[MM-45409] Restrict auto-update functionality specifically to the NSIS installer and AppImage (#2177)
* [MM-45409] Restrict auto-update functionality specifically to the NSIS installer and AppImage

* Fixes

* Fix syntax error

* Fixes #2

* Switch PR builds to ZIP

* Fix
2022-06-30 12:25:28 -04:00
Devin Binnie 42a53e31b5
[MM-44344] Restore zip build for Windows and remove auto-updater from it (#2132) 2022-05-27 09:32:27 -04:00
Devin Binnie 14ceaf677c
Fix release markdown (#2075)
* Fix release markdown

* Oops

* Fix build_mac_pr
2022-04-25 17:19:34 -04:00
Devin Binnie e4bdb08a5d
Fixes to the release script (#2059) 2022-04-19 12:12:09 -04:00
Devin Binnie 0a7be91576
[MM-42538] Submit nightly builds to TestFlight for macOS (#2023)
* 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>
2022-03-28 11:06:00 -04:00
Carrie Warner (Mattermost) 90202f1fbe
MM-41988 Updated links to legacy domain about.mm.com (#2003)
* Updated links to legacy domain about.mm.com

* Updated links to legacy domain about.mm.com

* Update README.md

* Legacy domain URL updates (#2012)

* Update .github/ISSUE_TEMPLATE/troubleshooting-question.md

Co-authored-by: Harrison Healey <harrisonmhealey@gmail.com>

Co-authored-by: Harrison Healey <harrisonmhealey@gmail.com>
2022-03-10 16:40:06 -05:00
Devin Binnie 5f4774e22e
Changes for MSI build for autoupdater (#2016) 2022-03-10 15:47:45 -05:00
Guillermo Vayá d2435a561c
[MM-18552] Autoupdater (#1714)
* 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>
2022-03-08 11:38:38 -05:00
Guillermo Vayá ba3f9a9c97
add a reminder on how to proceed with releases (#1656)
Co-authored-by: = <=>
2022-01-19 11:10:13 -05:00
Devin Binnie 4a05b7c8d5
[MM-39852] Setup docker image to run in CI for E2E (#1946)
* [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>
2022-01-17 10:20:11 -05:00
Devin Binnie 658aec559d
Fix GitHub release markdown for mac universal change (#1775)
* Fix GitHub release markdown for mac universal change

* Update scripts/generate_release_markdown.sh

Co-authored-by: Guillermo Vayá <guivaya@gmail.com>

Co-authored-by: Guillermo Vayá <guivaya@gmail.com>
2021-10-05 10:17:07 -04:00
Devin Binnie 0a19d5815a
[MM-38530] Update build to generate universal binaries (#1747)
* [MM-38530] Update build to generate universal binaries

* Rework to only build on releases, not needed for development/PR builds

* Update cp_artifacts script

* remove pr
2021-09-22 09:28:53 -04:00
Devin Binnie 92b297c469
Fixes for release v5 (#1745)
* Change to v5.0

* Fix script to assume no RC

* Bump to version 5.0-rc1

* Fix the version

* Bump to version 5.0.0-rc1

* Fix msi build

* Bump to version 5.0.0-rc2

* Fix version again

* Bump to version 5.0.0-rc1

* Oops

* Bump to version 5.0.0-rc1

* Remove version upgrade

* Lock to version 16
2021-09-21 15:56:27 -04:00
Devin Binnie 54d82493bf
[MM-35483] Flip fuses on ELECTRON_RUN_AS_NODE (#1717)
* upgrade electron to 12, add fuses

* Fix error on linux afterpack

* Merge'd

* Update package-lock.json

* Edit afterpack.js

* Remove console statement

Co-authored-by: Guillermo Vaya <guivaya@gmail.com>
Co-authored-by: Mattermod <mattermod@users.noreply.github.com>
2021-09-09 15:32:34 -04:00
Devin Binnie d77b6f81a9
[MM-36423][MM-36427] Edit/Delete modals for dropdown (#1682)
* [MM-36423] Edit/Delete modals for dropdown

* [MM-36427] Remove Server Management from Settings modal

* Style fixes

* Hover states for edit/delete buttons

* Update config.yml

* Oops I broke something
2021-08-09 12:04:27 -04:00