Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: publishing page #2440

Merged
merged 71 commits into from
Apr 17, 2020
Merged

feat: publishing page #2440

merged 71 commits into from
Apr 17, 2020

Conversation

benbrown
Copy link
Contributor

@benbrown benbrown commented Mar 30, 2020

Description

Implementation of the new publish page UI.
Somethings different from the design:

  1. Hide the test in emulator button now. Because publishing does not necessarily result in an emulator-friendly link being present and it is much more complex than the local scenario. Including this button on this page will create confusion around the other "Start bot" button.
  2. Add a rollback button.
  3. Add side menu about edit and delete in each profile.

Task Item

closes #2355

Screenshots

za24e-oz60e

@benbrown benbrown mentioned this pull request Mar 30, 2020
33 tasks
@github-actions
Copy link

Coverage Status

Coverage decreased (-1.1%) to 39.603% when pulling 6cd36b7 on benbrown/2355 into 3be7d51 on stable.

@benbrown benbrown changed the base branch from stable to master March 30, 2020 22:07
@cwhitten cwhitten changed the title Benbrown/2355 feat: publishing page Apr 4, 2020
@benbrown
Copy link
Contributor Author

benbrown commented Apr 6, 2020

I added a new mockRemotePublish plugin, which provides publish, status and history functionality. This will work with multiple bots and multiple profiles -- IE, you can set up a dev/test/staging profile and publish to them separately.

It is my hope that we can use this mock endpoint to complete the UI build-out before proceeding to the real publishing targets.

With that in mind, I think the next steps would be (as listed in #2355)

  • Implement the error handling in the profile creation flow
  • Update the UI after a user has done a publish with resulting status/messages
  • Poll for status if latest publish resulted in a 202 (or if history indicates a 202, or if no history is available but lastPublish is set)

@benbrown
Copy link
Contributor Author

benbrown commented Apr 7, 2020

Updates from Ben today:

  • tightened up the definition of the incoming and outgoing payloads for the APIs and plugins.
  • updated the localPublish and mockRemotePublish to use new payloads
  • Updated client so it can maintain multiple parallel histories (one for each profile)
  • Updated client so that publish command will update the history with results
  • Updated client so that getStatus will update history as well
  • added logic to call getStatus if publish or history returns a 202 status

@benbrown
Copy link
Contributor Author

benbrown commented Apr 13, 2020

After this is code reviewed, we need to do one last task:

  • Disable the mockRemotePublish plugin

}, [publishHistory, selectedTargetName, settings.publishTargets]);

// check history to see if a 202 is found
useEffect(() => {
Copy link
Member

Choose a reason for hiding this comment

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

I'm wondering if we can condense this logic into a single setInterval/clearInterval mechanism opposed to a conditional setTimeout

@cwhitten cwhitten merged commit 5e4b35a into master Apr 17, 2020
@cwhitten cwhitten deleted the benbrown/2355 branch April 17, 2020 00:02
lei9444 pushed a commit to lei9444/BotFramework-Composer-1 that referenced this pull request Jun 15, 2021
* re-enable publish page in settings

* add description to publish plugin, fix behavior of "Default" local test target

* add publish page in nav

* add publish page

* remove unrelevant

* add publish page and add getHistory method in localpublish plugin

* fix bug

* polish style

* add mock remote publish for development/testing purposes

* add alerts on failed validation

* add validation chck

* update typedefs
flatten and standardize result payload

* poll for updated stats if status is 202

* fix build fail

* add sensitive setting back and polish UI

* fix localpublish

* add testInEmulator button

* add group in detail list

* add log output

* bind the log button to the actual log content from the publish process

* add supported features to return value of types api

* add default into profile

* remove default show in profile list

* add rollback methods

* add rollback endpoint, mock rollback feature, rollback button in ui

* fix build

* change status show in list to icon

* polish

* fix e2e test

* disable open in emulator button, clean consoles

* change date format

* add targetName into url

* add delete in target list, add edit placehold in target list

* fix save target

* fix selectVersion after changing target

* implement confirm on delete of target
implement edit of target

* add error correction
implement edit/delete

* fix name undefined when adding target:

* fix some comments

* fix comment

* redirect to new target after create and edit, and fix date sort

* fix comments

* fix history update after publish fail

* resolve comments from cwhitten

* fix some code issues

Co-authored-by: Wenyi Luo <wenyluo@microsoft.com>
Co-authored-by: Chris Whitten <christopher.whitten@microsoft.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Implement New Publish page
3 participants