Skip to content
This repository was archived by the owner on Jul 9, 2025. It is now read-only.

Comments

feat: Setup infrastructure to launch and package Composer as an Electron app#2462

Merged
tonyanziano merged 56 commits intomasterfrom
toanzian/electron2
Apr 7, 2020
Merged

feat: Setup infrastructure to launch and package Composer as an Electron app#2462
tonyanziano merged 56 commits intomasterfrom
toanzian/electron2

Conversation

@tonyanziano
Copy link
Contributor

@tonyanziano tonyanziano commented Apr 1, 2020

Description

This PR piggybacks off of @christopheranderson's previous work to launch and package Composer as an Electron application.

Highlights of this PR:

  • Introduction of the electron-server package which is a lightweight wrapper that starts up the Composer web app inside of an Electron shell
  • Build infrastructure allowing the Composer web app into a cross-platform (Win / Mac / Linux) desktop application which will then be leveraged by our DevOps pipelines to produce stable / nightly releases

Please take a look at electron-server/README.md for information on how to build / run / package Composer Electron locally.

Task Item

closes #2224

Screenshots

composer-icons-win

Chris Anderson and others added 25 commits March 20, 2020 15:30
Signed-off-by: Srinaath Ravichandran <srravich@microsoft.com>

Fixing build for mac

Signed-off-by: Srinaath Ravichandran <srravich@microsoft.com>

Removed duplicate

Signed-off-by: Srinaath Ravichandran <srravich@microsoft.com>
Signed-off-by: Srinaath Ravichandran <srravich@microsoft.com>
Signed-off-by: Srinaath Ravichandran <srravich@microsoft.com>
Srinaath Ravichandran and others added 6 commits April 2, 2020 16:34
Signed-off-by: Srinaath Ravichandran <srravich@microsoft.com>
Signed-off-by: Srinaath Ravichandran <srravich@microsoft.com>
Signed-off-by: Srinaath Ravichandran <srravich@microsoft.com>
Copy link
Contributor

@a-b-r-o-w-n a-b-r-o-w-n left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There are a bunch of console.logs that can be replaced with the debug package. Other than that, I'm just curious why adding the client as a dependency to the server is necessary?

tonyanziano and others added 4 commits April 7, 2020 09:13
Signed-off-by: Srinaath Ravichandran <srravich@microsoft.com>

Remove eslint

Signed-off-by: Srinaath Ravichandran <srravich@microsoft.com>
a-b-r-o-w-n
a-b-r-o-w-n previously approved these changes Apr 7, 2020
Signed-off-by: Srinaath Ravichandran <srravich@microsoft.com>
@tonyanziano tonyanziano merged commit 39b7e5a into master Apr 7, 2020
@tonyanziano tonyanziano deleted the toanzian/electron2 branch April 7, 2020 20:25
lei9444 pushed a commit to lei9444/BotFramework-Composer-1 that referenced this pull request Jun 15, 2021
…ron app (microsoft#2462)

* copy server for custom electron

* build: add electron-server to yarn

* build(electron-server,client): build client to electron-server

* feat(electron-server): add electron app support

* Got rid of duplicated server code.

* Modified structure to use workspace imports.

* Configured dev workflows to work.

* Working packaged Windows build.

* Working packaged version without excessive copying.

* Regenerated lockfile

* Updated to working lockfile.

* Piggy backed off of master's lockfile

* Updated builds

Signed-off-by: Srinaath Ravichandran <srravich@microsoft.com>

Fixing build for mac

Signed-off-by: Srinaath Ravichandran <srravich@microsoft.com>

Removed duplicate

Signed-off-by: Srinaath Ravichandran <srravich@microsoft.com>

* Fixed plugin paths.

* Electron build system polish

* Builds for mac, linux

Signed-off-by: Srinaath Ravichandran <srravich@microsoft.com>

* Added Mac / Linux paths for dist script.

* Added flags to build scripts to produce 64-bit binaries.

* Added electron application icons.

* Update latest yaml scripts generation for platforms

Signed-off-by: Srinaath Ravichandran <srravich@microsoft.com>

* Docs updates.

* PR polish.

* Registering composer as a browser protocol to open it from command line

Signed-off-by: Srinaath Ravichandran <srravich@microsoft.com>

* Fixed linting errors.

* Check if removing bfc client from server stops the error

Signed-off-by: Srinaath Ravichandran <srravich@microsoft.com>

* Moving workspace dependancies

Signed-off-by: Srinaath Ravichandran <srravich@microsoft.com>

* Added back client

Signed-off-by: Srinaath Ravichandran <srravich@microsoft.com>

* Fixed linux icon.

* Added back bfc client

Signed-off-by: Srinaath Ravichandran <srravich@microsoft.com>

* Ensure /client/ is copied to docker container

* @BFC client in server now

Signed-off-by: Srinaath Ravichandran <srravich@microsoft.com>

* Push extensions

Signed-off-by: Srinaath Ravichandran <srravich@microsoft.com>

* Setting correct path for extensions

Signed-off-by: Srinaath Ravichandran <srravich@microsoft.com>

* Ensure ui-plugins are copied to docker container.

* Change nodeIntegration to false in BrowserWindow config

* Adding a Plist file to verify if codesign works

Signed-off-by: Srinaath Ravichandran <srravich@microsoft.com>

* Updated plist file name

Signed-off-by: Srinaath Ravichandran <srravich@microsoft.com>

* Separated electron-builder config out into its own file.

* Added trailing newline to `electron-builder-config.json`

* Fixed broken script.

* Server now waits for the express app to be listening before starting.

* Leveraged 'debug' for logging.

* Change console.log to log

Signed-off-by: Srinaath Ravichandran <srravich@microsoft.com>

Remove eslint

Signed-off-by: Srinaath Ravichandran <srravich@microsoft.com>

* Resolve lint error

Signed-off-by: Srinaath Ravichandran <srravich@microsoft.com>

Co-authored-by: Chris Anderson <chrande@microsoft.com>
Co-authored-by: Srinaath Ravichandran <srravich@microsoft.com>
Co-authored-by: Dong Lei <donglei@microsoft.com>
Co-authored-by: Chris Whitten <christopher.whitten@microsoft.com>
Co-authored-by: Srinaath Ravichandran <srinaath27@gmail.com>
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants