All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- Context with deploymentId for extensions only works in case the respective outlet has a target extension-assignment-id. Execute logic to retrieve deploymentId only in case respective outlet has a target.
- Implement internal V2.REQUIRE_PERMISSIONS
- Implement V3.GET_PERMISSIONS
- readd V1.CLOSE Event, since it is still used internally
- added V2.MODAL.OPEN
- updated V1.MODAL.OPEN modal name to specify it is V1
- added 'INVALID_EXTENSION' to ErrorType enum
- added 'isPreviewMode' property to OutletsRequestContextResponse type
- added 'isPreviewMode' property to OutletsRequestDynamicContextResponse type
- added 'data' property to ModalOpenRequest type
- removed unused Version1.CLOSE event
- isInsideShellModal() method always returning false
- Make property areDynamicOutletsEnabled from OutletsRequestDynamicContextResponse optional. It will be first removed from outlets package and later from Shell as multi-extension outlets are going to be always enabled.
- Add isScrollbarHidden field as part of modalSettings in payload for MODAL.OPEN event
- Add backdropClickCloseable field as part of modalSettings in payload for MODAL.OPEN event
- Validate max depth for OUTLETS.REQUEST_DYNAMIC_CONTEXT event
- outletSettings field in payload for OUTLETS.REQUEST_DYNAMIC_CONTEXT event
- outletSettings field in payload for OUTLETS.REQUEST_CONTEXT event
- Enhance fsm-shell to support dynamic outlets
- Json schemas for event payload validation
- Logic for event payload validation against json schemas
- Documentation updated to include event versioning guide.
- Fixed unit tests
- Messages to handle MODAL open and close event
- Add
isInsideShellModal()
method to know if app is running inside Shell Modal
- Context with deploymentId for extensions only works in case the respective outlet has a target (name), which is optional. Execute logic to retrieve deploymentId only in case respective outlet has a target.
- Support context with deploymentId for extensions
- Make fsm-shell repository reuse compliant
- Update karma to newest version to fix security issue
- Add the possibility to ignore messages from a specific origin
- V1.RESTORE_TITLE event support
- V1.SET_TITLE event support
- Update dependencies to fix vulnerabilities
- Dependencies to fix security vulnerability
- REQUIRE_CONTEXT event enhanced to support extension authenticatiopn
- REQUIRE_AUTHENTICATION event for extension authentication support
- Validate iFrame origing against postMessage event origin when proxing events from outlets
- Added ability to dynamically add/remove allowed origins
- Update dependencies to fix potential security vulnerabilities
- Downgrade fsm-shell dependency typescript to make it compatible with the current outlet package
- Replace error message for the usage of V1.SET_VIEW_STATE event to a warning
- Support V1.GET_FEATURE_FLAG event
- Cypress compatibility issue for isInsideShell method
- Update dependencies to fix security breach
- Allow
OutletsRequestContextRequest
message to show/hide mocks onV1.OUTLET.ADD_PLUGIN
event
getTarget()
method to access ShellSdk target object- Nested page within fsm-shell documentation
- Implement V2.GET_PERMISSIONS
- Implement V2.GET_STORAGE_ITEM
- Restore V1.GET_STORAGE_ITEM as cockpit use none shellSdk interface and need same syntax
- Fix
.join
crash onGET_STORAGE_ITEM
event. from shell-host
- Special rule to expose
key
value onGET_STORAGE_ITEM
event, with legacy support.
setAllowedOrigins()
method now allows to filter events based on its origin.
- New ErrorType
OUTLET_HTTPS_ERROR
. - Add
isRootNodeHttps
inOutletsRequestContextResponse
interface.
- Return
SHELL_EVENTS.Version1.OUTLET.LOADING_FAIL
if reached maximum depth
- Add
ShellSdk.isInsideShell()
to verified if an application is running with or without Shell
- New
OutletsDeleteAssignmentRequest
andOutletsDeleteAssignmentResponse
models for messages - Propagate
SHELL_EVENTS.Version1.OUTLET.REQUEST_CONTEXT
to all outlets if only update configurationmode state
- Implement CI with travis, badges, and coveralls
- Specify typescript version as dependency to avoid fix conflict
- Remove alert security by updating all dependencies
- Block
setViewState
from plugins
- Outlet feature
setViewState
andonViewState
methodsTO_APP
andREQUIRE_CONTEXT_DONE
events- Changelog file
- FLOW APIs have been removed