Default to creating agent iframe on widget create #31
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There are a few things happening in this pull request.
1. No more
baseURL
onFriendlyCaptchaSDK
Can cause problems in the (rare) event of having widgets with different API endpoints on a single page. Instead, each widget is responsible for "setting up" an
apiURL
.2.
opts.startAgent
, if truthy, can be used to pre-load the agentiframe
at SDK-construction.In that case, it will configure the agent
iframe
using the endpoint passed as an option to the SDKconstructor
, falling back to the search algorithm outlined inoptions.ts
, and finally defaulting to the global endpoint.3. In the default case, the agent
iframe
is now created upon widget creationThe widget also takes care to add the correct origin to the
CommunicationBus
. I think the original timeout errors might've been caused by aCommunicationBus
configured with the global endpoint in combination with aneu
widget. I.e., the problem wasn't that there were twoiframe
s, it's that there was only aglobal
origin in theCommunicationBus
, and the EU widget couldn't use it.Fixes https://github.com/FriendlyCaptcha/friendly-captcha/issues/1889