Conversation
* Apps.engine.ui (#131) * Add interfaces IExternalComponent and IExternalComponentExtend * Add externalComponents property for IConfigurationExtend * export IExternalComponent * Add interface IExternalComponentLocationOptions * implement the interface IExternalComponentsExtend * export ExternalComponentsExtend * Add externalComponentManager for AppManager * implement AppExternalComponentManager * Implement IExternalComponentBridge * Add getExternalComponentBridge method for AppBridges * export AppExternalComponentManager * Update getConfigurationExtend method for AppAccessorManager * [TEST] Update appBridge and add externalComponentBridge * Update related test scripts * Remove IExternalComponentBridge interface * AppExternalComponentManager maintains the list of all registered components itself * Update test scripts * Add webhooks interface for the external component * Update the interface IExternalComponent * Add description field to the interface IExternalComponent * Apps.engine.ui.sdk (#132) * update IWebHooks interface * Add util randomString * add AppEmbeddedSDK * move constants to src/client/constants directory * separate initListener from call method * rename initListener to init * Bump alpha version * Change version checking function to allow pre-release tags * Add go-publish-alpha npm script * Bump alpha version * Add options for http requests * Add Livechat functionality * Add further integration with Livechat * Refactor minor inconsistency * Formatting improvement * Add createToken method to LivechatCreator * Add file property to message interface * Add types to compiler option to allow usage of Buffer type * Add livechat reader getter to read interface * Add Upload reader * Update visitor interface * 1.6.0-beta.0 * Validate the LIVE_CHAT rooms correctly * Update version for CI * Access livechat room’s deparment data (#142) * Revert "Change version checking function to allow pre-release tags" This reverts commit 0b88a18. * 1.7.0-alpha * Add missing unregister component method (#144) * chore: change comment style to obtain VS Code Intellisense * feat: add unregisterComponent method We made follwing changes for the AppExternalComponentManager: * add new private property - appTouchedComponents * add new public method unregisterComponent * add new public method getExternalComponent * Add unregisterComponent in the lifecycle methods We need to call unregisterComponent method to remove the corresponding external components from the providedComponents when following AppManager's methods are called: * `unload` is called * `disable` is called <-> Disable an app * `remove` is called <-> Uninstall an app * `updateAppsMarketplaceInfo` is called and validateLicense not pass * `initializeApp` is called and validateLicense not pass * `enableApp` is called but is not success * Add new AppExternalComponentManager method purgeComponent when remove an app from the system, we need delete its external component from both providedComponents map set and appTouchedCompoents map set. * fix: new deployed app registers externalComponents automatically since the new deployed app will try to register their externalComponent when the `initializeApp` method of AppManager is called. This is not expected behavior. We introduce a new parameter `addToProvidedComponents` for the method `registerComponent` to handle the above problem. Without specifying `registerComponent` to true, the app only "declares" it touched the external component when it is initialized. Only if the `enableApp` method is called, the external component will truly added to providedComponents map set, which means we can access it in the `Game Center`. * Add new location to the external components called MODAL (#137) * Add new location to external components * MODAL (new) * update enum ExternalComponentLocation * Update external component configration (#134) * update IWebHooks interface * Add util randomString * add AppEmbeddedSDK * move constants to src/client/constants directory * separate initListener from call method * rename initListener to init * add appId to IExternalComponent interface * Rename the client sdk to state what it is and improve the documentation * Add interfaces IUserInfo and IRoomInfo * Add documentation for the public methods * getUserInfo * getRoomInfo * Rename AppEmbeddedSDK to AppClientEmbeddedSDK * rename to make sure others can see that it's for client-side * add the class documentation for the AppClientEmbeddedSDK * Rename the AppClientEmbeddedSDK methods * Rename to make sure others can see it's for client-side * Add documentation for the IClientRoomInfo and IClientInfo interfaces * Rename external component pieces to be consistent in wording & logic * remove tests externalComponentBridge * remove the extra blank line * fix typos and add necessary blank lines * fix a grammar error in comments * Rename names to avoid confusions * rename IExternalComponentsExtend to IExternalComponentExtend * rename externalComponents to externalComponent * Add documentation to register external components method (#156) * Add documentation to register method * wording changes for IExternalComponentExtend * Merge from 'master' and bump to 1.8.0-beta * Bump to 1.8.0-alpha * Support multiple external components per app (#150) * Revert "Rename names to avoid confusions" This reverts commit d444646. * support multiple external components per app * Add error handlers for AppExternalComponentManager * Add unit tests for two new errors * ExternalComponentAlreadyTouchedError * ExternalComponentNotMatchWithAppError * Add getters for AppExternalComponentManager * Add unit tests for AppExternalComponentManager * did some changes to AppExternalComponentManager according to tests * fix a serious logic error * compare objects after serialization * add space before parenttheses * Modify documentation to state the name unique * Redesign getExternalComponents * Rename providedExternalComponents to registeredExternalComponents * Redesign getExternalComponents * Remove ExternalComponentAlreadyTouchedError * overwrite an external component with the same name * Remove ExternalComponentNotMatchWithAppError * Because of the caller of the method addExternalComponent is apps-engine. So we can trust the appId provided. * Always overwrite the externalComponent.appId to the appId via the method addExternalComponent * Add external components only if it is not empty * Add a new public method getProvidedComponents * Make sure the return is an array * Move external component host logic (#169) * [ALPHA] Move host logic into apps-engine repo * Rename EClientEmbeddedSDKActions * Remove the word `embedded` from client SDK files * Rename the client SDK to AppsEngineClient * Redesign external component webhooks (#168) * Remove IWebHooks * Remove IWebHooks * Remove webhooks options from IExternalComponentOptions and redesign it Introduce state for external components Add IPreExternalComponentOpenedPrevent handler Add IPostExternalComponentOpened handler * add accessors for IPreExternalComponentOpenedPrevent handler * Add IPostExternalComponentOpened handler Add IPostExternalComponentClosed handler Remove IPreExternalComponentOpenedPrevent * export modules * Update metadata AppMethod * Update AppImplements * Add methods to AppListenerManager * Remove IWebHooks * Remove IWebHooks * Remove webhooks options from IExternalComponentOptions and redesign it Introduce state for external components Add IPreExternalComponentOpenedPrevent handler Add IPostExternalComponentOpened handler * add accessors for IPreExternalComponentOpenedPrevent handler * Add IPostExternalComponentOpened handler Add IPostExternalComponentClosed handler Remove IPreExternalComponentOpenedPrevent * export modules * Update metadata AppMethod * Update AppImplements * Add methods to AppListenerManager * rebase onto move-host-logic * Remove check methods from event handlers * Rename a few interfaces * Rename a few interfaces * Renamings * Refactor * Remove unused files * Make AppsEngineUIClient use the MESSAGE_ID constant * Add the command `bundle` for bundling apps engine ui client (#182) * Add the command `bundle` for bundling SDK * Bundle sdk before publishing * Update circleci node version to the same as Rocket.Chat * Bump beta version * Bump version * Definition bump * Beta version * Add beta publishing script * 1.9.0 * 1.10.0-beta * 1.10.0-alpha * Bump beta version * Fix lint * Fix errors * Bump alpha version * Bump definition version * Bump version to 1.13.0-alpha * Beta (1.12.0) (#205) * UIKit (#184) * Auto create user for app during installation Co-authored-by: Shiqi Mei <shiqi.mei@lolimay.cn> Co-authored-by: Upendra Reddy <upendrareddy2511@gmail.com> Co-authored-by: Diego Sampaio <chinello@gmail.com> Co-authored-by: Guilherme Gazzo <guilhermegazzo@gmail.com> * 1.12.0 * 1.13.0-beta Co-authored-by: lolimay <lolimay@lolimay.cn> Co-authored-by: Rodrigo Nascimento <rodrigoknascimento@gmail.com> Co-authored-by: Shiqi Mei <shiqi.mei@rocket.chat> Co-authored-by: Shiqi Mei <shiqi.mei@lolimay.cn> Co-authored-by: Upendra Reddy <upendrareddy2511@gmail.com> Co-authored-by: Diego Sampaio <chinello@gmail.com> Co-authored-by: Guilherme Gazzo <guilhermegazzo@gmail.com>
Codecov Report
@@ Coverage Diff @@
## alpha #255 +/- ##
==========================================
- Coverage 55.02% 53.05% -1.98%
==========================================
Files 82 74 -8
Lines 2866 2754 -112
Branches 406 408 +2
==========================================
- Hits 1577 1461 -116
- Misses 1289 1293 +4
Continue to review full report at Codecov.
|
d-gubert
left a comment
There was a problem hiding this comment.
Brought up something for us to discuss.
|
Closed automatically when I deleted the previous beta branch. Reopening now |
|
|
What? ⛵
Make app user the default notifier when notifyUser or notifyRoom
Why? 🤔
Reduce dependency on rocket.cat
Links 🌎
PS 👀