Skip to content
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

fix(Renderer): load script only on render #5235

Merged
merged 1 commit into from
May 26, 2020
Merged

fix(Renderer): load script only on render #5235

merged 1 commit into from
May 26, 2020

Conversation

jeremiegirault
Copy link
Contributor

@jeremiegirault jeremiegirault commented May 14, 2020

Type of change

  • Bugfix

Description of change

I was playing with Renderer when creating a custom adapter with outstream video support. So I created a Renderer in order to display a player when retrieving some VAST response.
I noticed that the Renderer class loads the external script in it's constructor, not in the render function. Therefore external scripts are loaded, not only when the bid in won but when bid responses are received.
That can cause multiple requests during the auction and bidders that do not win can load any external scripts and access the whole page under the "outstream" module code. That can lead to strategies of sending empty bids to execute random code on the page.

note

I can't run or test anything because a transitive depenency (fiber) prevents me from installing dependencies... (outdated, not building on osx 10.14 / node 13)

initial issue

#5117

Copy link
Collaborator

@jsnellbaker jsnellbaker left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hi @jeremiegirault

There is a PR open that should address the higher node related errors. In the meantime, if you lower your node version to say 10 - you should be able to install all the packages and run the gulp test command (note - the gulp test-coverage won't work).

In regards to the code, I noticed there are some params missing to handle the bid object. Without this param, the render can't play on a test page due to undefined errors. I noted some areas that I tried and seemed to work with the test page I had. Can you please update these areas?

src/Renderer.js Outdated
loadExternalScript(url, moduleCode, this.callback);
} else {
utils.logWarn(`External Js not loaded by Renderer since renderer url and callback is already defined on adUnit ${adUnitCode}`);
this.render = () => {
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

In here - you need to pass the bid param.

src/Renderer.js Outdated
}

if (this._render) {
this._render() // _render is expected to use push as appropriate
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

In here you need to pass along the bid param again to the function call.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You are right

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I used .apply to pass trough all arguments in a fix

@@ -126,10 +126,13 @@ describe('Renderer', function () {
id: 1,
adUnitCode: 'video1'
});
testRenderer.setRender(() => {})
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We need to set a renderer, else a second warning will be displayed

Comment on lines +149 to +151
expect(loadExternalScript.called).to.be.false;

testRenderer.render()
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The script is effectively not loaded called before a call to render but loading start afterwards

@@ -126,10 +126,13 @@ describe('Renderer', function () {
id: 1,
adUnitCode: 'video1'
});
testRenderer.setRender(() => {})

testRenderer.render()
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nothing happens before render

Copy link
Member

@mkendall07 mkendall07 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@jeremiegirault
Copy link
Contributor Author

Is there anything missing for a merge ? thank you

Copy link
Collaborator

@jsnellbaker jsnellbaker left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This looks good now - it's rendering the outstream bid successfully on my test page.

I checked as well with multiple bidders and only the winner's renderer was loaded (instead of all the bidders participating).

@jsnellbaker jsnellbaker merged commit 0b52d6a into prebid:master May 26, 2020
@jeremiegirault jeremiegirault deleted the fix/renderer/load-after-render branch June 2, 2020 11:54
jimee02 pushed a commit to openx/Prebid.js that referenced this pull request Jun 12, 2020
iggyfisk pushed a commit to happypancake/Prebid.js that referenced this pull request Jun 22, 2020
pm-shashank-jain added a commit to PubMatic-OpenWrap/Prebid.js that referenced this pull request Oct 28, 2020
* Increment pre version

* circleci enable pipelines (#5119)

Co-authored-by: sumit sharma <[email protected]>

* remove user syncs, fix ccpa approach, and encode brackets and curly braces (#5177)

Co-authored-by: Melody Li <[email protected]>

* Fix e2e tests (#5183)

* update mock requests

* update mutiple bidders request

Co-authored-by: sumit sharma <[email protected]>

* Add Quantumdex Bid Adapter (#5170)

* Add Quantumdex Bid Adapter

Add Quantumdex Bid Adapter

* Update quantumdexBidAdapter.js, quantumdexBidAdapter_spec.js

* Update quantumdexBidAdapter.md

* Update quantumdexBidAdapter.md

* Update quantumdexBidAdapter.js

* Update quantumdexBidAdapter.js

* Update quantumdexBidAdapter.js

* Admixer Bid Adapter add consent support (#5169)

* add gdpr and usp

Co-authored-by: atkachov <[email protected]>

* DeepIntent: Gdpr support (#5147)

* feat(gdpr) : gdpr support added

* tests fixed

* New Adprime bidder adapter (#5172)

* initial

* fix

* remove redundant language mod, use player sizes in video traff

* test modify

* fix

* Adding Tests

Co-authored-by: Aigolkin1991 <[email protected]>

* Refined the ticket-coordinator role description (#5187)

* Send debug info from adapter to external debugger (#5151)

* Livewrapped bid and analytics adapter

* Fixed some tests for browser compatibility

* Fixed some tests for browser compatibility

* Changed analytics adapter code name

* Fix double quote in debug message

* modified how gdpr is being passed

* Added support for Publisher Common ID Module

* Corrections for ttr in analytics

* ANalytics updates

* Auction start time stamp changed

* Detect recovered ad blocked requests
Make it possible to pass dynamic parameters to adapter

* Collect info on ad units receiving any valid bid

* Support for ID5
Pass metadata from adapter

* Typo in test + eids on wrong level

* Fix for Prebid 3.0

* Fix get referer

* http -> https in tests

* Native support

* Read sizes from mediatype.banner

* Revert accidental commit

* Support native data collection + minor refactorings

* Set analytics endpoint

* Support for app parameters

* Fix issue where adunits with bids were not counted on reload

* Send debug info from adapter to external debugger

* Add videoCacheKey on the bid object only if the cache url is not set (#5186)

* Add videoCacheKey on the bid object only if the cache url is not set

* Added test case for the scenario where we don't manually set the videoCacheKey on purpose when the cache url is present.

* Marsmedia - Add onBidWon function (#5175)

* Change publisherId to zoneId
Add gdpr
Add supply chain
Add video media type

* Remove comments

* Fix unit test coverage

* fix request id bug
add vastXml to video response

* Remove bid response default sizes

* Change endpoint url

* Add unit test for vastXml

* Change end point

* Remove trailing-space

* Add onBidWon function

* Updates core-js to version 3. (#4984)

* Updates core-js to version 3.

* More changes related to updating core-js to version 3

* Updated new files from master to also be compatible with core-js v3.

* Updated package-lock.json

* Revert "Updated new files from master to also be compatible with core-js v3."

This reverts commit b2ae8d93aae9eee71f2f99a276462225b96d1582.

# Conflicts:
#	modules/priceFloors.js

* Revert "Updates core-js to version 3."

This reverts commit a731dce2c5100dc78945929aa59d1fa3566ece25.

# Conflicts:
#	modules/adkernelBidAdapter.js
#	modules/audienceNetworkBidAdapter.js
#	modules/emx_digitalBidAdapter.js
#	modules/widespaceBidAdapter.js
#	package.json
#	src/config.js
#	src/userSync.js
#	src/utils.js
#	test/spec/modules/widespaceBidAdapter_spec.js

* Updated new files to core-js v3 and imports now end in .js

* Import set without .js since set is a module and not a file.

* Updated new file from master to also be compatible with core-js v3.

* Blue Billywig bid adapter (#5118)

* add Blue Billywig adapter

* Blue Billywig Adapter - update according to review feedback

* Blue Billywig Adapter - update to try and pass CircleCI

* Remove the last for .. of in bluebillywigBidAdapter.js, hopefully...

* Update bluebillywigBidAdapter test parameters to match renderer to rendererCode rename

Co-authored-by: Klaas-Jan Boon <[email protected]>

* New version of Konduit Accelerate module (#5164)

* Adding Konduit module

* Removed superfluous arguments passed to obtainVastUrl function

* Removed superfluous arguments passed to obtainVastUrl function.

* Build trigger (empty commit)

* Module documentation updated according to the comments

* Logic in obtainVastUrl function updated according to the review comment.

* Removed hook, enabled eslint

* Merged recent prebid changes

* New method is introduced to process a bid and return dynamic CPM data

* New Konduit Analytics adapter responsible for client auction stats collection

* Updated konduit analytics adapter .md file

* Fixed linter issue with more than 1 blank line used

* Use '$prebid.version$' instead of the $$PREBID_GLOBAL$$.version

* Updated unit tests

Co-authored-by: Max Shevchenko <[email protected]>
Co-authored-by: Alexander Kislitsyn <[email protected]>

* Delete audience network integration example. (#5190)

Audience Network for prebid has been removed.

* ShowHeroes - schain support (#5193)

* ITDEV-4723 PrebidJS adapter support with SupplyChain module object

* ITDEV-4723 Fix tests

* ITDEV-4723 New entry point

Co-authored-by: veranevera <[email protected]>
Co-authored-by: Elizaveta Voziyanova <[email protected]>

* Media.net adapter & analytics improvements (#5195)

Co-authored-by: vedant.s <[email protected]>

* Prebid 3.19.0 Release

* Increment pre version

* Fix pre version

* parrableIdSystem: Consume US Privacy consent data (#5197)

* Add unit coverage for parrableIdSystem getId callback

* PBID-14: Pass uspString to Parrable as us_privacy query parameter

* PBID-14: Simplify parrableIdSystem us_privacy test

* PBID-14: Only send us_privacy to Parrable when a value exists

* Remove path check from parrableIdSystem url test

* Add missing extension to mock xhr import

* Rakuten bid adapter (#5191)

* add typescript definitions

* add rakuten bid adapter

* add generated notice

* add gdpr and ccpa support to rakuten

* add typescript notice

* update default rakuten currency to USD

* fix folder name rakuten -> rakutenBidAdapter

* remove typescript types for now

* Freewheel add dealId property in bidResponse (#5200)

* freewheel-ssp fix issue on playerSize of bidRequest

* freewheel-ssp fix issue on playerSize of bidRequest

* freewheel add dealId property in bidResponse

* updating ttl variable in underdogmediaBidAdapter.js (#5220)

* Gdpr vendor exceptions (#5201)

* vendorExceptions is a global check

* two allowed vars not one duh

* PBJS RP adapter: pass integration type into video calls (#5231)

* Add microadBidAdapter

* Remove unnecessary encodeURIComponent from microadBidAdapter

* Submit Advangelists Prebid Adapter

* Submit Advangelists Prebid Adapter 1.1

* Correct procudtion endpoint for prebid

* analytics update with wrapper name

* reverted error merge

* update changed default value of netRevenue to true

* Re-add rubicon analytics without deprecated getTopWindowUrl util

* Cache referrer on auction_init instead of bid_requested

* merged remote master changes

* Include integration type in video OpenRTB requests

Co-authored-by: nakamoto <[email protected]>
Co-authored-by: Chandra Prakash <[email protected]>
Co-authored-by: Isaac Dettman <[email protected]>
Co-authored-by: Eric Harper <[email protected]>
Co-authored-by: TJ Eastmond <[email protected]>
Co-authored-by: Mark Monday <[email protected]>

* Use default native size if received size is undefined (#5192)

Co-authored-by: mi.chen <[email protected]>

* New adapter - Trendqube (#5225)

Co-authored-by: Aigolkin1991 <[email protected]>

* Roll back breaking change to utils.parseQueryStringParameters (#5230)

* Add AOL defaults for currency and creative ID until fix issued server-side

* Satisfy linter single quotes

* Roll back breaking change to utils.parseQueryStringParameters and add a better test to catch this in future

* utils.parseQueryStringParameters - add stripping of trailing ampersand to alleviate all tests amended in utils update

* One Video: Added banner support for Dynamic Ad Placement (DAP) (#5199)

* Added banner support for Dynamic Ad Placement (DAP)

* updated version number

* changed version to 3.0.2 in both adapter and tests _spec

* Added DAP Banner test for  interpretResponse & isBidRequestValid

* Updated DAP tests - video and banner validations

* updated adapter examples .md file

* Updated ternary operator for bidResponse.mediaType setting

* removing redundant display parameter validation

* Update package-lock.json

* Added support of multi-format ads in TheMediaGrid Bid Adapter (#5217)

* Added TheMediaGridNM Bid Adapter

* Updated required params for TheMediaGridNM Bid Adapter

* Update TheMediGridNM Bid Adapter

* Fix tests for TheMediaGridNM Bid Adapter

* Fixes after review for TheMediaGridNM Bid Adapter

* Add support of multi-format in TheMediaGrid Bid Adapter

* add publisherId & mediaId (#5184)

* User id fetch error (#5166)

* Update Bidder Code

* LunaMedia Adapater

LunaMedia Adapater

* Updated LunamediaBidAdapter.md test params and valid pub code for testing

* Updating User ID submodules to execute callback onError AJAX

* fix parrable test when IE

* parrable spec all messed up after merge, fixed now

Co-authored-by: Chandra Prakash <[email protected]>
Co-authored-by: trchandraprakash <[email protected]>
Co-authored-by: rmartinez <Rachael24!>

* RichAudience BidAdapter - Changes video Adapter (#5213)

* Changes video Adapter

* Update MD Richaudience

Co-authored-by: sgimenez <[email protected]>

* tribeOS change endpoint URL  (#5243)

* initial tribeOS bidder adapter commit

* initial tests for tribeOS bidder adapter

* removed unimplemented "getUserSyncs" function

* removed unimplemented "onBidWon" function

* tribeOS - change end point URL

* force commit

* Revert "tribeOS - change end point URL"

This reverts commit 680c7d4fcc5c8f72711c8b2de45c9aa2671b2bdd.

* tribeOS - change end point URL

* restore .js extensions

* fixed issue "newline required at end of file"

* LoopMe adapter: Added mediaType field into bid response (#5233)

* Automatad Bid Adapter: Update CPM sent with WinNotification (#5267)

* updated winurl params

* lint fixes

* Onevideo Adaptor -Hp param support (#5257)

* outstream changes

* removing global filtet

* reverting page

* message

* adapter change

* remove space

* testcases

* testpage

* spaces for test page

* renderer exist case

* reverting package-lock.json

* adding schain object

* adding tagid

* syntaxx error fix

* video.html

* space trailing

* space

* tagid

* inventoryId and placement

* rewarded video

* added unit test case

* comment

* hp param

* test cases

* version

* .md file

* Indention

Co-authored-by: Deepthi Neeladri Sravana <[email protected]>
Co-authored-by: Deepthi Neeladri Sravana <[email protected]>
Co-authored-by: Deepthi Neeladri Sravana <[email protected]>
Co-authored-by: Deepthi Neeladri Sravana <[email protected]>
Co-authored-by: Deepthi Neeladri Sravana <[email protected]>
Co-authored-by: Deepthi Neeladri Sravana <[email protected]>
Co-authored-by: Deepthi Neeladri Sravana <[email protected]>
Co-authored-by: Deepthi Neeladri Sravana <[email protected]>
Co-authored-by: Deepthi Neeladri Sravana <[email protected]>
Co-authored-by: Deepthi Neeladri Sravana <[email protected]>

* New bidder adapter: pubgenius (#5206)

* add bid adapter

* fix doc

* fix endpoint and add user syncs

* fix endpoint in tests

* send user id and time out

* more tests

* fix PR feedback

* add test bidder param

* send test as numeric boolean

* add comment about test bid CPM

* actually the mime type should be text/plain

* SChain support (#5272)

* Livewrapped bid and analytics adapter

* Fixed some tests for browser compatibility

* Fixed some tests for browser compatibility

* Changed analytics adapter code name

* Fix double quote in debug message

* modified how gdpr is being passed

* Added support for Publisher Common ID Module

* Corrections for ttr in analytics

* ANalytics updates

* Auction start time stamp changed

* Detect recovered ad blocked requests
Make it possible to pass dynamic parameters to adapter

* Collect info on ad units receiving any valid bid

* Support for ID5
Pass metadata from adapter

* Typo in test + eids on wrong level

* Fix for Prebid 3.0

* Fix get referer

* http -> https in tests

* Native support

* Read sizes from mediatype.banner

* Revert accidental commit

* Support native data collection + minor refactorings

* Set analytics endpoint

* Support for app parameters

* Fix issue where adunits with bids were not counted on reload

* Send debug info from adapter to external debugger

* SChain support

* clean(openxBidderAdaptor): converted video size to numbers from strings to keep consistency between banner and video. (#5240)

(cherry picked from commit bc4217b2160531ddc559dcf85b1c875588e1e9a3)

* Prebid 3.20.0 Release

* Increment pre version

* Update onBidWon method to only execute 1 url (#5238)

* Update onBidWon method to only execute 1 url

* Remove un-unsed function that onBidWon was using

* Switch onBidWon to use utils.triggerPixel so we can test how many times its being called (only want it called once)

Co-authored-by: Aziz Hussain <[email protected]>

* Added support for GDPR, COPPA, and USP (#5210)

* Added CPMStar Bid Adapter

* Updated getPlayerSize for cpmstarBidAdapter

* Improved cpmstarBidAdapter code coverage

* updated test spec, removed empty functions, made imports relative, added warnings to erroneous server responses, and removed the default value for ad in bid response.

* added test video ad unit

* added support for gdpr and coppa

* changed != undefined to != null

* changed let to var

* added unit for GDPR, COPPA, and USP.

Co-authored-by: Nicholas Elek <[email protected]>

* Stabilize Circle CI Build Job (#5208)

* run only userId module tests

* stub call to coreStorage.getCookie

* remove setCookie statement that adds nothing to the test

* Adding Edge Query X Adapter (with right md file) (#5266)

* Add files via upload

* Bug fixed

* Remove some new lines

* Correction Circle

* Test Unit

* Indent

* Indent 2 space

* Single quote

* test unit

* requestID

* Rename mb to md

* add md

* Correcting md file

* Improving gulp test to get more than 80%

* Correcting double lines

* Update package-lock.json

* Back to original lock version

* Back to original package-lock.json version

Co-authored-by: Olivier <[email protected]>

* Update Platform One Analytics Adapter (#5265)

* Added Y1 Analytics Adapter

* rename y1AnalyticsAdapter in yieldoneAnalyticsAdapter

* Yieldone Bid Adapter: fixes from lint check

* Yieldone Analytics Adapter: fix endpoint protocol

* Added spec file for yieldone Analytics Adapter

* Add adUnitName to analytics data for Yieldone Analytics Adapter

* Fix yieldone Analytics Adapter to log only id from adUnitPath

* Fix bug with timeout event in Yieldone Analytics Adapter

* Update yieldone analytics adapter to remove excess 'ad' field from data

* Update yieldone analytics adapter

* Yieldone Analytics Adapter: remove dispensable events from log

* Platform One Analytics Adapter: fixes after review

* Fix mapping data (#5271)

* update mapping data refresh logic

* add unit tests

* put parsing in try catch block

* refactor

Co-authored-by: sumit sharma <[email protected]>
Co-authored-by: sumit sharma <[email protected]>

* Add craftBidAdapter (#5260)

* Add min_duration and max_duration parameter to spotxBidAdapter (#5286)

Co-authored-by: Nick Peceniak <[email protected]>

* [rtbhouse] Add schain support (#5281)

* Fix referer (#5274)

* add relaido adapter

* remove event listener

* fixed UserSyncs and e.data

* fix conflicts

* add referer at the end of the payload

* add test

Co-authored-by: ishigami_shingo <[email protected]>

* Add keywordsparametr (#5227)

* initial

* fix

* remove redundant language mod, use player sizes in video traff

* test modify

* fix

* Adding Tests

* add keywords param

* log

* log

* log

* fix

Co-authored-by: Aigolkin1991 <[email protected]>

* Identity link id system - handle empty response (#5279)

* IdentityLinkIdSystem - handle empty response

* IdentityLinkIdSystem - add tests

* IdentityLinkIdSystem - rename describe in tests

* update bid vlues (#5301)

* Update ixBidAdapter.js (#5289)

* Update ixBidAdapter.js

If the Index adapter is aliased, this gathers the alias instead of using the hard coded 'ix' value for bidder code.

* check for existence of bidderrequest

bidderrequest object doesn't exist in the test spec; IX team may want to write a more extensive test here.

* add adWMGAnalyticsAdapter (#5261)

* add adWMGAnalyticaAdapter

adWMG Analytics is a module for collecting dynamic data and analytics acquisition developed by WMG.
It enables compiling and saving of the auction history, its results, users’ data (geo, browser, operation system).
With the access to the platform, the customer may explore the product in a preferable way.

* add file extensions to imported modules

circleci requirement

* Update unit tests and fix LGTM alerts

Update unit tests and fix LGTM alerts

* Use Prebid ajaxBuilder instead of XHR

Use Prebid ajaxBuilder instead of XHR

* fix(Renderer): load script only on render (#5235)

* Fidelity adapter: TCFv2 support, kubient alias. (#5302)

* TCFv2 support, kubient alias

* TCFv2 support, kubient alias

* Update sync url for grid and gridNM Bid Adapters (#5304)

* Added TheMediaGridNM Bid Adapter

* Updated required params for TheMediaGridNM Bid Adapter

* Update TheMediGridNM Bid Adapter

* Fix tests for TheMediaGridNM Bid Adapter

* Fixes after review for TheMediaGridNM Bid Adapter

* Add support of multi-format in TheMediaGrid Bid Adapter

* Update sync url for grid and gridNM Bid Adapters

* Gumgum add in video (#5284)

* add in-video product line

* add in-video product line

* add unit tests and fix dependencies.

Co-authored-by: Estavillo <[email protected]>

* DailyhuntBid Adapter: Add video support with Refactor/Optimizing (#5226)

* dailyhunt bidder refactor

* refactor dailyhunt bid adapter support

* native prebid server support

* video support

* native support

* win notice url support

* fix undefined object access issues

* dh bidder small bug fixes

* change endpoint

* added basic gulp test for dailyhunt

* adding test case and support for outstream

* body2 support in native request

* create md

* test mode support

* chnage endpoint to prod and remove console log

* change md

* adding accept-encoding:gzip

* chnage eslint to default

* remove array.prototype.find

* fix review changes

Co-authored-by: Mitesh Thakor <[email protected]>

* Adtelligent new features (#5203)

* Adtelligent support adpods

* Adtelligent support bid chunks

* Adtelligent support userId, schain

* Adtelligent Rename params to be supported in post

* Coppa support

* Rewritten tests

* Add param transform for aid for ServerAdapter

* Lint

* New adapter - videofy (#5259)

* Change publisherId to zoneId
Add gdpr
Add supply chain
Add video media type

* Remove comments

* Fix unit test coverage

* fix request id bug
add vastXml to video response

* Remove bid response default sizes

* Change endpoint url

* Add unit test for vastXml

* Change end point

* Remove trailing-space

* Add onBidWon function

* New adapter - videofy

* fallback to defaultGdprScope if cmp undefined (#5291)

* RTD bug fix (#5087)

* real time data module,
browsi sub module for real time data,
new hook bidsBackCallback,
fix for config unsubscribe

* change timeout&primary ad server only to auctionDelay
update docs

* support multiple providers

* change promise to callbacks
configure submodule on submodules.json

* bug fixes

* use Prebid ajax

* tests fix

* browsi real time data provider improvements

* real time data module,
browsi sub module for real time data,
new hook bidsBackCallback,
fix for config unsubscribe

* change timeout&primary ad server only to auctionDelay
update docs

* support multiple providers

* change promise to callbacks
configure submodule on submodules.json

* bug fixes

* use Prebid ajax

* tests fix

* browsi real time data provider improvements

* RTD bug fixes

* #5087 review fixes

* RTD fixes

* use core-js lib find
init googletag if needed

* adding check if gdpr module ran enforcment logic (#5178)

* adding check if gdpr module ran enforcment logic

* adding tests for new hasValidated flag

Co-authored-by: rmartinez <Rachael24!>

* Floors new signals (#5295)

* Price Floors skipRate debug by query string

Rubicon Analytics log floors skipRate

* new floor signal fetchFailed

* change fetchFailed to fetchStatus

* rubi analytics looks for fetchStatus

* change iabSubCatId name to primaryCatId (#5303)

* change iabSubCatId name to primaryCatId

* change in adapter

Co-authored-by: sumit sharma <[email protected]>

* Prebid 3.21.0 Release

* Increment pre version

* Add publisher_id to appnexus adapter (#5244)

* Add publisher_id to appnexus adapter

* update transformBidParams fn

Co-authored-by: sumit sharma <[email protected]>

* Add Onomagic Bidder Adapter (#5155)

* AdPartner bidadapter init (#5196)

* AdPartner bidadapter init

* Change endpoint path and domain

* Add mock banner for test launch

* Add mock banner for test launch

* Blue Billywig adapter - Add site config to request similarly to app config (#5273)

* add Blue Billywig adapter

* Blue Billywig Adapter - update according to review feedback

* Blue Billywig Adapter - update to try and pass CircleCI

* Remove the last for .. of in bluebillywigBidAdapter.js, hopefully...

* Update bluebillywigBidAdapter test parameters to match renderer to rendererCode rename

* Blue Billywig - Also pass through site config with OpenRTB request

Co-authored-by: Klaas-Jan Boon <[email protected]>

* remove uri-encoding (#5307)

Co-authored-by: Melody Li <[email protected]>

* Media.net improvements (#5282)

Co-authored-by: vedant.s <[email protected]>

* adWMGAnalytics - refactor unit tests (#5310)

* VIS.X: remove bidderCode from bidResponse (#5313)

* OneVideo: Excluded DAP validation for Multi-Format adUnits support (#5309)

* Excluded DAP validation if publisher is using Multi-Format adUnits

* Update package-lock.json

* refractoring of if statement to check bid.mediaTypes.video just once

* removed redundent statement

* Improvements for SizeMappingV2 (advanced size mapping) module (#5283)

* basic implementatino done

* fix indentical ad unit count bug

* modules/sizeMappingV2.js

* revert change

* add missing log message

* fix existing failing test cases

* add additional tests for function getAdUnitDetail particularly for cacheHits and instance check

* add instructive comments and rename file to advanced_size_mapping

* flatten ternary operator call

* add onBidWon function, add bidder adapter version to bid requests (#5263)

* Adtarget bid adapter (#5296)

* Adtarget frist release

* Fix

* Fix lint

* Coppa support

* Added unit tests

* revert package

* Added unit tests

* removes referencing of digitrust library (#5316)

* ucfunnel adapter update request parameter (#5278)

* Add a new ucfunnel Adapter and test page

* Add a new ucfunnel Adapter and test page

* 1. Use prebid lib in the repo to keep updated
2. Replace var with let
3. Put JSON.parse(JSON.stringify()) into try catch block

* utils.getTopWindowLocation is a function

* Change to modules from adapters

* Migrate to module design

* [Dev Fix] Remove width and height which can be got from ad unit id

* Update ucfunnelBidAdapter to fit into new spec

* Correct the endpoint. Fix the error of query string

* Add test case for ucfunnelBidAdapter

* Fix lint error

* Update version number

* Combine all checks on bid request

* Add GDPR support for ucfunnel adapter

* Add in-stream video and native support for ucfunnel adapter

* Remove demo page. Add more test cases.

* Change request method from POST to GET

* Remove unnecessary comment

* Support vastXml and vastUrl for video request

* update TTL to 30 mins

* Avoid using arrow function which is not discuraged in mocha

* ucfunnel tdid support

* ucfunnel fix error message in debug mode

* ucfunnel adapter add bidfloor parameter

* ucfunnel adapter support CCPA

* ucfunnel adapter native support clicktrackers

* ucfunnel adapter change cookie sync setting

* ucfunnel adapter update request parameter

Co-authored-by: root <[email protected]>
Co-authored-by: Ryan Chou <[email protected]>
Co-authored-by: jack.hsieh <[email protected]>

* AdxPremium Analytics - bug fixes, handling timeout, etc. (#5182)

* AdxPremium Analytics - bug fixes, handling timeout, etc.

* AdxPremium Analytics - bug fixes, handling timeout, etc.

* AdxPremium Analytics adapter update

* AdxPremium Analytics update

* unit testing added

* adxpremiumAnalyticsAdapter_spec.js

* Update Dspx adapter (#5277)

* Add gdpr_consent support for Dspx Adapter

* Add video support for dspx adapter

* Update Video Test Parameters for Dspx Adapter

* fix referrer in DSPX adapter

* Fix Description in DSPX adapter

Co-authored-by: Alexander <[email protected]>

* remove only keyword (#5324)

* PubMatic analytics documentation (#5322)

* added support for pubcommon, digitrust, id5id

* added support for IdentityLink

* changed the source for id5

* added unit test cases

* changed source param for identityLink

* simple example

* added limitations

* added contact details

* example text

* Secure creative update (#5285)

* replaced manually set secureCreative adServerDomain with automatic postMessage event.source.orgin

* using event.origin rather than event.source.origin in secureCreative postMessage()

* updated x-domain iframe render example

Co-authored-by: Eric Harper <[email protected]>

* update webdriverio and node 12 support (#5236)

* update webdriverio and node 12 support

* clean-up some commented code

* updates to supported node version and other minor updates and wording

* fix lint error

* add description files for fixtures

* Prebid 3.22.0 release

* increment pre version

* Update Usersync Url For Quantumdex bid adapter (#5327)

We have upgraded the new user cookie storage system. Where everything is gathered in one place

* fix wipesAdapter CPM culclation (#5330)

* GumGum: handling misconfigured requests (#5212)

* uses encodeURIComponent inline

* adds test for jcsi param

* adds request delay depending on previous response

* adds inVideo param

* GumGum: update jcsi object values (#5258)

* updates jcsi object

* adds test for jcsi

* fix lint

* updates due to prebid rollback

* * Add Glimpes Protocol Bidding Adaptor (#5293)

* Initial submission of adaptor

* Currently only supports Banner

* 100% code coverage from tests

* Author Tim Holmes-Mitra <[email protected]>

* fix secure protocol check for beachfront video (#5318)

Co-authored-by: John Salis <[email protected]>

* new bidder adapter: mediasquareBidAdapter (#5317)

* add adapter mediasquare

* Update mediasquareBidAdapter.md

* Update mediasquareBidAdapter.js

* test-coverage

* Update mediasquareBidAdapter.js

* Update mediasquareBidAdapter_spec.js

* Update mediasquareBidAdapter_spec.js

* Update mediasquareBidAdapter_spec.js

* Object.values unsupported by IE11

* Konduit Accelerate module with 'send all bids' support (#5247)

* Adding Konduit module

* Removed superfluous arguments passed to obtainVastUrl function

* Removed superfluous arguments passed to obtainVastUrl function.

* Build trigger (empty commit)

* Module documentation updated according to the comments

* Logic in obtainVastUrl function updated according to the review comment.

* Removed hook, enabled eslint

* Merged recent prebid changes

* New method is introduced to process a bid and return dynamic CPM data

* New Konduit Analytics adapter responsible for client auction stats collection

* Updated konduit analytics adapter .md file

* Fixed linter issue with more than 1 blank line used

* Use '$prebid.version$' instead of the $$PREBID_GLOBAL$$.version

* Updated unit tests

* Enable "Send all bids" support

* Updated konduitWrapper.md file

* Updated links in konduitWrapper.md

* Updated spec file (unit tests)

* Added Konduit Prebid module version

Co-authored-by: Max Shevchenko <[email protected]>
Co-authored-by: Alexander Kislitsyn <[email protected]>

* parrableIdSystem: Read legacy ID and optout cookies and migrate to new cookie storage implementation (#5219)

* Add unit coverage for parrableIdSystem getId callback

* PBID-14: Pass uspString to Parrable as us_privacy query parameter

* PBID-14: Simplify parrableIdSystem us_privacy test

* PBID-14: Only send us_privacy to Parrable when a value exists

* PBID-11: Read new Parrable compound cookie _parrable_id

Migrating from legacy _parrable_eid cookie. The new cookie contains ibaOptout and ccpaOptout status fields

* Remove path check from parrableIdSystem url test

* PBID-11: Integrate Parrable compound cookie, consolidating old cookies

* PBID-11: Update parrableIdSystem requestBids hook test to support compound cookie value

* PBID-11: Small refactor to parrableIdSystem spec to support compound cookie

* PBID-11: Handle legacy ibaOptout as truthy value when migrating to compound cookie

* PBID-11: Add parrableIdSystem spec tests covering migration of legacy cookies

* PBID-11: Remove storage documentation from test pages and userId module docs

* PBID-11: Remove SUBMODULES_THAT_ALWAYS_REFRESH_ID feature from userId system

* PBID-11: Use better serialize implementation for Parrable compound cookie

* PBID-11: Update parrableIdSystem interface documentation

* Add missing extension to mock xhr import

* PBID-11: Try to access eid property only when parrableId object exists

* PBID-11: Construct parrableId from legacy cookies in same manner as compound cookie

* Use hardcoded expiration date for legacy cookies

* parrableIdSystem: Relocate new unit test from upstream

* PBID-39: Fallback to cookie values when backend response is missing components

Also handle another missed callback scenario if the response object parses to nothing

* Teads adapter: Support deal targeting (#5270)

* GumGum: adds new param (#5297)

* adds in new videoPubID param

* adds test

* Avocet bid adapter (#5262)

* adds avocet bid adapter

* modules/avocetBidAdapter.js: fixes lint issues

* adds id5 support and test/code improvements

* Event updates (#5288)

* event updates

* removed char

* add comment regarding removal of hb_wiurl and hb_bidid

* optimized tests

* fix for str validation

* add test helper method to reset wurl map

* update resetWurlMap

* update test description

* optimized calls to setConfig in tests

* add timestamp to videoCache cached bid

* revert unintended change to adapterManager.js

* update imports ordering for cleaner diff

* update string validation to use isStr

* fix rename event to plural form

* update event to events in tests

* AdOcean adapter - support for sizes defined in Prebid configuration. (#5337)

* AdOcean adapter - support for multiple sizes

* AdOcean adapter - tests - use normal functions instead of arrow ones for consistency

* AdOcean adapter - support for multiple sizes - changed way of sending dimensions

* AdOcean adapter - change separator between sizes group

* AdOcean adapter - small fix in buildRequest

* Vidazoo: Feature support usp consent (#5111)

* feat(module): multi size request

* fix getUserSyncs
added tests

* update(module): package-lock.json from master

* feat(module): add usp consent support

* added uspConsent test

Co-authored-by: roman <[email protected]>

* add optional video param for tagid (#5344)

Co-authored-by: John Salis <[email protected]>

* Add module H12 Media (#5328)

* Add module H12 Media

* Add module H12 Media

* Add module H12 Media — fix gdpr info

* Add module H12 Media — fix find

* No bid version 1.2.6 (#5323)

* Enable supplyChain support

* Added support for COPPA

* - Added support for Safeframe creative.
- Added support for out-stream video.

* Changed the protocol from JSON to string because Exceptions cause a slowdown on the browser.

* Change in package.json

* Fix error

* Changed startsWidth() to indexOf()

* Fix lint error. Not sure why my gulp lint does not detect this error.

* Fix indexOf not available on IE 11

Co-authored-by: Reda Guermas <[email protected]>

* AdagioBidAdapter 2.2.2 (#5347)

* Adagio: params auto-detection

Improve user integration with auto-detection for adUnitElementId and environment params.

* Adagio: update config example in .md file

* added CCPA support, gvlid to adform and adformOpenRTB adapters (#5214)

* Native support for NextRoll adapter (#5319)

* Add native support

* Add response testing

* DRY test

* Change required from bool to int

* Set mediaType

* Fixes objects

* Fixes object access

* Remove ad property, only set it for banner

* Update tests

* Moving hardcoding values to constants

* Update docs with native information

* Adding back ZEDO adapter with changes to make it compatible to latest prebid (#5276)

* initial commit

* updated contact and tag details

* changes ti support the renderers

* changes to pass dimId

* fixed names of internal mapping

* added comment

* added gdpr param to request and other fixes

* modified api url

* fix

* fixed the secure api call

* rolled back video event callback till we support it

* updated doc with video details

* added bid won and timeout pixel

* added testcase for bid events

* modified testcase

* fixed the url logged

* tag param values passed ot renderer

* added a conditioal check

* changes to support new param to adserver for purpose of tracking

* passed param to renderer

* missing variable defined

* changes to pass schain

* fix

* added protocol to url

* fixed test for protocol

* changed urls to secure only

* fixes to make it compatible to head

* added support for ccpa

* Fixed path of find module

* Remove package.json

* updated test example with new setup

* Adding back the file

* trying to resolve conflict

Co-authored-by: Sanoska Gonsalves <[email protected]>

* Vidazoo Adapter: Feature/direct deal targeting (#5343)

* feat(module): multi size request

* fix getUserSyncs
added tests

* update(module): package-lock.json from master

* feat(client): send deal id with each request

Co-authored-by: roman <[email protected]>

* Add support for aliases (#5342)

* Support new aniview bid adapter

* Support new aniview bid adapter

* Support new aniview bid adapter

* Support new aniview bid adapter

* Fix Consent parameters

* Update aniviewBidAdapter.js

V3 support

* Update aniviewBidAdapter.js

* Update aniviewBidAdapter.js

Update refererInfo

* Update aniviewBidAdapter.js

Fix tabs and spaces

* Update aniviewBidAdapter.js

fixes

* Update aniviewBidAdapter.js

* Update aniviewBidAdapter.js

Add ccpa support

* Update aniviewBidAdapter.js

Typo

* Update aniviewBidAdapter.js

* Update aniviewBidAdapter.js

* Fix size and sample

Fixed sizes from playerSize
Updated md sample

* Fix tabs

* Fix sizes

* Recheck

* Add tgt parameter

* Update sample

* Add support for cookie sync + tests

* Add support for cookie sync + tests

* Add support for cookie sync + tests

* Support aliases

Support aliases

* Update

Update

* Fix lint

Fix lint

* Update spec

Update spec

* Fix to issue #5141 exception thrown in pbjs.requestBids when DigiTrus… (#5333)

* Fix to issue #5141 exception thrown in pbjs.requestBids when DigiTrust does not init.
Safe extract value of id or null.

* Code syntax change to overcome linter issue.

* PubMatic analytics adapter to support bidCpmAdustment values (#5354)

* added support for pubcommon, digitrust, id5id

* added support for IdentityLink

* changed the source for id5

* added unit test cases

* changed source param for identityLink

* set gross ecpm using originalCpm

* using bidGrossCpmUSD to set eg

* lint

* fixed old cases

* added some tests

* removed comments

* removed commented code , and unused import

* en related changes in test cases

* using pbjs.getHighestCpmBids, added test cases around it

* passing highestCpmBids

* fixed test cases

* added notes

* using getGlobal() instead of $$PREBID_GLOBAL$$

* Prebid 3.23.0 Release

* increment prebid version

* improveStartDelay after documentation update default value is now 1 and 0 does not exist. (#5361)

* Updating docs header info fields (#5366)

Related to https://github.com/prebid/prebid.github.io/pull/2056

* Add placement_type and position parameters to spotxBidAdapter (#5364)

* Add min_duration and max_duration parameter to spotxBidAdapter

* Add placement_type and position parameters to spotxBidAdapter

Co-authored-by: Nick Peceniak <[email protected]>

* Configurable user-sync types support (#5359)

* Delaying removal of floor data for 3 seconds (#5360)

* PBS Bid Adapter: allow setting site params (#4973)

* add site config value to oRTB request

* update to copy site.page and site.publisher.id if not defined in config site object

* Support for ID5 (#5345)

* Add support for bidderRequest.refererInfo in Adhese Adapter.

* Add support for bidderRequest.refererInfo in Adhese Adapter.

* Jira AD-2462 / add tlall is consent string is present

* Added 'adhese' attribute to bid that contains meta data - Jira AD-2642

* added DALE to adhese determination

* extra config option: no format, but use size array as format string

* Added more values to originData

* Revert "Added more values to originData"

This reverts commit 57f003318cfb7dc2f9d1a97015a7639823b181a6.

* Pulled Sander's changes & added more data to originData

* Adhese bid adapter - final version

* add origin and originInstance

make ad.origin and ad.originInstance

* add id5 id to request as x5

* Add support for bidderRequest.refererInfo in Adhese Adapter.

* added DALE to adhese determination

* updated tests to include new fields

* Added test for ID5 id

Co-authored-by: Mateusz Michalowski <[email protected]>
Co-authored-by: Mateusz Michalowski <[email protected]>
Co-authored-by: Tim Sturtewagen <[email protected]>
Co-authored-by: Kim Van Crombrugge <[email protected]>
Co-authored-by: Sander <[email protected]>
Co-authored-by: westerschmal <[email protected]>

* Added keywords parameter to TheMediaGrid Bid Adapter (#5353)

* Added TheMediaGridNM Bid Adapter

* Updated required params for TheMediaGridNM Bid Adapter

* Update TheMediGridNM Bid Adapter

* Fix tests for TheMediaGridNM Bid Adapter

* Fixes after review for TheMediaGridNM Bid Adapter

* Add support of multi-format in TheMediaGrid Bid Adapter

* Update sync url for grid and gridNM Bid Adapters

* TheMediaGrid Bid Adapter: added keywords adUnit parameter

* Update TheMediaGrid Bid Adapter to support keywords from config

* Apply some updates to Valueimpression bid adapter (#5356)

- Update new adapter endpoint & usersync url
- Use window.top instead window object
- Use bidRequest.referrerInfo object to get page url, referrer
- Tracking ad position by size called targetKey

* GumGum: removes deprecated banner sizes default (#5372)

* uses encodeURIComponent inline

* adds test for jcsi param

* adds request delay depending on previous response

* adds inVideo param

* removes deprecated bidRequest.sizes

* UserId SharedId submodule (#5315)

* Adding sharedid submodule

* Updating with Shared ID Module

* SharedID test and sharedid eids

* Shared ID md changes

* Shared ID md changes

* Shared ID changes

* Apply suggestions from code review

Co-Authored-By: Brad Rodriguez <[email protected]>

* Applying review suggestions

* Apply suggestions from code review

Co-Authored-By: Brad Rodriguez <[email protected]>

* Reformatting and reorganizing sharedId submodule

* Reformatting and reorganizing sharedId submodule

* Shared Id generation changes

* Adding cookie Sync

* Decode and sync cookie

* Updating endpoint

* Updaitng eids.md

* Configured sync

* Refactor and md update

* Refactoring

* Refactoring

* Updating sync to seconds

* Updating configuration

* Reformatting

* Reformatting

* Reformatting

* Fixing review comments

* Changes to id value

* Updating documentation

* Documentation update

* Resolving merge conflicts

* updating userid_example.html

* Fixing review comments on test to separate sharedid opt out tests

* Moving sharedID generation within sharedId module

* Moving sharedID generation within sharedId module

Co-authored-by: skocheri <[email protected]>
Co-authored-by: Brad Rodriguez <[email protected]>

* Freewheel - Converted the ComponentId property to be 'prebid' in request (#5320)

* freewheel-ssp fix issue on playerSize of bidRequest

* freewheel add dealId property in bidResponse

* freewheel convert ComponentID to 'prebid' in request

* freewheel add new parameter 'componentSubId' in request

* Marsmedia & videofy adapters - Add onTimeout & onSetTargeting (#5352)

* Change publisherId to zoneId
Add gdpr
Add supply chain
Add video media type

* Remove comments

* Fix unit test coverage

* fix request id bug
add vastXml to video response

* Remove bid response default sizes

* Change endpoint url

* Add unit test for vastXml

* Change end point

* Remove trailing-space

* Add onBidWon function

* New adapter - videofy

* Marsmedia & Videofy - Add onTimeout onSetTargeting

* Create sendbeacon function

* PubMatic bid adapter to support price floors module (#5387)

* added support for pubcommon, digitrust, id5id

* added support for IdentityLink

* changed the source for id5

* added unit test cases

* changed source param for identityLink

* added support for floors module

* using floorModule to set floor

* removed commented console.log statements

* Triplelift Adaptor: Use Floors Module (#5329)

* access floor from floors module

* int -> float and null check

* let -> const

* appnexusBidAdapter - fix video params (#5394)

* appnexusBidAdapter - fix video params

* remove mimes field

* PubMatic adds support for bidUserIdAsEids (#5397)

* added support for pubcommon, digitrust, id5id

* added support for IdentityLink

* changed the source for id5

* added unit test cases

* changed source param for identityLink

* id value should be string only

* id value should be string; changed test data

* pubmatic using userIdAsEids

commented unnecessary code
PubMatic will no longer read Digitrust from config or independent library setup
PubMatic will no loner read TTDID from config or independent library setup

* chnages in test cases for userIdAsEids

commented unnecessary test cases
PubMatic will no longer read Digitrust from config or independent library setup
PubMatic will no loner read TTDID from config or independent library setup

* deleted commented code and test cases

* deleted a commented line

* lint effect

* External ids (#5351)

* externalIds (SIM-657) Added external ids and associated unit test.

* externalIds - Added DEFAULT_PARAMS_WITH_EIDS that contains the external id information for the unit test

* externalIds (SIM-657) uses createEidsArray found in the eid.js

* externalIds cleanup spaces and tabs, adding a missing import for createEids in eids.js

* externalIds adding a space where it is needed to fix a wonderful test.

* 33Across: CCPA Compliance + Schain support (#5365)

* check gdpr in buildRequest

* User sync based on whether gdpr applies or not

* check if consent data exists during user sync

* split user sync into further branches: 1) when gdpr does not apply 2) when consent data is unavailable

* contribute viewability to ttxRequest

* update tests

* remove window mock from tests

* use local variables

* introduce ServerRequestBuilder

* add withOptions() method to ServerRequestBuilder

* add semicolons

* sync up package-lock.json with upstream/master

* stub window.top in tests

* introduce getTopWindowSize() for test purpose

* reformat code

* add withSite() method to TtxRequestBuilder

add withSite() method to TtxRequestBuilder

* add isIframe() and _isViewabilityMeasurable()

* handle NON_MEASURABLE viewability in nested iframes

* consider page visibility, stub utils functions getWindowTop() and getWindowSelf()

* contribute viewability as 0 for inactive tab

* add prebidjs version to ttx request

* send caller as an array

* fix JSDoc in utils.js

* send viewability as non measurable when unable to locate target HTMLElement, add warning message

* introduce mapAdSlotPathToElementId()

* introduce getAdSlotHTMLElement(), add logging

* introduce mapAdSlotPathToElementId()

* update logging in ad unit path to element id mapping

* rephrase logging, fix tests

* update adapter documentation

* remove excessive logging

* improve logging

* revert change

* fix return of _mapAdUnitPathToElementId()

* improve logging of _mapAdUnitPathToElementId()

* do not use Array.find()

* return id once element is found

* return id once element is found

* let -> const

* Removing killswitch behavior for GDPR

* Updated comments to reflect current gdpr logic

* URI encode consent string

* Updated example site ID to help Prebid team e2e test our adapter

* send page url in ortb

* Removed redundant pageUrl default

* Restored package-log.json that mirrors prebid's repo

* Sending USP string during buildRequest

* Adding USP consent data to user sync

* add unit test for syncing without bidrequest

* Changed to uspConsent to make the connatation consistent

* Resetting adapter state in adapter after user sync rather than exposing it.

* removed console log

* Adding schain info

* remove setting empty format ext

* better tests invalid values

* removing validation of schain

* Fixed lint errors

Co-authored-by: Gleb Glushtsov <[email protected]>
Co-authored-by: Gleb Glushtsov <[email protected]>
Co-authored-by: Gleb Glushtsov <[email protected]>
Co-authored-by: Aparna Hegde <[email protected]>
Co-authored-by: Aparna Hegde <[email protected]>
Co-authored-by: Aparna Hegde <[email protected]>
Co-authored-by: Aparna Hegde <[email protected]>
Co-authored-by: Aparna Hegde <[email protected]>
Co-authored-by: Aparna Hegde <[email protected]>

* added waardex adapter (#5349)

* added waardex adapter

* removed support http from adapter

Co-authored-by: Max Shuhaliia <[email protected]>

* Add customParams to yieldlab configuration (#5374)

Customers are using custom parameters to our endpoint to use them downstream. We need a way of supporting this in prebid.

* Vidazoo Adapter: Feature/user-id (#5386)

* feat(module): multi size request

* fix getUserSyncs
added tests

* update(module): package-lock.json from master

* feat(client): add user id request support

* fix(client): lint errors

Co-authored-by: roman <[email protected]>

* LiveIntentId submodule updates (#5407)

* LiveIntentId submodule.

Bumped the live-connect-js version with changes:
- fixed the problem where userId/index.js was sending the full config on `decode`, while the docs claim it should only send `.params`
- removed the uuid lib
- removed the support for legacy LI first party cookies
- removed the redundant config parameter `providedIdentifierName`
- support for running live-connect inside of multiple wrappers

* LiveIntentId submodule.

Removed reading of non-accessible and therefore redundant code snippets

* Removed excessive config logging.

* Making the publisher id parameter optional.

* Removed unneeded check.

* 33Across: Adding floors support (#5408)

* check gdpr in buildRequest

* User sync based on whether gdpr applies or not

* check if consent data exists during user sync

* split user sync into further branches: 1) when gdpr does not apply 2) when consent data is unavailable

* contribute viewability to ttxRequest

* update tests

* remove window mock from tests

* use local variables

* introduce ServerRequestBuilder

* add withOptions() method to ServerRequestBuilder

* add semicolons

* sync up package-lock.json with upstream/master

* stub window.top in tests

* introduce getTopWindowSize() for test purpose

* reformat code

* add withSite() method to TtxRequestBuilder

add withSite() method to TtxRequestBuilder

* add isIframe() and _isViewabilityMeasurable()

* handle NON_MEASURABLE viewability in nested iframes

* consider page visibility, stub utils functions getWindowTop() and getWindowSelf()

* contribute viewability as 0 for inactive tab

* add prebidjs version to ttx request

* send caller as an array

* fix JSDoc in utils.js

* send viewability as non measurable when unable to locate target HTMLElement, add warning message

* introduce mapAdSlotPathToElementId()

* introduce getAdSlotHTMLElement(), add logging

* introduce mapAdSlotPathToElementId()

* update logging in ad unit path to element id mapping

* rephrase logging, fix tests

* update adapter documentation

* remove excessive logging

* improve logging

* revert change

* fix return of _mapAdUnitPathToElementId()

* improve logging of _mapAdUnitPathToElementId()

* do not use Array.find()

* return id once element is found

* return id once element is found

* let -> const

* Removing killswitch behavior for GDPR

* Updated comments to reflect current gdpr logic

* URI encode consent string

* Updated example site ID to help Prebid team e2e test our adapter

* send page url in ortb

* Removed redundant pageUrl default

* Restored package-log.json that mirrors prebid's repo

* Sending USP string during buildRequest

* Adding USP consent data to user sync

* add unit test for syncing without bidrequest

* Changed to uspConsent to make the connatation consistent

* Resetting adapter state in adapter after user sync rather than exposing it.

* removed console log

* Adding schain info

* remove setting empty format ext

* better tests invalid values

* removing validation of schain

* Fixed lint errors

* First cut for bidfloors support

* fixed where getFloors is read

* fixed merge conflicts

Co-authored-by: Gleb Glushtsov <[email protected]>
Co-authored-by: Gleb Glushtsov <[email protected]>
Co-authored-by: Gleb Glushtsov <[email protected]>
Co-authored-by: Aparna Hegde <[email protected]>
Co-authored-by: Aparna Hegde <[email protected]>
Co-authored-by: Aparna Hegde <[email protected]>
Co-authored-by: Aparna Hegde <[email protected]>
Co-authored-by: Aparna Hegde <[email protected]>
Co-authored-by: Aparna Hegde <[email protected]>

* Vidazoo Adapter: Feature/screen-size (#5385)

* feat(module): multi size request

* fix getUserSyncs
added tests

* update(module): package-lock.json from master

* feat(client): add screen resolution as request param

* feat(client): add `res` param to spec

* fix(client): screen size inside test

Co-authored-by: roman <[email protected]>

* Appier: add support for aliases (#5392)

* Add initial partial implementation for Appier bidder adapter.

* Use relative protocol for bidder API url.

* Handle server response for Appier adapter and add related unit tests.

* Support farm-specific prebid server and allow overriding the server with setConfig().

* Add doc for Appier bid adapter.

* Fix const correctness.

* Append requestId to the beacon image URL of Appier adapter to reduce the risks of being cached by proxy servers or browsers.

* Send bidderRequest.refererInfo to Appier bidder server.

* Remove the show beacon since now we generate it in the backend server.

* Only generate a show beacon url if it's not provided by the backend.

* Add version information for Appier adapter using semver (starts from 1.0.0).

* Add a new adapter for Appier bidder.

* Add a new adapter for Appier bidder.

* add appier analyticsAdapter skeleton.

* update initial working version.

* refactor and remove debug messages.

* fix config checking logic.

* implement bidAdjustment and add timeout before send event.

* unify cache operation into cacheManager to avoid direct key/value operation.

* Update server name.

* correct currency impl and message payload. remove unused debug messages.

* update var naming.

* rename creative vars. cleanup comments.

* add test cases for AnalyticsAdapter.

* update test specs file.

* remove spec from main branch.

* add unit tests for AnalyticsAdapter, #1 - Happy cases.

* refactor tests.

* update unit tests for AnalyticsAdapter.

* add tests for bid-adjusted, bid-timeout events

* fix bid adjustment test case.

* add nobid case in analytics unit test.

* add test case for delayed bids and prebidWon messages.

* Use logInfo and logError utilility functions instead of console.log() to print debug messages.

* handle timeout status message correctly.

* correct isTimeout setting logic and test cases.

* replace for...of by array.forEach for IE11

* apply auto formatter.

* refactor: extract timeout logic to a helper function

* tag analytic version with 0.1.0-beta for iCook release

* Re-implement the appier analytics adapter with a simpler design and correctly handle timeouts.

* Remove unused variables.

* Rename methods to improve consistency.

* Code cleanup: rename methods and avoid duplicated code.

* Fix wrong bid response data caused by non-deterministic event ordering of prebid.js.

* Send bid message immediately on auction end without delay.

* add withCredentials in ajax call to get client cookie.

* Fix broken unit test for appier analytic adapter.

* add prediction id support.

* update predictionId/configId format in tests.

* Init refined appier analytics testing

* hotfix: appier analytics support browserstack bug

* feat: add aliases

Co-authored-by: Hong Jen-Yee (PCMan) <[email protected]>
Co-authored-by: Yuan-Hung Huang <[email protected]>
Co-authored-by: kdchang <[email protected]>
Co-authored-by: chih-ping-weng <[email protected]>

* Add GMOSSP Adapter (#5377)

* Add GMOSSP Adapter

* fix test param

* Vidazoo Adapter: Feature/unit code (#5413)

* feat(module): multi size request

* fix getUserSyncs
added tests

* update(module): package-lock.json from master

* feat(client): send adUnitCode on request payload

Co-authored-by: roman <[email protected]>

* Sovrn - Update Supported ID's, include adunitcode in ad request (#5403)

* added tdid and ad-unit-code

* fixed tdid

* removed digitrust

* repush

* add package-lock from upstream  master

* Delete package-lock.json

* add package-lock from upstream  master

Co-authored-by: Ankit Prakash <[email protected]>
Co-authored-by: Wesley Whitney <[email protected]>
Co-authored-by: John Rosendahl <jrosendahl@gmailcom>

* [Synacormedia] adapter should use format for multi-size banner requests (#5410)

* CAP-1614 - updated docs to show correct size for banner and some other small fixes

* CAP-1636 support schain object in prebid

* CAP-1636 updated the review comments

* CAP-1849 - split up banner and video impressions to use format

Co-authored-by: Corey Kress <[email protected]>
Co-authored-by: Rajkumar Natarajan <[email protected]>

* Improve Digital: adapter improvements (#5399)

* Improve Digital: CCPA support

* Outstream video support

* Lint fixes

* Improve Digital: outstream and deal improvements

* Ayl gdp rdefault value (#5391)

* Remove useless bidderCode in bid response

* send all the available sizes in the bid request

* Use the banner sizes if given

* avoid compatibility issue with old bid format

* Remove gdpr default apply value

* minor: use better variable name

* Add unit test on unspecified gdprApplies

Co-authored-by: Guillaume <[email protected]>

* Price floors new schema support AB Test (#5390)

* Price floors new schema support AB Test

* Add new serve-fast command + lint fix

* update comment

* Only sum up modelWeights once and set as prop!

Fix minor bug in handleFetchResponse to overwrite skipRate

* Prebid 3.24.0 Release

* Increment pre version

* Removing Digitrust related test case for PubMatic bidder (#5426)

* added support for pubcommon, digitrust, id5id

* added support for IdentityLink

* changed the source for id5

* added unit test cases

* changed source param for identityLink

* removed digitrust test case

* CCPA modifications in the NextRoll adapter (#5409)

* Add native support

* Add response testing

* DRY test

* Change required from bool to int

* Set mediaType

* Fixes objects

* Fixes object access

* Remove ad property, only set it for banner

* Update tests

* Moving hardcoding values to constants

* Update docs with native information

* Revert "Add native support"

* Getting rid of CCPA adapter validation (#9)

* fix linter errors (#10)

Co-authored-by: Ricardo Azpeitia Pimentel <[email protected]>
Co-authored-by: Abimael Martinez <[email protected]>

* Add Render RichAudience Adapter (#5357)

* Add Render RichAudience Adapter

* Update richaudienceBidAdapter.md & Add Try/Catch

Co-authored-by: sgimenez <[email protected]>

* Mediasquare: Add support for uspConsent + schain userIds support. Plu… (#5396)

* Mediasquare: Add support for uspConsent + schain userIds support. Plus enhance userSync

* fix iframeEnabled and pixelEnabled + suggested shortand statement

* upgrade id5IdSystem to use v2 of our fetch endpoint (#5406)

- allow publishers to pass deterministic signals
- add a counter to provide analytics on the number of auctions using the id5Id

* Add tradedesk user id to appnexus adapter (#5346)

* Add tradedesk id support

* Updating appnexus payload for criteo

Co-authored-by: Jaimin Panchal <[email protected]>

* Add TCF2 Support for Invibes (#5378)

* added tcf 2.0

* Updated adapter to support gdprEnforcement

* reverted storage manager initialization

Co-authored-by: florin_nedelcu_invibes <[email protected]>

* add AMX adapter (#5383)

* remove onBidWon callback from adapter (#5414)

* orbidder adapter: add withCredentials:true header to BidRequest and onBidWon Requests

* add blank in order to trigger build again

* remove blank to trigger build ... again

* adding extra line to trigger build ... again

* add prebid version to request

* add unit test for version parameter

* add version parameter to win requests

* fix comment

* trigger rebuild

* trigger rebuild

* remove onBidWon callback from adapter

Co-authored-by: Volk, Rainer <[email protected]>
Co-authored-by: RainerVolk4014 <[email protected]>
Co-authored-by: siggi-otto <[email protected]>
Co-authored-by: Hendrik Iseke <[email protected]>
Co-authored-by: Hendrik Iseke <[email protected]>
Co-authored-by: rvolk <>

* Make default s2s ttl configurable (#5419)

* make default s2s ttl configurable

* Conversant: update prebid url (#5441)

* Updating Conversant bid adapter URL to new 'cvx'

* Updating Conversant bid adapter URL to new 'cvx' - updating tests to match

* Updating Conversant bid adapter URL to new 'cvx':
rolling back package-lock.json to avoid conflict

* Update padsquad for meta.advertiserDomains (#5439)

* Update padsquadBidAdapter_spec.js

* Update padsquadBidAdapter.js

* Update padsquadBidAdapter.js

* ATS-identityLinkId - add additional info logging events (#5442)

* ATS-change logError to logInfo type (#5443)

* Revert "add AMX adapter (#5383)" (#5455)

This reverts commit d8e5796827a46455185292e4a498628ecdb09bc6.

* Inskin Bid adapter small changes (#5373)

* Add plr_AdSlot parameter needed by Inskin Pagescroll ad format

* Send additional TCF related information to Inskin's ad server

* Fixed linting issues.

* Added unit tests

* Vidazoo Adapter: Feature/subdomain (#5446)

* feat(module): multi size request

* fix getUserSyncs
added tests

* update(module): package-lock.json from master

* feat(client): optional server subdomain

* refactor(client): remove unused LOCs

* fix(client): lint issues

Co-authored-by: roman <[email protected]>

* proxistore bid adapter: delay request to server by 5 min if there were no bids (#5379)

* delay request to server by 5 min if we no ads

* fix testing issue

* use storeManager.js

* change var to const

* add unit test

* remove line and check if user authorizes use of local storage

* adform and adformOpenRTB bid adapters: Added support for userId modules (#5425)

* adformBidAdapter - added userId module support

* adformOpenRTBBidAdapter - added userId module support

* Vidazoo Adapter: Feature/bidder-version (#5384)

* feat(module): multi size request

* fix getUserSyncs
added tests

* update(module): package-lock.json from master

* feat(client): add bidder and prebid versions to request params

* fix(client): lint quotes error

Co-authored-by: roman <[email protected]>

* onetagBidAdapter: outstream support (#5435)

* Added full outstream support with onetag renderer, updated request parameters

* Code updates

* Fixies outstream

* Removed wrong pixel calls, code refactoring

* Corregge funzione di calcolo coordinate spazio

* Migliora leggibilità funzione estrazione info pagina

* Fix space coordinates

* Adds bidRequest data

* Updated function interpretResponse

* Minor bug fixing

* Fixes body.scrollHeight call

* Removes Object.assign occurrence

* Updates test fi…
@ACannuniRP
Copy link
Contributor

ACannuniRP commented Nov 12, 2020

Hi @jeremiegirault ,
I executed some test to check if I could upgrade the version of Prebid.js on some website and I found that this commit breaks the renderer I use for skin. The renderer is https://github.com/AntoineJac/prebidSkin and it is hosted at this address.
In particular I see the following issue in the console:
Error
Would you have any idea why this is happening?
Thanks

@jeremiegirault
Copy link
Contributor Author

@ACannuniRP Hello I think that there is a trick because the actual rendering closure is bound to render context (.bind(this))
I see the error skinOverlay is not defined
I noticed that in your tests: https://github.com/AntoineJac/prebidSkin/blob/a0e21681a1a9c0a6bb45c06ecde3e49910ab7888/test/Stomp.html#L127
you use skinOverlay using implicit context which may not be window because of some arrow that is actually bound to the render context.

you can try using window.skinOverlay in your test to use the global context explicitely

@ACannuniRP
Copy link
Contributor

Hi @jeremiegirault , thanks for the quick response, I changed the skinOverlay.renderAd to window.skinOverlay.renderAd and I believe that now I am step closer to the solution however I get a new error:
Error
I checked inside the script but I was unable to find any reference to renderAd as window.renderAd but only self.renderAd which is not a method of window.
Do you have any clue?

@Nicola1976
Copy link

Hi,
we need to deliver a skin with the renderer method.

We use prebid 4.0.0 and it seems the library prebidSkin.js (https://github.com/AntoineJac/prebidSkin) doesn't work on this version.

Is there an alternative way to handle skin formats with this library with recent prebid version?

@jeremiegirault
Copy link
Contributor Author

I managed to render skins properly with latest prebid versions.

Maybe you could setup a breakpoint on the error and see what the call stack looks like when the error is triggered ?
Look at which variable your callback performing renderAd on and in which callback is it done,
that will help you know what's your current context and where your variable are.

@ACannuniRP
Copy link
Contributor

Hi @jeremiegirault ,
I am using this simple page for testing:

<html>

    <head>
        <link rel="icon" type="image/png" href="/m-symbol-purple.svg">
        <script async src="//www.googletagservices.com/tag/js/gpt.js"></script>
        <script async src="/js/prebid3.21.0.js"></script>
        <script>
            var googletag = googletag || {};
            googletag.cmd = googletag.cmd || [];

            var pbjs = pbjs || {};
            pbjs.que = pbjs.que || [];
        </script>
        <script>
            var PREBID_TIMEOUT = 2500;
            var FAILSAFE_TIMEOUT = 3000;

            // Rubicon Project Ad Unit
            var adUnitCodeBanner = "/networkcod/adunitcode";

            var adSlots = [];

            var adUnits = [
                {
                    code: adUnitCodeBanner, // Ad Unit
                    mediaTypes: {
                        banner: {
                            sizes: [[1800,1000]],   // Sizes being served to that ad unit
                        }
                    },
                    renderer: {
                        url: 'https://secure-assets.rubiconproject.com/utils/prebidSkin/prebidSkin.js',
                        render: function(prebidBid) {
                            window.skinOverlay.renderAd({
                                fullBids: prebidBid,                    // required, please don't edit or change!
                                insertionMarker: "body",       // required, #div, .class or body where you want to insert skin                       
                                contentWidthMarker: "#div-1",    // required, #div, .class or body matching the size of the content
                                insertionType: "ratio",                 // required, try resize or ratio 
                                maxRatio: 0.9,                          // optional, use with insertionType ratio and define maximum ratio scale
                                header_height: "250",                   // optional
                                creativeWidth: "1800",                  // optional
                                targetScroll: true,                     // optional, scrollable or not
                                custom_style_iframe: "",                // optional if display not correct 
                                custom_style_page: "",                  // optional if display not correct
                                iframe_url: "",                         // optional
                                click_url:"https://testAntoine.fr",     // optional
                                debug: false                            // optional
                            });
                        }
                    },
                    bids: [{
                        bidder: 'rubicon',
                        params: {
                            accountId: 1001,    // Publisher's account ID in Rubicon
                            siteId: 1000,       // Site ID
                            zoneId: 21325       // Zone ID
                        }
                    }]
                }
            ];

            // ======== DO NOT EDIT BELOW THIS LINE =========== //
            googletag.cmd.push(function() {
                googletag.pubads().disableInitialLoad();
            });

            pbjs.que.push(function() {
                pbjs.setConfig({
                    debug: true
                });

                pbjs.addAdUnits(adUnits);

                pbjs.requestBids({
                    bidsBackHandler: initAdserver,
                    timeout: PREBID_TIMEOUT
                });
            });

            function initAdserver() {
                if (pbjs.initAdserverSet) return;
                pbjs.initAdserverSet = true;
                googletag.cmd.push(function() {
                    pbjs.que.push(function() {
                        pbjs.setTargetingForGPTAsync();
                        googletag.pubads().refresh();
                    });
                });
            }

            // in case PBJS doesn't load
            setTimeout(function() {
                initAdserver();
            }, FAILSAFE_TIMEOUT);

            googletag.cmd.push(function() {
                adSlots.push(googletag.defineSlot(adUnitCodeBanner, [300, 250], 'div-1').addService(googletag.pubads()));
                googletag.pubads().enableSingleRequest();
                googletag.enableServices();
            });
        </script>
    </head>
    <body>
        <h2>Basic Skin Example</h2>
        <h5>Div-1</h5>
        <div id="div-1" style="width:800px; margin-left: auto; margin-right: auto;">Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer pulvinar turpis a odio imperdiet faucibus. Quisque vestibulum porttitor enim ac tristique. Aliquam feugiat ipsum id justo aliquam laoreet. Quisque vulputate a purus in tincidunt. Etiam in mauris euismod, egestas nibh a, accumsan odio. Donec rhoncus porta risus ut interdum. Nulla ultricies quis sem vitae fermentum. Cras blandit est ut tincidunt porta. Suspendisse diam justo, tempus vel ultricies et, pulvinar eu ex.<br>
        <br>
        Maecenas ultricies tincidunt sollicitudin. Duis eget tristique purus. Fusce ullamcorper tristique mollis. Integer ac ligula ut libero luctus congue eu ut nulla. Fusce venenatis metus ac urna varius, ac ultricies magna venenatis. Nam at nibh eget lectus lacinia gravida. Sed vitae ipsum eget ipsum sagittis feugiat. Donec luctus ante quis enim luctus, a convallis mi laoreet. Vivamus sodales eleifend ipsum feugiat cursus. In lorem quam, molestie in purus eu, venenatis iaculis odio. Quisque augue tortor, molestie sed cursus nec, vehicula ut enim. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer suscipit consequat feugiat. Etiam at neque at magna convallis blandit. Aenean aliquam efficitur venenatis. Nulla cursus libero sed tincidunt consectetur.<br>
        <br>
        Maecenas id ornare ex, sed consectetur lacus. Praesent et nunc lacus. Proin sed risus quam. Suspendisse aliquet, massa sit amet rutrum consequat, tortor dui luctus risus, a aliquet ipsum ipsum sit amet tortor. Aliquam venenatis tellus ac dignissim convallis. Curabitur eleifend justo a magna iaculis facilisis. Sed non fringilla nisl. Vivamus commodo id risus non varius. Vivamus posuere ex ornare ipsum varius, sed faucibus nibh efficitur. Curabitur tempor nulla semper magna dignissim, at ultricies urna posuere. Maecenas non nisi mollis, porttitor nibh sed, porta nisi. Sed in mi at nunc dictum lacinia. Aenean a euismod dolor, faucibus tristique sem. Mauris finibus diam vitae nulla ornare, rhoncus mollis ante pharetra. Aenean vestibulum leo feugiat, convallis lacus in, pretium ipsum. Vestibulum tellus mauris, congue et libero vel, convallis rutrum mi.<br>
        <br>Suspendisse potenti. Nam nec imperdiet neque, bibendum sodales massa. Fusce blandit ante quis aliquet vulputate. Cras et turpis ipsum. Etiam in venenatis est, id egestas lectus. Aliquam lacus nulla, fringilla sed neque vitae, feugiat vestibulum tortor. Suspendisse fermentum ullamcorper egestas. Sed vitae pulvinar sem. Aliquam erat volutpat. Donec elementum erat eu vestibulum vulputate.<br>
        <br>Aliquam suscipit mollis ligula eu consectetur. Nulla facilisi. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia curae; Praesent eu lectus congue, mollis tortor id, accumsan magna. Mauris lacinia in magna at sagittis. Donec et sem id nibh egestas accumsan id a nisl. Nunc ac metus in mauris porta tincidunt.<br>
        <br>Nulla quis congue velit, nec elementum metus. Cras dictum nibh dolor, eu malesuada odio varius nec. Suspendisse cursus semper nisi, vel bibendum nulla sollicitudin vitae. Nunc non quam eros. Pellentesque non ligula eget velit ultrices mollis quis at felis. Donec ac tortor velit. Sed condimentum sapien porttitor nunc sollicitudin, a elementum urna pharetra.<br>
        <br>Suspendisse finibus porta tellus eu vehicula. Etiam fringilla lacus sed mattis maximus. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Duis tempor augue dui, porttitor maximus velit volutpat et. Aliquam vel dolor neque. Sed porttitor vitae metus ac malesuada. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia curae; Fusce venenatis sit amet tortor in gravida. Interdum et malesuada fames ac ante ipsum primis in faucibus. Donec nec leo lacinia, aliquam eros sit amet, blandit felis. Fusce eu nisl id neque scelerisque ornare non et orci.<br>
        <br>Duis iaculis ornare neque a feugiat. Vivamus nec turpis sit amet justo efficitur convallis vel vehicula mauris. Aenean est tortor, ullamcorper vitae odio ut, sodales vehicula purus. Proin dignissim elit sed malesuada mollis. Morbi mollis varius dolor eu imperdiet. Aliquam euismod scelerisque felis et tempor. Nulla finibus nibh ac est malesuada aliquet. Nulla mauris ligula, mollis eu turpis sit amet, volutpat lobortis purus. Ut at risus a nisi rutrum fringilla. Ut felis neque, sodales sed elit id, rhoncus euismod turpis. Etiam nulla dolor, elementum in velit et, pulvinar pretium nisl. Sed accumsan placerat volutpat. Mauris fermentum sem sed ex euismod, ut gravida orci vehicula. Vivamus purus odio, vulputate malesuada viverra in, fringilla vel justo. Aliquam sollicitudin ut nisi vel dictum.<br>
        <br>Nam at lorem mauris. Suspendisse efficitur urna nec eros convallis fringilla. Sed risus nisl, dignissim tristique erat ac, ultrices lacinia turpis. Sed efficitur consequat magna sit amet ullamcorper. Suspendisse commodo iaculis molestie. In non dolor auctor, lobortis velit quis, vehicula lectus. Donec gravida elit a nunc molestie, eget condimentum quam laoreet. Morbi a lectus aliquet, condimentum ante quis, fringilla ligula. Maecenas sem dolor, imperdiet a diam id, elementum iaculis tellus. Phasellus pellentesque velit lorem. Sed efficitur laoreet libero nec sagittis. Aenean in pretium lectus, ut volutpat ligula. Curabitur tempor id augue in cursus. Vestibulum congue faucibus pharetra. Donec in nunc ac enim ornare mattis id sed dui. Aliquam accumsan, velit vitae convallis dapibus, turpis velit mattis massa, a gravida urna ante id justo.<br>
        <br>Mauris ac erat quis ante luctus tempor. Quisque luctus feugiat enim, in porta metus rhoncus eget. Nunc feugiat feugiat neque eu luctus. Nulla facilisi. Sed orci lacus, ullamcorper sed massa vel, sagittis vulputate ex. Nullam tristique erat non mauris molestie, sed facilisis nibh interdum. Aliquam pellentesque justo velit, sit amet faucibus ipsum ultrices laoreet. Proin ut volutpat ex, in vulputate nunc. Aliquam leo felis, sollicitudin sit amet sagittis non, malesuada et libero. Sed diam justo, porta sed maximus a, lobortis sit amet magna. Quisque convallis a libero eu consequat.</div>
    </body>
</html>

and looking at the error I can see that the error is happening in the prebid.js library itself. Does it require any change? I can open an issue for it.
Thanks!

@jeremiegirault
Copy link
Contributor Author

Hello, I'll take a look at this setup and check how this works

@ACannuniRP
Copy link
Contributor

Hi @jeremiegirault ,
I discovered that the reason why it is not working is because the render function is firing before the payload of the JS file indicated at the url property is loaded. This means that the window.skinOverlay is not yet present (undefined).
I inserted a loop that checks each second if the window.skinOverlay object is different from undefined and if it is undefined, it waits for 1 second and then retries: this is not ideal though.
Shouldn't the renderer closure be executed only when the library at the url property is fully loaded? This was the previous behaviour but something changed.

@jeremiegirault
Copy link
Contributor Author

Hello @ACannuniRP I understand the issue I'll try to make a PR today

@jeremiegirault
Copy link
Contributor Author

jeremiegirault commented Mar 16, 2021

Hello @ACannuniRP actually while reviewing the code I noticed this line =>

https://github.com/prebid/Prebid.js/pull/5235/files#diff-90937887472b7d0367b505c38b518652605059f790d9eddf6fa16c9971f7718fR50

with the comment // _render is expected to use push as appropriate

You can solve your own issue using this.push inside the render function:

renderer: {
  url: 'https://secure-assets.rubiconproject.com/utils/prebidSkin/prebidSkin.js',
  render: function(prebidBid) {
    this.push(() => { // use .push to make sure that the script is loaded
      window.skinOverlay.renderAd({
        fullBids: prebidBid,                    // required, please don't edit or change!
        insertionMarker: "body",       // required, #div, .class or body where you want to insert skin                       
        contentWidthMarker: "#div-1",    // required, #div, .class or body matching the size of the content
        insertionType: "ratio",                 // required, try resize or ratio 
        maxRatio: 0.9,                          // optional, use with insertionType ratio and define maximum ratio scale
        header_height: "250",                   // optional
        creativeWidth: "1800",                  // optional
        targetScroll: true,                     // optional, scrollable or not
        custom_style_iframe: "",                // optional if display not correct 
        custom_style_page: "",                  // optional if display not correct
        iframe_url: "",                         // optional
        click_url:"https://testAntoine.fr",     // optional
        debug: false                            // optional
      });
    }
  }
},

However I can make sure that render is called after script is loaded in case a script url is provided

@jeremiegirault
Copy link
Contributor Author

@ACannuniRP for cross referencing => #6422

@ACannuniRP
Copy link
Contributor

Hi @jeremiegirault ,
I confirm that nesting the renderer closure inside this.push() solves my issue. Thanks for looking into this: it was not evident to me from the source code.

pm-manasi-moghe added a commit to PubMatic-OpenWrap/Prebid.js that referenced this pull request Jun 6, 2022
…ease ignore it (#533)

* Server side syncup in accordance with latest filter settings

* Support for Eids in PubMaticServerBidAdapter

* Fix for pubCommonId

* Fix for pubmatic server bid adapter

* fix for player size and considering w & h for video

* automate-creation of modules.json file

* Fixed test issues

* automate-creation of modules.json file

* fix test cases

* Pull changes for dspid and seatid from prebid master

* Support for buyerId

* Updated location of buyid

* automate-creation of modules.json file

* Changes for consuming targeting from server side

* Fix test cases

* Updated rubiconBidAdapter for alias

* adding sspId

* UOE-5262 : OpenWrap: Add Secondary Ad Generation Bidder

* bluebillywig outstream renderer

* Fix an issue with replacing Renderer

* Replaced Renderee

* code review comments

* OpenWrap v21.0.0 Stable Release (#416)

* Increment pre version

* circleci enable pipelines (#5119)

Co-authored-by: sumit sharma <[email protected]>

* remove user syncs, fix ccpa approach, and encode brackets and curly braces (#5177)

Co-authored-by: Melody Li <[email protected]>

* Fix e2e tests (#5183)

* update mock requests

* update mutiple bidders request

Co-authored-by: sumit sharma <[email protected]>

* Add Quantumdex Bid Adapter (#5170)

* Add Quantumdex Bid Adapter

Add Quantumdex Bid Adapter

* Update quantumdexBidAdapter.js, quantumdexBidAdapter_spec.js

* Update quantumdexBidAdapter.md

* Update quantumdexBidAdapter.md

* Update quantumdexBidAdapter.js

* Update quantumdexBidAdapter.js

* Update quantumdexBidAdapter.js

* Admixer Bid Adapter add consent support (#5169)

* add gdpr and usp

Co-authored-by: atkachov <[email protected]>

* DeepIntent: Gdpr support (#5147)

* feat(gdpr) : gdpr support added

* tests fixed

* New Adprime bidder adapter (#5172)

* initial

* fix

* remove redundant language mod, use player sizes in video traff

* test modify

* fix

* Adding Tests

Co-authored-by: Aigolkin1991 <[email protected]>

* Refined the ticket-coordinator role description (#5187)

* Send debug info from adapter to external debugger (#5151)

* Livewrapped bid and analytics adapter

* Fixed some tests for browser compatibility

* Fixed some tests for browser compatibility

* Changed analytics adapter code name

* Fix double quote in debug message

* modified how gdpr is being passed

* Added support for Publisher Common ID Module

* Corrections for ttr in analytics

* ANalytics updates

* Auction start time stamp changed

* Detect recovered ad blocked requests
Make it possible to pass dynamic parameters to adapter

* Collect info on ad units receiving any valid bid

* Support for ID5
Pass metadata from adapter

* Typo in test + eids on wrong level

* Fix for Prebid 3.0

* Fix get referer

* http -> https in tests

* Native support

* Read sizes from mediatype.banner

* Revert accidental commit

* Support native data collection + minor refactorings

* Set analytics endpoint

* Support for app parameters

* Fix issue where adunits with bids were not counted on reload

* Send debug info from adapter to external debugger

* Add videoCacheKey on the bid object only if the cache url is not set (#5186)

* Add videoCacheKey on the bid object only if the cache url is not set

* Added test case for the scenario where we don't manually set the videoCacheKey on purpose when the cache url is present.

* Marsmedia - Add onBidWon function (#5175)

* Change publisherId to zoneId
Add gdpr
Add supply chain
Add video media type

* Remove comments

* Fix unit test coverage

* fix request id bug
add vastXml to video response

* Remove bid response default sizes

* Change endpoint url

* Add unit test for vastXml

* Change end point

* Remove trailing-space

* Add onBidWon function

* Updates core-js to version 3. (#4984)

* Updates core-js to version 3.

* More changes related to updating core-js to version 3

* Updated new files from master to also be compatible with core-js v3.

* Updated package-lock.json

* Revert "Updated new files from master to also be compatible with core-js v3."

This reverts commit b2ae8d93aae9eee71f2f99a276462225b96d1582.

# Conflicts:
#	modules/priceFloors.js

* Revert "Updates core-js to version 3."

This reverts commit a731dce2c5100dc78945929aa59d1fa3566ece25.

# Conflicts:
#	modules/adkernelBidAdapter.js
#	modules/audienceNetworkBidAdapter.js
#	modules/emx_digitalBidAdapter.js
#	modules/widespaceBidAdapter.js
#	package.json
#	src/config.js
#	src/userSync.js
#	src/utils.js
#	test/spec/modules/widespaceBidAdapter_spec.js

* Updated new files to core-js v3 and imports now end in .js

* Import set without .js since set is a module and not a file.

* Updated new file from master to also be compatible with core-js v3.

* Blue Billywig bid adapter (#5118)

* add Blue Billywig adapter

* Blue Billywig Adapter - update according to review feedback

* Blue Billywig Adapter - update to try and pass CircleCI

* Remove the last for .. of in bluebillywigBidAdapter.js, hopefully...

* Update bluebillywigBidAdapter test parameters to match renderer to rendererCode rename

Co-authored-by: Klaas-Jan Boon <[email protected]>

* New version of Konduit Accelerate module (#5164)

* Adding Konduit module

* Removed superfluous arguments passed to obtainVastUrl function

* Removed superfluous arguments passed to obtainVastUrl function.

* Build trigger (empty commit)

* Module documentation updated according to the comments

* Logic in obtainVastUrl function updated according to the review comment.

* Removed hook, enabled eslint

* Merged recent prebid changes

* New method is introduced to process a bid and return dynamic CPM data

* New Konduit Analytics adapter responsible for client auction stats collection

* Updated konduit analytics adapter .md file

* Fixed linter issue with more than 1 blank line used

* Use '$prebid.version$' instead of the $$PREBID_GLOBAL$$.version

* Updated unit tests

Co-authored-by: Max Shevchenko <[email protected]>
Co-authored-by: Alexander Kislitsyn <[email protected]>

* Delete audience network integration example. (#5190)

Audience Network for prebid has been removed.

* ShowHeroes - schain support (#5193)

* ITDEV-4723 PrebidJS adapter support with SupplyChain module object

* ITDEV-4723 Fix tests

* ITDEV-4723 New entry point

Co-authored-by: veranevera <[email protected]>
Co-authored-by: Elizaveta Voziyanova <[email protected]>

* Media.net adapter & analytics improvements (#5195)

Co-authored-by: vedant.s <[email protected]>

* Prebid 3.19.0 Release

* Increment pre version

* Fix pre version

* parrableIdSystem: Consume US Privacy consent data (#5197)

* Add unit coverage for parrableIdSystem getId callback

* PBID-14: Pass uspString to Parrable as us_privacy query parameter

* PBID-14: Simplify parrableIdSystem us_privacy test

* PBID-14: Only send us_privacy to Parrable when a value exists

* Remove path check from parrableIdSystem url test

* Add missing extension to mock xhr import

* Rakuten bid adapter (#5191)

* add typescript definitions

* add rakuten bid adapter

* add generated notice

* add gdpr and ccpa support to rakuten

* add typescript notice

* update default rakuten currency to USD

* fix folder name rakuten -> rakutenBidAdapter

* remove typescript types for now

* Freewheel add dealId property in bidResponse (#5200)

* freewheel-ssp fix issue on playerSize of bidRequest

* freewheel-ssp fix issue on playerSize of bidRequest

* freewheel add dealId property in bidResponse

* updating ttl variable in underdogmediaBidAdapter.js (#5220)

* Gdpr vendor exceptions (#5201)

* vendorExceptions is a global check

* two allowed vars not one duh

* PBJS RP adapter: pass integration type into video calls (#5231)

* Add microadBidAdapter

* Remove unnecessary encodeURIComponent from microadBidAdapter

* Submit Advangelists Prebid Adapter

* Submit Advangelists Prebid Adapter 1.1

* Correct procudtion endpoint for prebid

* analytics update with wrapper name

* reverted error merge

* update changed default value of netRevenue to true

* Re-add rubicon analytics without deprecated getTopWindowUrl util

* Cache referrer on auction_init instead of bid_requested

* merged remote master changes

* Include integration type in video OpenRTB requests

Co-authored-by: nakamoto <[email protected]>
Co-authored-by: Chandra Prakash <[email protected]>
Co-authored-by: Isaac Dettman <[email protected]>
Co-authored-by: Eric Harper <[email protected]>
Co-authored-by: TJ Eastmond <[email protected]>
Co-authored-by: Mark Monday <[email protected]>

* Use default native size if received size is undefined (#5192)

Co-authored-by: mi.chen <[email protected]>

* New adapter - Trendqube (#5225)

Co-authored-by: Aigolkin1991 <[email protected]>

* Roll back breaking change to utils.parseQueryStringParameters (#5230)

* Add AOL defaults for currency and creative ID until fix issued server-side

* Satisfy linter single quotes

* Roll back breaking change to utils.parseQueryStringParameters and add a better test to catch this in future

* utils.parseQueryStringParameters - add stripping of trailing ampersand to alleviate all tests amended in utils update

* One Video: Added banner support for Dynamic Ad Placement (DAP) (#5199)

* Added banner support for Dynamic Ad Placement (DAP)

* updated version number

* changed version to 3.0.2 in both adapter and tests _spec

* Added DAP Banner test for  interpretResponse & isBidRequestValid

* Updated DAP tests - video and banner validations

* updated adapter examples .md file

* Updated ternary operator for bidResponse.mediaType setting

* removing redundant display parameter validation

* Update package-lock.json

* Added support of multi-format ads in TheMediaGrid Bid Adapter (#5217)

* Added TheMediaGridNM Bid Adapter

* Updated required params for TheMediaGridNM Bid Adapter

* Update TheMediGridNM Bid Adapter

* Fix tests for TheMediaGridNM Bid Adapter

* Fixes after review for TheMediaGridNM Bid Adapter

* Add support of multi-format in TheMediaGrid Bid Adapter

* add publisherId & mediaId (#5184)

* User id fetch error (#5166)

* Update Bidder Code

* LunaMedia Adapater

LunaMedia Adapater

* Updated LunamediaBidAdapter.md test params and valid pub code for testing

* Updating User ID submodules to execute callback onError AJAX

* fix parrable test when IE

* parrable spec all messed up after merge, fixed now

Co-authored-by: Chandra Prakash <[email protected]>
Co-authored-by: trchandraprakash <[email protected]>
Co-authored-by: rmartinez <Rachael24!>

* RichAudience BidAdapter - Changes video Adapter (#5213)

* Changes video Adapter

* Update MD Richaudience

Co-authored-by: sgimenez <[email protected]>

* tribeOS change endpoint URL  (#5243)

* initial tribeOS bidder adapter commit

* initial tests for tribeOS bidder adapter

* removed unimplemented "getUserSyncs" function

* removed unimplemented "onBidWon" function

* tribeOS - change end point URL

* force commit

* Revert "tribeOS - change end point URL"

This reverts commit 680c7d4fcc5c8f72711c8b2de45c9aa2671b2bdd.

* tribeOS - change end point URL

* restore .js extensions

* fixed issue "newline required at end of file"

* LoopMe adapter: Added mediaType field into bid response (#5233)

* Automatad Bid Adapter: Update CPM sent with WinNotification (#5267)

* updated winurl params

* lint fixes

* Onevideo Adaptor -Hp param support (#5257)

* outstream changes

* removing global filtet

* reverting page

* message

* adapter change

* remove space

* testcases

* testpage

* spaces for test page

* renderer exist case

* reverting package-lock.json

* adding schain object

* adding tagid

* syntaxx error fix

* video.html

* space trailing

* space

* tagid

* inventoryId and placement

* rewarded video

* added unit test case

* comment

* hp param

* test cases

* version

* .md file

* Indention

Co-authored-by: Deepthi Neeladri Sravana <[email protected]>
Co-authored-by: Deepthi Neeladri Sravana <[email protected]>
Co-authored-by: Deepthi Neeladri Sravana <[email protected]>
Co-authored-by: Deepthi Neeladri Sravana <[email protected]>
Co-authored-by: Deepthi Neeladri Sravana <[email protected]>
Co-authored-by: Deepthi Neeladri Sravana <[email protected]>
Co-authored-by: Deepthi Neeladri Sravana <[email protected]>
Co-authored-by: Deepthi Neeladri Sravana <[email protected]>
Co-authored-by: Deepthi Neeladri Sravana <[email protected]>
Co-authored-by: Deepthi Neeladri Sravana <[email protected]>

* New bidder adapter: pubgenius (#5206)

* add bid adapter

* fix doc

* fix endpoint and add user syncs

* fix endpoint in tests

* send user id and time out

* more tests

* fix PR feedback

* add test bidder param

* send test as numeric boolean

* add comment about test bid CPM

* actually the mime type should be text/plain

* SChain support (#5272)

* Livewrapped bid and analytics adapter

* Fixed some tests for browser compatibility

* Fixed some tests for browser compatibility

* Changed analytics adapter code name

* Fix double quote in debug message

* modified how gdpr is being passed

* Added support for Publisher Common ID Module

* Corrections for ttr in analytics

* ANalytics updates

* Auction start time stamp changed

* Detect recovered ad blocked requests
Make it possible to pass dynamic parameters to adapter

* Collect info on ad units receiving any valid bid

* Support for ID5
Pass metadata from adapter

* Typo in test + eids on wrong level

* Fix for Prebid 3.0

* Fix get referer

* http -> https in tests

* Native support

* Read sizes from mediatype.banner

* Revert accidental commit

* Support native data collection + minor refactorings

* Set analytics endpoint

* Support for app parameters

* Fix issue where adunits with bids were not counted on reload

* Send debug info from adapter to external debugger

* SChain support

* clean(openxBidderAdaptor): converted video size to numbers from strings to keep consistency between banner and video. (#5240)

(cherry picked from commit bc4217b2160531ddc559dcf85b1c875588e1e9a3)

* Prebid 3.20.0 Release

* Increment pre version

* Update onBidWon method to only execute 1 url (#5238)

* Update onBidWon method to only execute 1 url

* Remove un-unsed function that onBidWon was using

* Switch onBidWon to use utils.triggerPixel so we can test how many times its being called (only want it called once)

Co-authored-by: Aziz Hussain <[email protected]>

* Added support for GDPR, COPPA, and USP (#5210)

* Added CPMStar Bid Adapter

* Updated getPlayerSize for cpmstarBidAdapter

* Improved cpmstarBidAdapter code coverage

* updated test spec, removed empty functions, made imports relative, added warnings to erroneous server responses, and removed the default value for ad in bid response.

* added test video ad unit

* added support for gdpr and coppa

* changed != undefined to != null

* changed let to var

* added unit for GDPR, COPPA, and USP.

Co-authored-by: Nicholas Elek <[email protected]>

* Stabilize Circle CI Build Job (#5208)

* run only userId module tests

* stub call to coreStorage.getCookie

* remove setCookie statement that adds nothing to the test

* Adding Edge Query X Adapter (with right md file) (#5266)

* Add files via upload

* Bug fixed

* Remove some new lines

* Correction Circle

* Test Unit

* Indent

* Indent 2 space

* Single quote

* test unit

* requestID

* Rename mb to md

* add md

* Correcting md file

* Improving gulp test to get more than 80%

* Correcting double lines

* Update package-lock.json

* Back to original lock version

* Back to original package-lock.json version

Co-authored-by: Olivier <[email protected]>

* Update Platform One Analytics Adapter (#5265)

* Added Y1 Analytics Adapter

* rename y1AnalyticsAdapter in yieldoneAnalyticsAdapter

* Yieldone Bid Adapter: fixes from lint check

* Yieldone Analytics Adapter: fix endpoint protocol

* Added spec file for yieldone Analytics Adapter

* Add adUnitName to analytics data for Yieldone Analytics Adapter

* Fix yieldone Analytics Adapter to log only id from adUnitPath

* Fix bug with timeout event in Yieldone Analytics Adapter

* Update yieldone analytics adapter to remove excess 'ad' field from data

* Update yieldone analytics adapter

* Yieldone Analytics Adapter: remove dispensable events from log

* Platform One Analytics Adapter: fixes after review

* Fix mapping data (#5271)

* update mapping data refresh logic

* add unit tests

* put parsing in try catch block

* refactor

Co-authored-by: sumit sharma <[email protected]>
Co-authored-by: sumit sharma <[email protected]>

* Add craftBidAdapter (#5260)

* Add min_duration and max_duration parameter to spotxBidAdapter (#5286)

Co-authored-by: Nick Peceniak <[email protected]>

* [rtbhouse] Add schain support (#5281)

* Fix referer (#5274)

* add relaido adapter

* remove event listener

* fixed UserSyncs and e.data

* fix conflicts

* add referer at the end of the payload

* add test

Co-authored-by: ishigami_shingo <[email protected]>

* Add keywordsparametr (#5227)

* initial

* fix

* remove redundant language mod, use player sizes in video traff

* test modify

* fix

* Adding Tests

* add keywords param

* log

* log

* log

* fix

Co-authored-by: Aigolkin1991 <[email protected]>

* Identity link id system - handle empty response (#5279)

* IdentityLinkIdSystem - handle empty response

* IdentityLinkIdSystem - add tests

* IdentityLinkIdSystem - rename describe in tests

* update bid vlues (#5301)

* Update ixBidAdapter.js (#5289)

* Update ixBidAdapter.js

If the Index adapter is aliased, this gathers the alias instead of using the hard coded 'ix' value for bidder code.

* check for existence of bidderrequest

bidderrequest object doesn't exist in the test spec; IX team may want to write a more extensive test here.

* add adWMGAnalyticsAdapter (#5261)

* add adWMGAnalyticaAdapter

adWMG Analytics is a module for collecting dynamic data and analytics acquisition developed by WMG.
It enables compiling and saving of the auction history, its results, users’ data (geo, browser, operation system).
With the access to the platform, the customer may explore the product in a preferable way.

* add file extensions to imported modules

circleci requirement

* Update unit tests and fix LGTM alerts

Update unit tests and fix LGTM alerts

* Use Prebid ajaxBuilder instead of XHR

Use Prebid ajaxBuilder instead of XHR

* fix(Renderer): load script only on render (#5235)

* Fidelity adapter: TCFv2 support, kubient alias. (#5302)

* TCFv2 support, kubient alias

* TCFv2 support, kubient alias

* Update sync url for grid and gridNM Bid Adapters (#5304)

* Added TheMediaGridNM Bid Adapter

* Updated required params for TheMediaGridNM Bid Adapter

* Update TheMediGridNM Bid Adapter

* Fix tests for TheMediaGridNM Bid Adapter

* Fixes after review for TheMediaGridNM Bid Adapter

* Add support of multi-format in TheMediaGrid Bid Adapter

* Update sync url for grid and gridNM Bid Adapters

* Gumgum add in video (#5284)

* add in-video product line

* add in-video product line

* add unit tests and fix dependencies.

Co-authored-by: Estavillo <[email protected]>

* DailyhuntBid Adapter: Add video support with Refactor/Optimizing (#5226)

* dailyhunt bidder refactor

* refactor dailyhunt bid adapter support

* native prebid server support

* video support

* native support

* win notice url support

* fix undefined object access issues

* dh bidder small bug fixes

* change endpoint

* added basic gulp test for dailyhunt

* adding test case and support for outstream

* body2 support in native request

* create md

* test mode support

* chnage endpoint to prod and remove console log

* change md

* adding accept-encoding:gzip

* chnage eslint to default

* remove array.prototype.find

* fix review changes

Co-authored-by: Mitesh Thakor <[email protected]>

* Adtelligent new features (#5203)

* Adtelligent support adpods

* Adtelligent support bid chunks

* Adtelligent support userId, schain

* Adtelligent Rename params to be supported in post

* Coppa support

* Rewritten tests

* Add param transform for aid for ServerAdapter

* Lint

* New adapter - videofy (#5259)

* Change publisherId to zoneId
Add gdpr
Add supply chain
Add video media type

* Remove comments

* Fix unit test coverage

* fix request id bug
add vastXml to video response

* Remove bid response default sizes

* Change endpoint url

* Add unit test for vastXml

* Change end point

* Remove trailing-space

* Add onBidWon function

* New adapter - videofy

* fallback to defaultGdprScope if cmp undefined (#5291)

* RTD bug fix (#5087)

* real time data module,
browsi sub module for real time data,
new hook bidsBackCallback,
fix for config unsubscribe

* change timeout&primary ad server only to auctionDelay
update docs

* support multiple providers

* change promise to callbacks
configure submodule on submodules.json

* bug fixes

* use Prebid ajax

* tests fix

* browsi real time data provider improvements

* real time data module,
browsi sub module for real time data,
new hook bidsBackCallback,
fix for config unsubscribe

* change timeout&primary ad server only to auctionDelay
update docs

* support multiple providers

* change promise to callbacks
configure submodule on submodules.json

* bug fixes

* use Prebid ajax

* tests fix

* browsi real time data provider improvements

* RTD bug fixes

* #5087 review fixes

* RTD fixes

* use core-js lib find
init googletag if needed

* adding check if gdpr module ran enforcment logic (#5178)

* adding check if gdpr module ran enforcment logic

* adding tests for new hasValidated flag

Co-authored-by: rmartinez <Rachael24!>

* Floors new signals (#5295)

* Price Floors skipRate debug by query string

Rubicon Analytics log floors skipRate

* new floor signal fetchFailed

* change fetchFailed to fetchStatus

* rubi analytics looks for fetchStatus

* change iabSubCatId name to primaryCatId (#5303)

* change iabSubCatId name to primaryCatId

* change in adapter

Co-authored-by: sumit sharma <[email protected]>

* Prebid 3.21.0 Release

* Increment pre version

* Add publisher_id to appnexus adapter (#5244)

* Add publisher_id to appnexus adapter

* update transformBidParams fn

Co-authored-by: sumit sharma <[email protected]>

* Add Onomagic Bidder Adapter (#5155)

* AdPartner bidadapter init (#5196)

* AdPartner bidadapter init

* Change endpoint path and domain

* Add mock banner for test launch

* Add mock banner for test launch

* Blue Billywig adapter - Add site config to request similarly to app config (#5273)

* add Blue Billywig adapter

* Blue Billywig Adapter - update according to review feedback

* Blue Billywig Adapter - update to try and pass CircleCI

* Remove the last for .. of in bluebillywigBidAdapter.js, hopefully...

* Update bluebillywigBidAdapter test parameters to match renderer to rendererCode rename

* Blue Billywig - Also pass through site config with OpenRTB request

Co-authored-by: Klaas-Jan Boon <[email protected]>

* remove uri-encoding (#5307)

Co-authored-by: Melody Li <[email protected]>

* Media.net improvements (#5282)

Co-authored-by: vedant.s <[email protected]>

* adWMGAnalytics - refactor unit tests (#5310)

* VIS.X: remove bidderCode from bidResponse (#5313)

* OneVideo: Excluded DAP validation for Multi-Format adUnits support (#5309)

* Excluded DAP validation if publisher is using Multi-Format adUnits

* Update package-lock.json

* refractoring of if statement to check bid.mediaTypes.video just once

* removed redundent statement

* Improvements for SizeMappingV2 (advanced size mapping) module (#5283)

* basic implementatino done

* fix indentical ad unit count bug

* modules/sizeMappingV2.js

* revert change

* add missing log message

* fix existing failing test cases

* add additional tests for function getAdUnitDetail particularly for cacheHits and instance check

* add instructive comments and rename file to advanced_size_mapping

* flatten ternary operator call

* add onBidWon function, add bidder adapter version to bid requests (#5263)

* Adtarget bid adapter (#5296)

* Adtarget frist release

* Fix

* Fix lint

* Coppa support

* Added unit tests

* revert package

* Added unit tests

* removes referencing of digitrust library (#5316)

* ucfunnel adapter update request parameter (#5278)

* Add a new ucfunnel Adapter and test page

* Add a new ucfunnel Adapter and test page

* 1. Use prebid lib in the repo to keep updated
2. Replace var with let
3. Put JSON.parse(JSON.stringify()) into try catch block

* utils.getTopWindowLocation is a function

* Change to modules from adapters

* Migrate to module design

* [Dev Fix] Remove width and height which can be got from ad unit id

* Update ucfunnelBidAdapter to fit into new spec

* Correct the endpoint. Fix the error of query string

* Add test case for ucfunnelBidAdapter

* Fix lint error

* Update version number

* Combine all checks on bid request

* Add GDPR support for ucfunnel adapter

* Add in-stream video and native support for ucfunnel adapter

* Remove demo page. Add more test cases.

* Change request method from POST to GET

* Remove unnecessary comment

* Support vastXml and vastUrl for video request

* update TTL to 30 mins

* Avoid using arrow function which is not discuraged in mocha

* ucfunnel tdid support

* ucfunnel fix error message in debug mode

* ucfunnel adapter add bidfloor parameter

* ucfunnel adapter support CCPA

* ucfunnel adapter native support clicktrackers

* ucfunnel adapter change cookie sync setting

* ucfunnel adapter update request parameter

Co-authored-by: root <[email protected]>
Co-authored-by: Ryan Chou <[email protected]>
Co-authored-by: jack.hsieh <[email protected]>

* AdxPremium Analytics - bug fixes, handling timeout, etc. (#5182)

* AdxPremium Analytics - bug fixes, handling timeout, etc.

* AdxPremium Analytics - bug fixes, handling timeout, etc.

* AdxPremium Analytics adapter update

* AdxPremium Analytics update

* unit testing added

* adxpremiumAnalyticsAdapter_spec.js

* Update Dspx adapter (#5277)

* Add gdpr_consent support for Dspx Adapter

* Add video support for dspx adapter

* Update Video Test Parameters for Dspx Adapter

* fix referrer in DSPX adapter

* Fix Description in DSPX adapter

Co-authored-by: Alexander <[email protected]>

* remove only keyword (#5324)

* PubMatic analytics documentation (#5322)

* added support for pubcommon, digitrust, id5id

* added support for IdentityLink

* changed the source for id5

* added unit test cases

* changed source param for identityLink

* simple example

* added limitations

* added contact details

* example text

* Secure creative update (#5285)

* replaced manually set secureCreative adServerDomain with automatic postMessage event.source.orgin

* using event.origin rather than event.source.origin in secureCreative postMessage()

* updated x-domain iframe render example

Co-authored-by: Eric Harper <[email protected]>

* update webdriverio and node 12 support (#5236)

* update webdriverio and node 12 support

* clean-up some commented code

* updates to supported node version and other minor updates and wording

* fix lint error

* add description files for fixtures

* Prebid 3.22.0 release

* increment pre version

* Update Usersync Url For Quantumdex bid adapter (#5327)

We have upgraded the new user cookie storage system. Where everything is gathered in one place

* fix wipesAdapter CPM culclation (#5330)

* GumGum: handling misconfigured requests (#5212)

* uses encodeURIComponent inline

* adds test for jcsi param

* adds request delay depending on previous response

* adds inVideo param

* GumGum: update jcsi object values (#5258)

* updates jcsi object

* adds test for jcsi

* fix lint

* updates due to prebid rollback

* * Add Glimpes Protocol Bidding Adaptor (#5293)

* Initial submission of adaptor

* Currently only supports Banner

* 100% code coverage from tests

* Author Tim Holmes-Mitra <[email protected]>

* fix secure protocol check for beachfront video (#5318)

Co-authored-by: John Salis <[email protected]>

* new bidder adapter: mediasquareBidAdapter (#5317)

* add adapter mediasquare

* Update mediasquareBidAdapter.md

* Update mediasquareBidAdapter.js

* test-coverage

* Update mediasquareBidAdapter.js

* Update mediasquareBidAdapter_spec.js

* Update mediasquareBidAdapter_spec.js

* Update mediasquareBidAdapter_spec.js

* Object.values unsupported by IE11

* Konduit Accelerate module with 'send all bids' support (#5247)

* Adding Konduit module

* Removed superfluous arguments passed to obtainVastUrl function

* Removed superfluous arguments passed to obtainVastUrl function.

* Build trigger (empty commit)

* Module documentation updated according to the comments

* Logic in obtainVastUrl function updated according to the review comment.

* Removed hook, enabled eslint

* Merged recent prebid changes

* New method is introduced to process a bid and return dynamic CPM data

* New Konduit Analytics adapter responsible for client auction stats collection

* Updated konduit analytics adapter .md file

* Fixed linter issue with more than 1 blank line used

* Use '$prebid.version$' instead of the $$PREBID_GLOBAL$$.version

* Updated unit tests

* Enable "Send all bids" support

* Updated konduitWrapper.md file

* Updated links in konduitWrapper.md

* Updated spec file (unit tests)

* Added Konduit Prebid module version

Co-authored-by: Max Shevchenko <[email protected]>
Co-authored-by: Alexander Kislitsyn <[email protected]>

* parrableIdSystem: Read legacy ID and optout cookies and migrate to new cookie storage implementation (#5219)

* Add unit coverage for parrableIdSystem getId callback

* PBID-14: Pass uspString to Parrable as us_privacy query parameter

* PBID-14: Simplify parrableIdSystem us_privacy test

* PBID-14: Only send us_privacy to Parrable when a value exists

* PBID-11: Read new Parrable compound cookie _parrable_id

Migrating from legacy _parrable_eid cookie. The new cookie contains ibaOptout and ccpaOptout status fields

* Remove path check from parrableIdSystem url test

* PBID-11: Integrate Parrable compound cookie, consolidating old cookies

* PBID-11: Update parrableIdSystem requestBids hook test to support compound cookie value

* PBID-11: Small refactor to parrableIdSystem spec to support compound cookie

* PBID-11: Handle legacy ibaOptout as truthy value when migrating to compound cookie

* PBID-11: Add parrableIdSystem spec tests covering migration of legacy cookies

* PBID-11: Remove storage documentation from test pages and userId module docs

* PBID-11: Remove SUBMODULES_THAT_ALWAYS_REFRESH_ID feature from userId system

* PBID-11: Use better serialize implementation for Parrable compound cookie

* PBID-11: Update parrableIdSystem interface documentation

* Add missing extension to mock xhr import

* PBID-11: Try to access eid property only when parrableId object exists

* PBID-11: Construct parrableId from legacy cookies in same manner as compound cookie

* Use hardcoded expiration date for legacy cookies

* parrableIdSystem: Relocate new unit test from upstream

* PBID-39: Fallback to cookie values when backend response is missing components

Also handle another missed callback scenario if the response object parses to nothing

* Teads adapter: Support deal targeting (#5270)

* GumGum: adds new param (#5297)

* adds in new videoPubID param

* adds test

* Avocet bid adapter (#5262)

* adds avocet bid adapter

* modules/avocetBidAdapter.js: fixes lint issues

* adds id5 support and test/code improvements

* Event updates (#5288)

* event updates

* removed char

* add comment regarding removal of hb_wiurl and hb_bidid

* optimized tests

* fix for str validation

* add test helper method to reset wurl map

* update resetWurlMap

* update test description

* optimized calls to setConfig in tests

* add timestamp to videoCache cached bid

* revert unintended change to adapterManager.js

* update imports ordering for cleaner diff

* update string validation to use isStr

* fix rename event to plural form

* update event to events in tests

* AdOcean adapter - support for sizes defined in Prebid configuration. (#5337)

* AdOcean adapter - support for multiple sizes

* AdOcean adapter - tests - use normal functions instead of arrow ones for consistency

* AdOcean adapter - support for multiple sizes - changed way of sending dimensions

* AdOcean adapter - change separator between sizes group

* AdOcean adapter - small fix in buildRequest

* Vidazoo: Feature support usp consent (#5111)

* feat(module): multi size request

* fix getUserSyncs
added tests

* update(module): package-lock.json from master

* feat(module): add usp consent support

* added uspConsent test

Co-authored-by: roman <[email protected]>

* add optional video param for tagid (#5344)

Co-authored-by: John Salis <[email protected]>

* Add module H12 Media (#5328)

* Add module H12 Media

* Add module H12 Media

* Add module H12 Media — fix gdpr info

* Add module H12 Media — fix find

* No bid version 1.2.6 (#5323)

* Enable supplyChain support

* Added support for COPPA

* - Added support for Safeframe creative.
- Added support for out-stream video.

* Changed the protocol from JSON to string because Exceptions cause a slowdown on the browser.

* Change in package.json

* Fix error

* Changed startsWidth() to indexOf()

* Fix lint error. Not sure why my gulp lint does not detect this error.

* Fix indexOf not available on IE 11

Co-authored-by: Reda Guermas <[email protected]>

* AdagioBidAdapter 2.2.2 (#5347)

* Adagio: params auto-detection

Improve user integration with auto-detection for adUnitElementId and environment params.

* Adagio: update config example in .md file

* added CCPA support, gvlid to adform and adformOpenRTB adapters (#5214)

* Native support for NextRoll adapter (#5319)

* Add native support

* Add response testing

* DRY test

* Change required from bool to int

* Set mediaType

* Fixes objects

* Fixes object access

* Remove ad property, only set it for banner

* Update tests

* Moving hardcoding values to constants

* Update docs with native information

* Adding back ZEDO adapter with changes to make it compatible to latest prebid (#5276)

* initial commit

* updated contact and tag details

* changes ti support the renderers

* changes to pass dimId

* fixed names of internal mapping

* added comment

* added gdpr param to request and other fixes

* modified api url

* fix

* fixed the secure api call

* rolled back video event callback till we support it

* updated doc with video details

* added bid won and timeout pixel

* added testcase for bid events

* modified testcase

* fixed the url logged

* tag param values passed ot renderer

* added a conditioal check

* changes to support new param to adserver for purpose of tracking

* passed param to renderer

* missing variable defined

* changes to pass schain

* fix

* added protocol to url

* fixed test for protocol

* changed urls to secure only

* fixes to make it compatible to head

* added support for ccpa

* Fixed path of find module

* Remove package.json

* updated test example with new setup

* Adding back the file

* trying to resolve conflict

Co-authored-by: Sanoska Gonsalves <[email protected]>

* Vidazoo Adapter: Feature/direct deal targeting (#5343)

* feat(module): multi size request

* fix getUserSyncs
added tests

* update(module): package-lock.json from master

* feat(client): send deal id with each request

Co-authored-by: roman <[email protected]>

* Add support for aliases (#5342)

* Support new aniview bid adapter

* Support new aniview bid adapter

* Support new aniview bid adapter

* Support new aniview bid adapter

* Fix Consent parameters

* Update aniviewBidAdapter.js

V3 support

* Update aniviewBidAdapter.js

* Update aniviewBidAdapter.js

Update refererInfo

* Update aniviewBidAdapter.js

Fix tabs and spaces

* Update aniviewBidAdapter.js

fixes

* Update aniviewBidAdapter.js

* Update aniviewBidAdapter.js

Add ccpa support

* Update aniviewBidAdapter.js

Typo

* Update aniviewBidAdapter.js

* Update aniviewBidAdapter.js

* Fix size and sample

Fixed sizes from playerSize
Updated md sample

* Fix tabs

* Fix sizes

* Recheck

* Add tgt parameter

* Update sample

* Add support for cookie sync + tests

* Add support for cookie sync + tests

* Add support for cookie sync + tests

* Support aliases

Support aliases

* Update

Update

* Fix lint

Fix lint

* Update spec

Update spec

* Fix to issue #5141 exception thrown in pbjs.requestBids when DigiTrus… (#5333)

* Fix to issue #5141 exception thrown in pbjs.requestBids when DigiTrust does not init.
Safe extract value of id or null.

* Code syntax change to overcome linter issue.

* PubMatic analytics adapter to support bidCpmAdustment values (#5354)

* added support for pubcommon, digitrust, id5id

* added support for IdentityLink

* changed the source for id5

* added unit test cases

* changed source param for identityLink

* set gross ecpm using originalCpm

* using bidGrossCpmUSD to set eg

* lint

* fixed old cases

* added some tests

* removed comments

* removed commented code , and unused import

* en related changes in test cases

* using pbjs.getHighestCpmBids, added test cases around it

* passing highestCpmBids

* fixed test cases

* added notes

* using getGlobal() instead of $$PREBID_GLOBAL$$

* Prebid 3.23.0 Release

* increment prebid version

* improveStartDelay after documentation update default value is now 1 and 0 does not exist. (#5361)

* Updating docs header info fields (#5366)

Related to https://github.com/prebid/prebid.github.io/pull/2056

* Add placement_type and position parameters to spotxBidAdapter (#5364)

* Add min_duration and max_duration parameter to spotxBidAdapter

* Add placement_type and position parameters to spotxBidAdapter

Co-authored-by: Nick Peceniak <[email protected]>

* Configurable user-sync types support (#5359)

* Delaying removal of floor data for 3 seconds (#5360)

* PBS Bid Adapter: allow setting site params (#4973)

* add site config value to oRTB request

* update to copy site.page and site.publisher.id if not defined in config site object

* Support for ID5 (#5345)

* Add support for bidderRequest.refererInfo in Adhese Adapter.

* Add support for bidderRequest.refererInfo in Adhese Adapter.

* Jira AD-2462 / add tlall is consent string is present

* Added 'adhese' attribute to bid that contains meta data - Jira AD-2642

* added DALE to adhese determination

* extra config option: no format, but use size array as format string

* Added more values to originData

* Revert "Added more values to originData"

This reverts commit 57f003318cfb7dc2f9d1a97015a7639823b181a6.

* Pulled Sander's changes & added more data to originData

* Adhese bid adapter - final version

* add origin and originInstance

make ad.origin and ad.originInstance

* add id5 id to request as x5

* Add support for bidderRequest.refererInfo in Adhese Adapter.

* added DALE to adhese determination

* updated tests to include new fields

* Added test for ID5 id

Co-authored-by: Mateusz Michalowski <[email protected]>
Co-authored-by: Mateusz Michalowski <[email protected]>
Co-authored-by: Tim Sturtewagen <[email protected]>
Co-authored-by: Kim Van Crombrugge <[email protected]>
Co-authored-by: Sander <[email protected]>
Co-authored-by: westerschmal <[email protected]>

* Added keywords parameter to TheMediaGrid Bid Adapter (#5353)

* Added TheMediaGridNM Bid Adapter

* Updated required params for TheMediaGridNM Bid Adapter

* Update TheMediGridNM Bid Adapter

* Fix tests for TheMediaGridNM Bid Adapter

* Fixes after review for TheMediaGridNM Bid Adapter

* Add support of multi-format in TheMediaGrid Bid Adapter

* Update sync url for grid and gridNM Bid Adapters

* TheMediaGrid Bid Adapter: added keywords adUnit parameter

* Update TheMediaGrid Bid Adapter to support keywords from config

* Apply some updates to Valueimpression bid adapter (#5356)

- Update new adapter endpoint & usersync url
- Use window.top instead window object
- Use bidRequest.referrerInfo object to get page url, referrer
- Tracking ad position by size called targetKey

* GumGum: removes deprecated banner sizes default (#5372)

* uses encodeURIComponent inline

* adds test for jcsi param

* adds request delay depending on previous response

* adds inVideo param

* removes deprecated bidRequest.sizes

* UserId SharedId submodule (#5315)

* Adding sharedid submodule

* Updating with Shared ID Module

* SharedID test and sharedid eids

* Shared ID md changes

* Shared ID md changes

* Shared ID changes

* Apply suggestions from code review

Co-Authored-By: Brad Rodriguez <[email protected]>

* Applying review suggestions

* Apply suggestions from code review

Co-Authored-By: Brad Rodriguez <[email protected]>

* Reformatting and reorganizing sharedId submodule

* Reformatting and reorganizing sharedId submodule

* Shared Id generation changes

* Adding cookie Sync

* Decode and sync cookie

* Updating endpoint

* Updaitng eids.md

* Configured sync

* Refactor and md update

* Refactoring

* Refactoring

* Updating sync to seconds

* Updating configuration

* Reformatting

* Reformatting

* Reformatting

* Fixing review comments

* Changes to id value

* Updating documentation

* Documentation update

* Resolving merge conflicts

* updating userid_example.html

* Fixing review comments on test to separate sharedid opt out tests

* Moving sharedID generation within sharedId module

* Moving sharedID generation within sharedId module

Co-authored-by: skocheri <[email protected]>
Co-authored-by: Brad Rodriguez <[email protected]>

* Freewheel - Converted the ComponentId property to be 'prebid' in request (#5320)

* freewheel-ssp fix issue on playerSize of bidRequest

* freewheel add dealId property in bidResponse

* freewheel convert ComponentID to 'prebid' in request

* freewheel add new parameter 'componentSubId' in request

* Marsmedia & videofy adapters - Add onTimeout & onSetTargeting (#5352)

* Change publisherId to zoneId
Add gdpr
Add supply chain
Add video media type

* Remove comments

* Fix unit test coverage

* fix request id bug
add vastXml to video response

* Remove bid response default sizes

* Change endpoint url

* Add unit test for vastXml

* Change end point

* Remove trailing-space

* Add onBidWon function

* New adapter - videofy

* Marsmedia & Videofy - Add onTimeout onSetTargeting

* Create sendbeacon function

* PubMatic bid adapter to support price floors module (#5387)

* added support for pubcommon, digitrust, id5id

* added support for IdentityLink

* changed the source for id5

* added unit test cases

* changed source param for identityLink

* added support for floors module

* using floorModule to set floor

* removed commented console.log statements

* Triplelift Adaptor: Use Floors Module (#5329)

* access floor from floors module

* int -> float and null check

* let -> const

* appnexusBidAdapter - fix video params (#5394)

* appnexusBidAdapter - fix video params

* remove mimes field

* PubMatic adds support for bidUserIdAsEids (#5397)

* added support for pubcommon, digitrust, id5id

* added support for IdentityLink

* changed the source for id5

* added unit test cases

* changed source param for identityLink

* id value should be string only

* id value should be string; changed test data

* pubmatic using userIdAsEids

commented unnecessary code
PubMatic will no longer read Digitrust from config or independent library setup
PubMatic will no loner read TTDID from config or independent library setup

* chnages in test cases for userIdAsEids

commented unnecessary test cases
PubMatic will no longer read Digitrust from config or independent library setup
PubMatic will no loner read TTDID from config or independent library setup

* deleted commented code and test cases

* deleted a commented line

* lint effect

* External ids (#5351)

* externalIds (SIM-657) Added external ids and associated unit test.

* externalIds - Added DEFAULT_PARAMS_WITH_EIDS that contains the external id information for the unit test

* externalIds (SIM-657) uses createEidsArray found in the eid.js

* externalIds cleanup spaces and tabs, adding a missing import for createEids in eids.js

* externalIds adding a space where it is needed to fix a wonderful test.

* 33Across: CCPA Compliance + Schain support (#5365)

* check gdpr in buildRequest

* User sync based on whether gdpr applies or not

* check if consent data exists during user sync

* split user sync into further branches: 1) when gdpr does not apply 2) when consent data is unavailable

* contribute viewability to ttxRequest

* update tests

* remove window mock from tests

* use local variables

* introduce ServerRequestBuilder

* add withOptions() method to ServerRequestBuilder

* add semicolons

* sync up package-lock.json with upstream/master

* stub window.top in tests

* introduce getTopWindowSize() for test purpose

* reformat code

* add withSite() method to TtxRequestBuilder

add withSite() method to TtxRequestBuilder

* add isIframe() and _isViewabilityMeasurable()

* handle NON_MEASURABLE viewability in nested iframes

* consider page visibility, stub utils functions getWindowTop() and getWindowSelf()

* contribute viewability as 0 for inactive tab

* add prebidjs version to ttx request

* send caller as an array

* fix JSDoc in utils.js

* send viewability as non measurable when unable to locate target HTMLElement, add warning message

* introduce mapAdSlotPathToElementId()

* introduce getAdSlotHTMLElement(), add logging

* introduce mapAdSlotPathToElementId()

* update logging in ad unit path to element id mapping

* rephrase logging, fix tests

* update adapter documentation

* remove excessive logging

* improve logging

* revert change

* fix return of _mapAdUnitPathToElementId()

* improve logging of _mapAdUnitPathToElementId()

* do not use Array.find()

* return id once element is found

* return id once element is found

* let -> const

* Removing killswitch behavior for GDPR

* Updated comments to reflect current gdpr logic

* URI encode consent string

* Updated example site ID to help Prebid team e2e test our adapter

* send page url in ortb

* Removed redundant pageUrl default

* Restored package-log.json that mirrors prebid's repo

* Sending USP string during buildRequest

* Adding USP consent data to user sync

* add unit test for syncing without bidrequest

* Changed to uspConsent to make the connatation consistent

* Resetting adapter state in adapter after user sync rather than exposing it.

* removed console log

* Adding schain info

* remove setting empty format ext

* better tests invalid values

* removing validation of schain

* Fixed lint errors

Co-authored-by: Gleb Glushtsov <[email protected]>
Co-authored-by: Gleb Glushtsov <[email protected]>
Co-authored-by: Gleb Glushtsov <[email protected]>
Co-authored-by: Aparna Hegde <[email protected]>
Co-authored-by: Aparna Hegde <[email protected]>
Co-authored-by: Aparna Hegde <[email protected]>
Co-authored-by: Aparna Hegde <[email protected]>
Co-authored-by: Aparna Hegde <[email protected]>
Co-authored-by: Aparna Hegde <[email protected]>

* added waardex adapter (#5349)

* added waardex adapter

* removed support http from adapter

Co-authored-by: Max Shuhaliia <[email protected]>

* Add customParams to yieldlab configuration (#5374)

Customers are using custom parameters to our endpoint to use them downstream. We need a way of supporting this in prebid.

* Vidazoo Adapter: Feature/user-id (#5386)

* feat(module): multi size request

* fix getUserSyncs
added tests

* update(module): package-lock.json from master

* feat(client): add user id request support

* fix(client): lint errors

Co-authored-by: roman <[email protected]>

* LiveIntentId submodule updates (#5407)

* LiveIntentId submodule.

Bumped the live-connect-js version with changes:
- fixed the problem where userId/index.js was sending the full config on `decode`, while the docs claim it should only send `.params`
- removed the uuid lib
- removed the support for legacy LI first party cookies
- removed the redundant config parameter `providedIdentifierName`
- support for running live-connect inside of multiple wrappers

* LiveIntentId submodule.

Removed reading of non-accessible and therefore redundant code snippets

* Removed excessive config logging.

* Making the publisher id parameter optional.

* Removed unneeded check.

* 33Across: Adding floors support (#5408)

* check gdpr in buildRequest

* User sync based on whether gdpr applies or not

* check if consent data exists during user sync

* split user sync into further branches: 1) when gdpr does not apply 2) when consent data is unavailable

* contribute viewability to ttxRequest

* update tests

* remove window mock from tests

* use local variables

* introduce ServerRequestBuilder

* add withOptions() method to ServerRequestBuilder

* add semicolons

* sync up package-lock.json with upstream/master

* stub window.top in tests

* introduce getTopWindowSize() for test purpose

* reformat code

* add withSite() method to TtxRequestBuilder

add withSite() method to TtxRequestBuilder

* add isIframe() and _isViewabilityMeasurable()

* handle NON_MEASURABLE viewability in nested iframes

* consider page visibility, stub utils functions getWindowTop() and getWindowSelf()

* contribute viewability as 0 for inactive tab

* add prebidjs version to ttx request

* send caller as an array

* fix JSDoc in utils.js

* send viewability as non measurable when unable to locate target HTMLElement, add warning message

* introduce mapAdSlotPathToElementId()

* introduce getAdSlotHTMLElement(), add logging

* introduce mapAdSlotPathToElementId()

* update logging in ad unit path to element id mapping

* rephrase logging, fix tests

* update adapter documentation

* remove excessive logging

* improve logging

* revert change

* fix return of _mapAdUnitPathToElementId()

* improve logging of _mapAdUnitPathToElementId()

* do not use Array.find()

* return id once element is found

* return id once element is found

* let -> const

* Removing killswitch behavior for GDPR

* Updated comments to reflect current gdpr logic

* URI encode consent string

* Updated example site ID to help Prebid team e2e test our adapter

* send page url in ortb

* Removed redundant pageUrl default

* Restored package-log.json that mirrors prebid's repo

* Sending USP string during buildRequest

* Adding USP consent data to user sync

* add unit test for syncing without bidrequest

* Changed to uspConsent to make the connatation consistent

* Resetting adapter state in adapter after user sync rather than exposing it.

* removed console log

* Adding schain info

* remove setting empty format ext

* better tests invalid values

* removing validation of schain

* Fixed lint errors

* First cut for bidfloors support

* fixed where getFloors is read

* fixed merge conflicts

Co-authored-by: Gleb Glushtsov <[email protected]>
Co-authored-by: Gleb Glushtsov <[email protected]>
Co-authored-by: Gleb Glushtsov <[email protected]>
Co-authored-by: Aparna Hegde <[email protected]>
Co-authored-by: Aparna Hegde <[email protected]>
Co-authored-by: Aparna Hegde <[email protected]>
Co-authored-by: Aparna Hegde <[email protected]>
Co-authored-by: Aparna Hegde <[email protected]>
Co-authored-by: Aparna Hegde <[email protected]>

* Vidazoo Adapter: Feature/screen-size (#5385)

* feat(module): multi size request

* fix getUserSyncs
added tests

* update(module): package-lock.json from master

* feat(client): add screen resolution as request param

* feat(client): add `res` param to spec

* fix(client): screen size inside test

Co-authored-by: roman <[email protected]>

* Appier: add support for aliases (#5392)

* Add initial partial implementation for Appier bidder adapter.

* Use relative protocol for bidder API url.

* Handle server response for Appier adapter and add related unit tests.

* Support farm-specific prebid server and allow overriding the server with setConfig().

* Add doc for Appier bid adapter.

* Fix const correctness.

* Append requestId to the beacon image URL of Appier adapter to reduce the risks of being cached by proxy servers or browsers.

* Send bidderRequest.refererInfo to Appier bidder server.

* Remove the show beacon since now we generate it in the backend server.

* Only generate a show beacon url if it's not provided by the backend.

* Add version information for Appier adapter using semver (starts from 1.0.0).

* Add a new adapter for Appier bidder.

* Add a new adapter for Appier bidder.

* add appier analyticsAdapter skeleton.

* update initial working version.

* refactor and remove debug messages.

* fix config checking logic.

* implement bidAdjustment and add timeout before send event.

* unify cache operation into cacheManager to avoid direct key/value operation.

* Update server name.

* correct currency impl and message payload. remove unused debug messages.

* update var naming.

* rename creative vars. cleanup comments.

* add test cases for AnalyticsAdapter.

* update test specs file.

* remove spec from main branch.

* add unit tests for AnalyticsAdapter, #1 - Happy cases.

* refactor tests.

* update unit tests for AnalyticsAdapter.

* add tests for bid-adjusted, bid-timeout events

* fix bid adjustment test case.

* add nobid case in analytics unit test.

* add test case for delayed bids and prebidWon messages.

* Use logInfo and logError utilility functions instead of console.log() to print debug messages.

* handle timeout status message correctly.

* correct isTimeout setting logic and test cases.

* replace for...of by array.forEach for IE11

* apply auto formatter.

* refactor: extract timeout logic to a helper function

* tag analytic version with 0.1.0-beta for iCook release

* Re-implement the appier analytics adapter with a simpler design and correctly handle timeouts.

* Remove unused variables.

* Rename methods to improve consistency.

* Code cleanup: rename methods and avoid duplicated code.

* Fix wrong bid response data caused by non-deterministic event ordering of prebid.js.

* Send bid message immediately on auction end without delay.

* add withCredentials in ajax call to get client cookie.

* Fix broken unit test for appier analytic adapter.

* add prediction id support.

* update predictionId/configId format in tests.

* Init refined appier analytics testing

* hotfix: appier analytics support browserstack bug

* feat: add aliases

Co-authored-by: Hong Jen-Yee (PCMan) <[email protected]>
Co-authored-by: Yuan-Hung Huang <[email protected]>
Co-authored-by: kdchang <[email protected]>
Co-authored-by: chih-ping-weng <[email protected]>

* Add GMOSSP Adapter (#5377)

* Add GMOSSP Adapter

* fix test param

* Vidazoo Adapter: Feature/unit code (#5413)

* feat(module): multi size request

* fix getUserSyncs
added tests

* update(module): package-lock.json from master

* feat(client): send adUnitCode on request payload

Co-authored-by: roman <[email protected]>

* Sovrn - Update Supported ID's, include adunitcode in ad request (#5403)

* added tdid and ad-unit-code

* fixed tdid

* removed digitrust

* repush

* add package-lock from upstream  master

* Delete package-lock.json

* add package-lock from upstream  master

Co-authored-by: Ankit Prakash <[email protected]>
Co-authored-by: Wesley Whitney <[email protected]>
Co-authored-by: John Rosendahl <jrosendahl@gmailcom>

* [Synacormedia] adapter should use format for multi-size banner requests (#5410)

* CAP-1614 - updated docs to show correct size for banner and some other small fixes

* CAP-1636 support schain object in prebid

* CAP-1636 updated the review comments

* CAP-1849 - split up banner and video impressions to use format

Co-authored-by: Corey Kress <[email protected]>
Co-authored-by: Rajkumar Natarajan <[email protected]>

* Improve Digital: adapter improvements (#5399)

* Improve Digital: CCPA support

* Outstream video support

* Lint fixes

* Improve Digital: outstream and deal improvements

* Ayl gdp rdefault value (#5391)

* Remove useless bidderCode in bid response

* send all the available sizes in the bid request

* Use the banner sizes if given

* avoid compatibility issue with old bid format

* Remove gdpr default apply value

* minor: use better variable name

* Add unit test on unspecified gdprApplies

Co-authored-by: Guillaume <[email protected]>

* Price floors new schema support AB Test (#5390)

* Price floors new schema support AB Test

* Add new serve-fast command + lint fix

* update comment

* Only sum up modelWeights once and set as prop!

Fix minor bug in handleFetchResponse to overwrite skipRate

* Prebid 3.24.0 Release

* Increment pre version

* Removing Digitrust related test case for PubMatic bidder (#5426)

* added support for pubcommon, digitrust, id5id

* added support for IdentityLink

* changed the source for id5

* added unit test cases

* changed source param for identityLink

* removed digitrust test case

* CCPA modifications in the NextRoll adapter (#5409)

* Add native support

* Add response testing

* DRY test

* Change required from bool to int

* Set mediaType

* Fixes objects

* Fixes object access

* Remove ad property, only set it for banner

* Update tests

* Moving hardcoding values to constants

* Update docs with native information

* Revert "Add native support"

* Getting rid of CCPA adapter validation (#9)

* fix linter errors (#10)

Co-authored-by: Ricardo Azpeitia Pimentel <[email protected]>
Co-authored-by: Abimael Martinez <[email protected]>

* Add Render RichAudience Adapter (#5357)

* Add Render RichAudience Adapter

* Update richaudienceBidAdapter.md & Add Try/Catch

Co-authored-by: sgimenez <[email protected]>

* Mediasquare: Add support for uspConsent + schain userIds support. Plu… (#5396)

* Mediasquare: Add support for uspConsent + schain userIds support. Plus enhance userSync

* fix iframeEnabled and pixelEnabled + suggested shortand statement

* upgrade id5IdSystem to use v2 of our fetch endpoint (#5406)

- allow publishers to pass deterministic signals
- add a counter to provide analytics on the number of auctions using the id5Id

* Add tradedesk user id to appnexus adapter (#5346)

* Add tradedesk id support

* Updating appnexus payload for criteo

Co-authored-by: Jaimin Panchal <[email protected]>

* Add TCF2 Support for Invibes (#5378)

* added tcf 2.0

* Updated adapter to support gdprEnforcement

* reverted storage manager initialization

Co-authored-by: florin_nedelcu_invibes <[email protected]>

* add AMX adapter (#5383)

* remove onBidWon callback from adapter (#5414)

* orbidder adapter: add withCredentials:true header to BidRequest and onBidWon Requests

* add blank in order to trigger build again

* remove blank to trigger build ... again

* adding extra line to trigger build ... again

* add prebid version to request

* add unit test for version parameter

* add version parameter to win requests

* fix comment

* trigger rebuild

* trigger rebuild

* remove onBidWon callback from adapter

Co-authored-by: Volk, Rainer <[email protected]>
Co-authored-by: RainerVolk4014 <[email protected]>
Co-authored-by: siggi-otto <[email protected]>
Co-authored-by: Hendrik Iseke <[email protected]>
Co-authored-by: Hendrik Iseke <[email protected]>
Co-authored-by: rvolk <>

* Make default s2s ttl configurable (#5419)

* make default s2s ttl configurable

* Conversant: update prebid url (#5441)

* Updating Conversant bid adapter URL to new 'cvx'

* Updating Conversant bid adapter URL to new 'cvx' - updating tests to match

* Updating Conversant bid adapter URL to new 'cvx':
rolling back package-lock.json to avoid conflict

* Update padsquad for meta.advertiserDomains (#5439)

* Update padsquadBidAdapter_spec.js

* Update padsquadBidAdapter.js

* Update padsquadBidAdapter.js

* ATS-identityLinkId - add additional info logging events (#5442)

* ATS-change logError to logInfo type (#5443)

* Revert "add AMX adapter (#5383)" (#5455)

This reverts commit d8e5796827a46455185292e4a498628ecdb09bc6.

* Inskin Bid adapter small changes (#5373)

* Add plr_AdSlot parameter needed by Inskin Pagescroll ad format

* Send additional TCF related information to Inskin's ad server

* Fixed linting issues.

* Added unit tests

* Vidazoo Adapter: Feature/subdomain (#5446)

* feat(module): multi size request

* fix getUserSyncs
added tests

* update(module): package-lock.json from master

* feat(client): optional server subdomain

* refactor(client): remove unused LOCs

* fix(client): lint issues

Co-authored-by: roman <[email protected]>

* proxistore bid adapter: delay request to server by 5 min if there were no bids (#5379)

* delay request to server by 5 min if we no ads

* fix testing issue

* use storeManager.js

* change var to const

* add unit test

* remove line and check if user authorizes use of local storage

* adform and adformOpenRTB bid adapters: Added support for userId modules (#5425)

* adformBidAdapter - added u…
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants