Category: Embedded Client Apps (Developers, Vendors, and Administrators)
Summary: In June of 2020, Chrome began enforcing a new iframe sandbox flag allow-downloads
. This means that downloads are blocked by sandboxed iframes unless opted in by this sandbox flag. At the time, this was a breaking change and Chrome was the first browser to support the switch. In order to avoid disruption to Embedded Client Apps users and to guarantee consistency amongst browsers, we began automatically applying this sandbox flag to all Embedded Client Apps.
https://developer.mozilla.org/en-US/docs/Web/HTML/Element/iframe
https://developer.mozilla.org/en-US/docs/Web/HTML/Element/iframe#browser_compatibility
Context: Since making this change, Chrome, Edge, and Firefox have all released support for this sandbox flag. Additionally, we have added the ability to manually opt into this sandbox on a per-app basis. As such, we will be removing the automatic insertion of the allow-downloads
sandbox flag and requiring that App vendors or Administrators manually opt into this feature, when needed.
Impact: Upon removal of the automatic insertion of the sandbox flags, downloads from within Embedded Client Applications will be blocked unless explicitly allowed.
Ad-hoc Embedded Client App Developers/Administrators:
Assess if your Embedded Client App needs to support downloads. If needed, go to Admin -> Integrations. Open your app definition, navigate to the Configuration tab, and add the allow-downloads
option to the Iframe Sandbox Options
field.
Premium App Vendor/Partners:
Assess if your Premium App needs to support downloads. If needed, take the appropriate action based on your sandbox option configuration type:
Statically Defined Sandbox Options:
Contact zachary.hinkle@genesys.com to have your static sandbox options updated.
Dynamically Defined Sandbox Options:
- We have already updated your configuration to support
allow-downloads
. - Please reach out to your customers to ensure they have updated their app configuration to avoid download regressions.
- If you dynamically create instances of your app, you should ensure your code is adding the
allow-downloads
flag. - Finally, you may want to consider statically defining your sandbox options. This puts you in full control of you app's sandbox options and will ease future changes and migrations. Again, please reach out to Zach Hinkle if you would like to explore this option.
Date of Change: On 5/5/2021, we will disable the automatic insertion of the allow-downloads
sandbox flag for all apps. At this point, apps will need to explicitly opt into this flag to allow downloads initiated from Embedded Client Apps. If explicit permission is not granted, the download will be blocked by the browser and/or the Genesys Cloud Desktop App.
Impacted APIs: This change primarily affects App configuration and is not an API change per se.
If working with integrations dynamically, the sandbox can be configured via the following endpoint:
PUT /api/v2/integrations/{integrationId}/config/current
References:
- ATEAM-271
- ATEAM-313
- https://developer.mozilla.org/en-US/docs/Web/HTML/Element/iframe