-
Notifications
You must be signed in to change notification settings - Fork 4
Adds support for multi display type messages #101
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
base: develop
Are you sure you want to change the base?
Conversation
* develop: Bump version to 3.17.0 Review feedback Send opened inboxMessageAction events; add test harness config section Support marking unopened and unsubscribing from event emitter Send updated message list when marking opened or deleted lint Review feedback Support inbox messages fix and clean cleanpu non dry run to verify publishing works pare this down to only test npm publishing for now DX-809 update to use preferred OIDC for npm publish in github actions # Conflicts: # examples/index.html # src/managers/queue-manager.js
| message.properties.gist.exitClick = displaySettings.dismissOutsideClick; | ||
| } else { | ||
| delete message.properties.gist.exitClick; | ||
| } |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Bug: Empty displaySettings clears custom message properties on restore
When displaySettings is an empty object {} (not undefined), saveMessageState saves it as-is. Later when restoring, applyDisplaySettings is called because savedState.displaySettings is truthy. Since all properties like maxWidth, overlayColor, and dismissOutsideClick are undefined in an empty object, the else branches execute and delete messageWidth, overlayColor, and exitClick from message.properties.gist. This causes custom styling to be lost when a persistent message is restored, falling back to defaults instead of preserving the original configuration.
Addresses: INAPP-14008
This PR adds support for multi-step display types and state saving between message step changes.
Note: gist-web-renderer/pull/32 Needs to be deployed first
Note
Enables multi-step messages to switch between modal/overlay/inline displays, persists step/display state per message, and wires capabilities/step to the renderer with supporting queue and utility updates.
hasDisplayChangedandapplyDisplaySettingsinutilities/message-utils.queueIdand manages element conflicts when moving positions.saveMessageState,getSavedMessageState,clearMessageState), used for persistent and show-always broadcasts..statekeys.capabilities: ['MultiStepDisplayTypes']and optionaloptions.stepId.changeMessageStepevent handled to persist state and trigger display updates.queue-manager), re-resolves properties, and passes saved step to loader.utilities/message-utilsfor message lookup, updates, display mapping, and helpers;fetchMessageByInstanceIdmoved here.page-component-manager.addPageElementguards against duplicate element insertion.https://code.gist.build/renderer/0.6.0-preview13.Written by Cursor Bugbot for commit 6aa6336. This will update automatically on new commits. Configure here.