the-lex-web-ui
∞ a-lex-web-ui
∞ our-lex-web-ui
@aws-samples/aws-lex-web-ui ∞ @results-cx/aws-lex-web-ui ∞ @devicebits/qnabot-web-widget
A one person job.
Clone deviates from fork circa v0.19.*
Allows ability to pull release versions from the source of truth repo to sync
to in order to then diff
locally against clone
The fork is in a separate org from the clone reserved for R&D initiatives.
Clone will always deviate from the fork as the clone is in a multi-tenant multi-integrated CI/CD plug-and-play world with attention to external QnABot backend and internal micro services.
For this reason, the single most important thing is to track exactly every codeblock of deviated feature.. Note: We make it a point to check the changelog in backend and fronted: QnABot Solution and LexWebUI Samples.
We sync to the latest release of the pubic repo through a public fork but have direct modifications applied to this private clone.
/**
* SP-Edit
* @description
*/
<>
"We wrap our modifications in an comment block with an opener and a closer so
it's easier to diff."
</>
/** /SP-Edit */
- Check the original repos' changelogs: UI CHANGELOG, CF CHANGELOG for a release update. This clone is always (semantically) one major numerical above the the public repo to sensibly differentiate.
- Check the BLOG for updates
nvm install 16
nvm use 16 || 16.20.2
npm install --legacy-peer-deps
cd lex-web-ui
npm install
npm run build-dist
cd ..
npm run build
The root repo contains Loader logic along with our own event listeners. The child repo is a Vue app. It is not a monorepo; it's a repo with a very specific build output that isolates a contained/bundled Vue app.
- Quick Start using the current build in dist.
npm start
WebStorm is the editor of choice for no other reason than it works at the discretion of the engineer executing this one-person-job.
Compare folders against their file size, content, or timestamp.
The differences are displayed in the Diff Viewer for Folders where:
- Left is the
Fork
- Right is the
Clone
- ✅ Show New Files on Left Side
- ✅ Show Difference
- Whitespace
- ✅ Ignore whitespaces and empty lines
- ☑️ [...diffViewerOptions]
Overview of the Comparison Table
Fork trumps Clone
In this example, fork trumps clone as the changes to sendChatMessageWithDelay
are valuable at the discretion of the dev performing this one-person-job.
Accept >>
Apply right
changes to left
.
Clone trumps Fork
This application is one of a four-part fully integrated PaaS CX solution. We introduce a lib as we need userId
s to be uuid
s from the get-go.
Clone trumps Fork meaningfully (a good one)
We introduce new Vue logic to ensure that clicked response card buttons remain hidden even after toggling/minimizing the chat window for as long as this bot is mounted. (Current LexWebUI as of this capture does not catch this)
Excerpt of how MessageList complies to Message
Just like any feature branch, the rest of this pipeline lives in the local clone that has or has not accepted changes from the fork. It is reviewed as a PR, tested, and so on. And released specifically with docs on what and how and where we deviate. (to the best of our ability)
A "release" of a build that is being consumed by live customers has only occurred twice. We are in early stages of the migration. The current clone's tag is serving the baseline functionality expected by exissting customers that replaces the Product's legacy bot with AWS' offering. Most features from the public repo are plugged-and-played in test branches connected to appropriate QnABot backends for R&D initiatives as enterprise customers have yet to fully adopt and appreciate the power of QnABot.