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

Topics module: Initial Topics iframe implementation #8947

Merged

Conversation

pm-nitin-nimbalkar
Copy link
Contributor

@pm-nitin-nimbalkar pm-nitin-nimbalkar commented Sep 5, 2022

Type of change

  • Bugfix

  • Feature

  • New bidder adapter

  • Code style update (formatting, local variables)

  • Refactoring (no functional changes, no api changes)

  • Build related changes

  • CI related changes

  • Does this change affect user-facing APIs or examples documented on http://prebid.org?

  • Other

Description of change

This change is the proposal of iframe implementation which is the enhancements of existing module under topicsFpdModule.js where different bidders will call the topic API under their domain to fetch the topics for respective domain and the segment data will be part of ORTB request under user.data object.

Enhancements are discussed in this thread #8741

Note: This is rough draft and initial proposal of iframe implementation to discuss about the change.

Implementation

  • Configured topics under userSync object to read the iframeURL for particular bidder on publisher domain. This would override the default configuration. If these configurations are not present on the page, default configuration of bidders iframe which will call topics API. Default SSP rotation is kept as 1 as default configuration which can be override by adding configuration inside topics object having "maxTopicCaller" as key on page as shown below configuration examples

Note: IframeURL for each domain is dummy URL used for to give showcase how to configure the URL

pbjs.setConfig({
            userSync: {
                ...,
                topics: { 
                        maxTopicCaller: 3, // SSP rotation 
                        bidders: [{
                            bidder: 'pubmatic',
                            iframeURL: 'https://pubmatic.com:8080/topics/fpd/topic.html', // dummy URL
                            expiry: 7 // Configurable expiry days
                        },{
                            bidder: 'rubicon',
                            iframeURL: 'https://rubicon.com:8080/topics/fpd/topic.html', // dummy URL
                            expiry: 7 // Configurable expiry days
                        },{
                            bidder: 'appnexus',
                            iframeURL: 'https://appnexus.com:8080/topics/fpd/topic.html', // dummy URL
                            expiry: 7 // Configurable expiry days
                        }]
                    }
                ....
            }
})
  • Topics data will be loaded for particular domain from iframe and sent back to first party domain or publisher website. This data will be cached in localstorage to make it available for bidders to consume in their APIs

  • Data will be cached in 'prebid:topics'

  • This Data will be read from cache(localstorage) and will be part of bidder's respective API under user.data object
    For Eg:

"user":{
  "gender":"M",
  "geo":{
     "lat":40.712775,
     "lon":-74.005973
  },
  "yob":1982,
  "data":[
     {
        "ext":{
           "segtax":600,
           "segclass":"2206021246"
        },
        "segment":[
           {
              "id":"45"
           }
        ],
        "name":"timesofindia.com"
     },
     {
        "ext":{
           "segtax":600,
           "segclass":"2206021246"
        },
        "segment":[
           {
              "id":"265"
           },
           {
              "id":"45"
           }
        ],
        "name":"ads.pubmatic.com"
     }
  ]
},


Open questions

  1. How SSP Rotations works ?
  • Does it means we need to call any random 3 bidders to load iframe and make topics data for that domain/api caller to make it available for bidder request.

  • What happens if we configured more than 3 bidders (for Eg: 7-8) which will load iframe for 7-8 bidders which might cause latency and concerning for publisher or first party domain.

  1. Expiry date for cached data should be added for each bidder or 1 expiry for all bidders? Should publisher be given control to refresh the cached data by setting the expiry

  2. How iframe should be maintained for each bidder? Should it be in this repository itself ?

  3. Cached Topics data in local-storage needs to be encrypted (Base64) ?

Other information

@pm-nitin-nimbalkar
Copy link
Contributor Author

pm-nitin-nimbalkar commented Sep 5, 2022

@patmmccann Can you please help us review the changes and if suggestions/comments regarding the implementation of iframe. Let us know if you have any questions.
Note: This is WIP PR so that we can discuss about the proposal/approach if it looks good to go ahead.

@patmmccann patmmccann linked an issue Sep 6, 2022 that may be closed by this pull request
@patmmccann patmmccann changed the title Topics: Initial Topics iframe implementation Topics module: Initial Topics iframe implementation Sep 6, 2022
modules/topicsFpdModule.js Outdated Show resolved Hide resolved
modules/topicsFpdModule.js Outdated Show resolved Hide resolved
modules/topicsFpdModule.js Outdated Show resolved Hide resolved
modules/topicsFpdModule.js Outdated Show resolved Hide resolved
@patmmccann
Copy link
Collaborator

patmmccann commented Sep 7, 2022

Open questions
How SSP Rotations works ?
Does it means we need to call any random 3 bidders to load iframe and make topics data for that domain/api caller to make it >available for bidder request.

What happens if we configured more than 3 bidders (for Eg: 7-8) which will load iframe for 7-8 bidders which might cause >latency and concerning for publisher or first party domain.

I think SSP rotation would only call one of the frames at random per pageview; maybe with a 'callAll' override?

Expiry date for cached data should be added for each bidder or 1 expiry for all bidders? Should publisher be given control to >refresh the cached data by setting the expiry

Expiration should be fairly aggressive I think; as the topics API itself is fairly aggressive with expiration.

How iframe should be maintained for each bidder? Should it be in this repository itself ?

I think the iframes in the default rotation should be in the repo likely; and publisher could override the array with their own array in config.

Cached Topics data in local-storage needs to be encrypted (Base64) ?`

I am not sure if we need to encrypt anything, the topics are meant to be passed around freely it seems. I am not sure of any security risk from exposing them.

@pm-nitin-nimbalkar
Copy link
Contributor Author

Open questions
How SSP Rotations works ?
Does it means we need to call any random 3 bidders to load iframe and make topics data for that domain/api caller to make it >available for bidder request.

What happens if we configured more than 3 bidders (for Eg: 7-8) which will load iframe for 7-8 bidders which might cause >latency and concerning for publisher or first party domain.

I think SSP rotation would only call one of the frames at random per pageview; maybe with a 'callAll' override?
Regarding "I think SSP rotation would only call one of the frames at random per page view; maybe with a 'callAll' override?"

Regarding SSP rotation, Does adding config ("maxTopicsCaller": 3) inside the setConfig under topics make sense which gives more power to publishers to provide count of bidders from where it get the topics from those bidders domain ?
This is configurable as suggested, this can even configure as 1 (Bidder).

For Eg. Over here, Adding 2 as count is configured for maxTopicsCaller and 3 bidders has been configured but only random 2 bidders will call the frames. If this "maxTopicsCaller" property is missing all together in config, it will load the frames for all 3 bidders ( as replacement of the one what was suggested with callAll )

pbjs.setConfig({
            userSync: {
                ...,
                topics: { 
                        bidders: {
                           "maxTopicsCaller": 2,
                            "pubmatic" : {
                                iframeURL: "https://ads.pubmatic.com/topics/fpd/topic-pubmatic.html" // Will be hosted on pubmatic domain
                            },
                            "rubicon" : {
                                iframeURL: "https://rubicon.com:8080/topics/fpd/topic-rubicon.html" // Will be hosted on rubicon domain
                            },
                            "appnexus" : {
                                iframeURL: "https://appnexus.com:8080/topics/fpd/topic-appnexus.html" // Will be hosted on appnexus domain
                            }
                        }
                    }
                ....
            }
})

Note: Also, this is being said in case of SSP rotation, random iframes of third party API caller will be loaded, but cached topics data of third party api caller will be available in user.data object(SDA data) rather than only topic data loaded for iframe for that page view at that particular time.

@patmmccann Please let me know your view on the config and above note if any?

Expiry date for cached data should be added for each bidder or 1 expiry for all bidders? Should publisher be given control to >refresh the cached data by setting the expiry

Expiration should be fairly aggressive I think; as the topics API itself is fairly aggressive with expiration.

How iframe should be maintained for each bidder? Should it be in this repository itself ?

I think the iframes in the default rotation should be in the repo likely; and publisher could override the array with their own array in config.

@patmmccann Can you help to give more details on this ? Thanks

Cached Topics data in local-storage needs to be encrypted (Base64) ?`

I am not sure if we need to encrypt anything, the topics are meant to be passed around freely it seems. I am not sure of any security risk from exposing them.

@patmmccann
Copy link
Collaborator

I think the iframes in the default rotation should be in the repo likely; and publisher could override the array with their own array in config.

@patmmccann Can you help to give more details on this ? Thanks

I would think that in this module we would have an array of topics callers' iframe locations, but that array could be overridden by the publisher.

@burk504
Copy link

burk504 commented Sep 8, 2022

Expiry date for cached data should be added for each bidder or 1 expiry for all bidders? Should publisher be given control to >refresh the cached data by setting the expiry

Expiration should be fairly aggressive I think; as the topics API itself is fairly aggressive with expiration.

My opinion is that Topics are designed to have a 3 week lifespan by definition and that should be the default life of them here. That said, I think a publisher should have the capability to change that timeframe easily.

This also means that each iframe should have a chance to be fired once every 7 days. That way each iframe has a rolling set of topics they have been added to storage. On the 4th 7 day period, the iframe would call again and have the older one from 4 weeks ago get deleted...leaving the storage with a rolling 3 weeks of data from each individual vendor iframe

@pm-nitin-nimbalkar
Copy link
Contributor Author

Expiry date for cached data should be added for each bidder or 1 expiry for all bidders? Should publisher be given control to >refresh the cached data by setting the expiry

Expiration should be fairly aggressive I think; as the topics API itself is fairly aggressive with expiration.

My opinion is that Topics are designed to have a 3 week lifespan by definition and that should be the default life of them here. That said, I think a publisher should have the capability to change that timeframe easily.

This also means that each iframe should have a chance to be fired once every 7 days. That way each iframe has a rolling set of topics they have been added to storage. On the 4th 7 day period, the iframe would call again and have the older one from 4 weeks ago get deleted...leaving the storage with a rolling 3 weeks of data from each individual vendor iframe

@patmmccann @dgirardi Any comments on the suggestion given by @burk504 ?

@patmmccann
Copy link
Collaborator

patmmccann commented Sep 12, 2022

Jeff's comments sound reasonable to me; I think the more configurable the choices, the better off we are. Prebid's goals are to discover the utility of this interface and to allow publishers and community members to participate in the feedback the browser folks are seeking. I suspect most publishers will want to hit the api every pageview however, and prefer current results to any stored results; I don't anticipate a delay or withheld calling option to be popular.

@abhinavsinha001
Copy link

This is what I understand and recommend for basic implementation:

  1. We should cache and send only latest topics, the caching is just to reduce Iframe based communication overhead
  2. In case any of the caller is not called for more than 3 weeks then it's cached topics should expire in 3 weeks or publishers can define a custom expiry.
  3. If we want to cache topics over a dynamic rolling window then lets take that as separate PR
    i. Will need to set expectations throughout the pipe that we are sending extra topics.
    ii. Will have to decide on ordering / notifying which topics are recent vs cached.

@pm-nitin-nimbalkar
Copy link
Contributor Author

pm-nitin-nimbalkar commented Oct 13, 2022

@patmmccann @dgirardi I have added the changes which Abhinav have suggested.

  1. Caching the topics for specific for default 3 weeks (21 days). Meaning if topics are older than 21 days, it will be deleted and no longer will be sent in oRTB request. Configuration maintain in topicsFPDModule.

  2. Publisher can override the cache expiry time from 21 days to custom day to send the recent topics. Please find below configuration which needs to be on the page.

pbjs.setConfig({
            userSync: {
                ...,
                topics: { 
                        maxTopicCaller: 3, // SSP rotation 
                        bidders: [{
                            bidder: 'pubmatic',
                            iframeURL: 'https://pubmatic.com:8080/topics/fpd/topic.html', // dummy URL
                            expiry: 7 // Configurable expiry days
                        },{
                            bidder: 'rubicon',
                            iframeURL: 'https://rubicon.com:8080/topics/fpd/topic.html', // dummy URL
                            expiry: 7 // Configurable expiry days
                        },{
                            bidder: 'appnexus',
                            iframeURL: 'https://appnexus.com:8080/topics/fpd/topic.html', // dummy URL
                            expiry: 7 // Configurable expiry days
                        }]
                    }
                ....
            }
})

where expiry and maxTopicCaller( Numbers of iframes count which will be loaded ) can be configured which will be override the default configuration set in the topicsFpdModule.
Default configuration in the Module are as follows

  • maxTopicCaller is set to 1 (That means random 1 iframe will be loaded which will called Topics API)
  • expiry is set to 21 days ( Topics which are cached and older than 21 days will be deleted from cache to fetch recent topics and stop sending stale topics date to oRTB request)

I have also added topics_iframe.html which will be hosted on bidders domain which will call the Topics API just for reference.

Can you guys help us to review the changes and suggest if somethings need to change or needs to be added.

@patmmccann
Copy link
Collaborator

@nitin0610 is this ready to come out of draft status?

@pm-nitin-nimbalkar
Copy link
Contributor Author

@nitin0610 is this ready to come out of draft status?

@patmmccann @dgirardi
Just wanted to check if the code looks good after confirmation we will work on the PR to make it available for merge by removing the draft.
Anything which you can suggest need changes in terms of business logic and code.
Let us(PubMatic) know if you have questions for the same.

Copy link
Collaborator

@dgirardi dgirardi left a comment

Choose a reason for hiding this comment

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

Please add unit tests; I'd especially like to see the expiration logic tested. Also, how should this be treated for GDPR purpose 1? The implementation as it is will not require any vendor consent, is that appropriate?

integrationExamples/gpt/topics_frame.html Show resolved Hide resolved
modules/topicsFpdModule.js Outdated Show resolved Hide resolved
modules/topicsFpdModule.js Outdated Show resolved Hide resolved
@patmmccann
Copy link
Collaborator

Purpose 3 is building a personalized ads profile, that's what the topics api does

@patmmccann patmmccann marked this pull request as ready for review November 28, 2022 16:26
Copy link
Collaborator

@patmmccann patmmccann left a comment

Choose a reason for hiding this comment

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

Please make sure the module respects the device access control flag which many publishers set in opt out scenarios

@pm-nitin-nimbalkar pm-nitin-nimbalkar changed the title Topics module: Initial Topics iframe implementation Note - (In Progress): Topics module: Initial Topics iframe implementation Nov 29, 2022
@patmmccann
Copy link
Collaborator

@nitin0610 could you clarify what is still in progress? This is looking very near finished to me

@pm-nitin-nimbalkar
Copy link
Contributor Author

pm-nitin-nimbalkar commented Nov 29, 2022

@nitin0610 could you clarify what is still in progress? This is looking very near finished to me

Hi @patmmccann, thanks for approving the changes/request.

Currently we are working on test these feature end to end throughly due to recent changes of GDPR, device access changes. No dev work is pending for this feature.

We will be planning to complete this ASAP and will remove the In progress note from heading.

Also we are working on the documentation for the same.

Thanks.

  • Nitin(PubMatic)

modules/topicsFpdModule.js Outdated Show resolved Hide resolved
@pm-nitin-nimbalkar pm-nitin-nimbalkar changed the title Note - (In Progress): Topics module: Initial Topics iframe implementation Topics module: Initial Topics iframe implementation Dec 15, 2022
@pm-nitin-nimbalkar
Copy link
Contributor Author

@patmmccann We have completed the testing. PR is ready to get merged. We have approvals too.

@patmmccann patmmccann merged commit 77ba4ec into prebid:master Dec 15, 2022
@patmmccann
Copy link
Collaborator

Thanks! @nitin0610

I saw you mention the documentation but now I'm having trouble finding it

@pm-nitin-nimbalkar
Copy link
Contributor Author

@patmmccann Please find below PR related to documentation
prebid/prebid.github.io#4222

@dgirardi dgirardi mentioned this pull request Dec 20, 2022
1 task
JacobKlein26 pushed a commit to nextmillenniummedia/Prebid.js that referenced this pull request Feb 9, 2023
* Topics: Initial Topics iframe implementation

* Topics API: LINT errors solved

* Added Empty Topics Check

* Topics: Storage Map logic and added message listener secure check

* Topics: Iframe implementation for bidders

* Added topics_iframe html in example for reference

* Added Pubmatic Topic iframe URL

* Added Pubmatic Topic iframe URL- Removed comment

* Topics Module: Consent management logic added

* Topics Module: Added Device Access check

* Topics Module: Unit test cases added and minor changes

* Topics Module: Array.find used instead of array.some and variable name changed

* Topics IFrame Implementation: Purpose present check is handled
aecook added a commit to freestarcapital/Prebid.js that referenced this pull request Mar 2, 2023
* updated the correct variable while setting cookie (#9234)

Co-authored-by: pm-azhar-mulla <azhar@L1119.local>

* Smartx Bid Adapter: Add Schain support (#9244)

* Add smartclipBidAdapter

* smartxBidAdapter.js - removed unused variables, removed debug, added window before the outstream related functions

* - made outstream player configurable

* remove wrong named files

* camelcase

* fix

* Out-Stream render update to SmartPlay 5.2

* ESlint fix

* ESlint fix

* ESlint fix

* adjust tests, fixes

* ESlint

* adjusted desired bitrate examples

* added bid.meta.advertiserDomains support

* bug fix for numeric elementID outstream render

* fix renderer url

* support for floors module

* bugfixes to be openRTB 2.5 compliant

* update internal renderer usage

* remove unused outstream_function logic

* bugfix outstream options for default outstream renderer configuration

* [PREB-10] fix empty title not configurable

* add pbjs version

* testing with outstream 5.3.0

* pbjs version into content.ext

* made visibilityThreshold configurable

* adjust position of pbjs version

* Merge branch 'master' of https://github.com/prebid/Prebid.js into HEAD

* update smartclip outstream player version to support outstream 6 release along with necessary config changes

* Add support for schain

* vacuuming

Co-authored-by: smartclip AdTechnology <adtech@smartclip.com>
Co-authored-by: Gino Cirlini <adtech@smartclip.tv>
Co-authored-by: smartclip-adtech <65160328+smartclip-adtech@users.noreply.github.com>

* Fix to merge site fpd into payload as opposed to overwriting (#9247)

* Discovery Bid Adapter : parameter updates (#9249)

* Mediago Bid Adapter:new adapter

* remove console

* change spec file to fix CircleCI

* change spec file to fix CircleCI

* change spec file

* Update mediagoBidAdapter.js

* Update mediagoBidAdapter.js

* rerun CurcleCi

* update mediagoBidAdapter

* update discoveryBidAdapter

Co-authored-by: BaronYu <baronwei11@gmail.com>

* Smartadserver Bid Adapter: add support for SDA user and site (#9231)

* Smartadserver Bid Adapter: Add support for SDA user and site

* Smartadserver Bid Adapter: Fix SDA support getConfig and add to unit testing

Co-authored-by: Krzysztof Sokół <88041828+smart-adserver@users.noreply.github.com>

* VidazooBidAdapter: get bid floor using `bid.getFloor`  (#9238)

* feat(module): multi size request

* fix getUserSyncs
added tests

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

* feat(module): VidazooBidAdapter - send top query params to server

* added bid.getFloor handler

Co-authored-by: roman <shmoop207@gmail.com>
Co-authored-by: Saar Amrani <89377180+saar120@users.noreply.github.com>
Co-authored-by: Saar Amrani <saar120@gmail.com>

* Viqeo Bid Adapter: initial adapter release (#8920)

* add viqeo prebid adapter

* added bid params to docs

* updated to Outstream

* updated to Outstream (tests)

* BeOp Bid Adapter : update keywords management (#9166)

* Don't know why params are in an array in that bid object. Make it work for both if it is fixed later

* Update params reading method to adapt to arrays for all params

* Keywords have to be an array of string (#9)

* Keywords have to be an array of string

* Last check if isStr

* Fix linting errors

* Fix tests

* TheMediaGrid: added withCriteo paramater to send criteo request with the /hbjson request (#9214)

* Tappx Bid Adapter: getting correct site page (#9187)

* Fix: creating host correctly when http or https are added from the beginning

* Fix :: Changed double quotes for single quotes

* Fix :: Getting the full page URL

* Fix :: Changed order params

* Fix :: Replaced quotes from double to simple

* Fix :: Adapting format to lint

* Remove TODO comment

* Added more controls

* camelcase fix

* Changed test

* Remove "inIframe" util

Co-authored-by: Jordi Arnau <jarnau@tappx.com>
Co-authored-by: ruben_tappx <rcaparros@tappx.com>

* Prebid 7.26.0 release

* Increment version to 7.27.0-pre

* Bump loader-utils from 2.0.3 to 2.0.4 (#9256)

Bumps [loader-utils](https://github.com/webpack/loader-utils) from 2.0.3 to 2.0.4.
- [Release notes](https://github.com/webpack/loader-utils/releases)
- [Changelog](https://github.com/webpack/loader-utils/blob/v2.0.4/CHANGELOG.md)
- [Commits](https://github.com/webpack/loader-utils/compare/v2.0.3...v2.0.4)

---
updated-dependencies:
- dependency-name: loader-utils
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* glomex Bidder: expose glomex GVL id (#9262)

* Update Floor format to floor={adslotId}:{floorPriceInCents}[, ...] and fix the size which is submitted to the Price Floors Module (#9186)

* Gravito Id System : variable update to fix tests (#9259)

* gravitompId user module for integrating gravito first party cookie with prebid js

* fixed eslint issues raised by circleci

* fixed trailing spaces error raised by circleci

* Merge branch 'master' of https://github.com/GravitoLtd/Prebid.js

* minor changes to GravitoIdSystem user module to make sure that Gravito Id is visible in bid request.

* changes to Gravito User module to fix issue with Gravito Id not appearing in bid request.

* fixing issue with Gravito Id not appearing in bid request.

* modified test case to adapt changes made to the GravitoIdSystem user module

* change to spec file to fix for test failure

* changes to GravitoIdSystem spec file.

* Fix for trailing space issue in Circle CI

* AdMatic Bidder: added User-Snyc url for alias (#9261)

* Admatic Bidder Adaptor

* Update admaticBidAdapter.md

* Update admaticBidAdapter.md

* remove floor parameter

* Update admaticBidAdapter.js

* Admatic Bid Adapter: alias and bid floor features activated

* Admatic adapter: host param control changed

* Alias name changed.

* Revert "Admatic adapter: host param control changed"

This reverts commit de7ac85981b1ba3ad8c5d1dc95c5dadbdf5b9895.

* added alias feature and host param

* Revert "added alias feature and host param"

This reverts commit 6ec8f4539ea6be403a0d7e08dad5c7a5228f28a1.

* Revert "Alias name changed."

This reverts commit 661c54f9b2397e8f25c257144d73161e13466281.

* Revert "Admatic Bid Adapter: alias and bid floor features activated"

This reverts commit 7a2e0e29c49e2f876b68aafe886b336fe2fe6fcb.

* Revert "Update admaticBidAdapter.js"

This reverts commit 7a845b7151bbb08addfb58ea9bd5b44167cc8a4e.

* Revert "remove floor parameter"

This reverts commit 7a23b055ccd4ea23d23e73248e82b21bc6f69d90.

* Admatic adapter: host param control && Add new Bidder

* Revert "Admatic adapter: host param control && Add new Bidder"

This reverts commit 3c797b120c8e0fe2b851381300ac5c4b1f92c6e2.

* commit new features

* Update admaticBidAdapter.js

* updated for coverage

* sync updated

* Update adloader.js

* AdMatic Bidder: development of user sync url

* Update admaticBidAdapter.js

* Browsi RTD Module: add pageview billable event (#9207)

* 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

* fire billable event according to event listener

* RTB House Bid Adapter: Process FLEDGE request/response (#9215)

* RTBHouse Bid Adapter: add global vendor list id

* structured user agent - browsers.brands

* fix lint errors

* Added sda into rtbhouse adapter

* spreading ortb2: user & site props

* examples reverted

* init version

* using mergedeep

* removed wrong imp array augm.; slot imp augm. with addtl check

* [SUA] merging ortb2.device into request

* fledge auctionConfig adapted to our bid response structure

* new bidder response structure for fledge

* make sure bidderRequest has proper flag turned on

* fledge endpoint hardcoded; code cleanups

* remove obsolete function

* obsolete function removed

* [RTB House] Process FLEDGE request/response (#4)

* [SDA & SUA] refactor using mergedeep

* [FLEDGE] fledge auctionConfig adapted to our bid response structure

* [FLEDGE] new bidder response structure for fledge

* [FLEDGE] make sure bidderRequest has proper flag turned on

* [FLEDGE] fledge endpoint hardcoded; code cleanups

* [FLEDGE] remove obsolete functions

* fixed lint errors

* fledge test suites; adapter: delete imp.ext.ae when no fledge (#5)

Co-authored-by: Leandro Otani <leandro.otani@rtbhouse.com>
Co-authored-by: rtbh-lotani <83652735+rtbh-lotani@users.noreply.github.com>
Co-authored-by: Tomasz Swirski <tomasz.swirski@rtbhouse.com>

* Bump engine.io from 6.2.0 to 6.2.1 (#9270)

Bumps [engine.io](https://github.com/socketio/engine.io) from 6.2.0 to 6.2.1.
- [Release notes](https://github.com/socketio/engine.io/releases)
- [Changelog](https://github.com/socketio/engine.io/blob/main/CHANGELOG.md)
- [Commits](https://github.com/socketio/engine.io/compare/6.2.0...6.2.1)

---
updated-dependencies:
- dependency-name: engine.io
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Rise readme maintenance (#9272)

* Criteo Bid Adapter : fix getFloor usage issue (#9243)

getFloor call context is loss when we reference it as a callback ; we need to make sure that it is properly mapped as getFloor function assumes that "this" is the actual bid request object

* Rise Bid Adapter: add support for mimes, api, protocols in bid object (#9253)

* added support to mimes, api and protocols based on bid settings

* moved protocols only if object is video

* updated path for protocols property

* added unit test for api, mimes and protocols properties

* Prebid core: fix CPM to always be a  number (#9273)

* nexx360 Bid Adapter: new functionalities and endpoint update (#9229)

* bidder version v1.0

* Comments removed

* Test coverage improvement above 80%

* ePlanning Bid Adapter : fix support for video auction (#9283)

* Fix ad vast

* fix lint spaces in tests

* fix lint spaces in tests

* fix lint spaces in tests

* add smn alias (#9290)

* Smartx Bid Adapter: update custom header (#9291)

* Add smartclipBidAdapter

* smartxBidAdapter.js - removed unused variables, removed debug, added window before the outstream related functions

* - made outstream player configurable

* remove wrong named files

* camelcase

* fix

* Out-Stream render update to SmartPlay 5.2

* ESlint fix

* ESlint fix

* ESlint fix

* adjust tests, fixes

* ESlint

* adjusted desired bitrate examples

* added bid.meta.advertiserDomains support

* bug fix for numeric elementID outstream render

* fix renderer url

* support for floors module

* bugfixes to be openRTB 2.5 compliant

* update internal renderer usage

* remove unused outstream_function logic

* bugfix outstream options for default outstream renderer configuration

* [PREB-10] fix empty title not configurable

* add pbjs version

* testing with outstream 5.3.0

* pbjs version into content.ext

* made visibilityThreshold configurable

* adjust position of pbjs version

* Merge branch 'master' of https://github.com/prebid/Prebid.js into HEAD

* update smartclip outstream player version to support outstream 6 release along with necessary config changes

* Add support for schain

* vacuuming

* update custom header x-openrtb-version to 2.5

Co-authored-by: smartclip AdTechnology <adtech@smartclip.com>
Co-authored-by: Gino Cirlini <adtech@smartclip.tv>
Co-authored-by: smartclip-adtech <65160328+smartclip-adtech@users.noreply.github.com>

* LimeLight Bid Adapter : add IionAds alias (#9285)

* User sync improvements

* User sync improvements

* Code review fixes

* Pass supply chain to limelightDigitalBidAdapter.js

* Add alias for iionads

Co-authored-by: apykhteyev <alex@project-limelight.com>
Co-authored-by: EngineeringProjectLimeLight <45598299+EngineeringProjectLimeLight@users.noreply.github.com>

* Generic Analytics Adapter: initial release (#9134)

* New module: generic analytics adapter

* Use special gvlid value instead of `isVendorless` flag for vendorless consent checks

* Mark generic analytics as vendorless for gdpr enforcement

* Allow analytics adapters to define dynamic gvlids

* Add gvlid option

* Gdpr enforcement softVendorExceptions

* GrowthCode Analytics Adaptor Module: initial module release (#9021)

* Initial check-in ofthe GrowthCode Adaptor

* Growthcode ID System

* Working on test module

* Tests for the growthCode Id System

* Clean up tests for GrowthCode

* Fixed the default values for shareID

* New Analyics package

* Growthcode Analyics Adapter

* Backout growthcode User ID module

* Yieldlift  Bid Adapter: update ttl (#9232)

* Updating TTL, changing endpoint

* Test fixed

Co-authored-by: Danijel Predarski <danijel.p@whitecitysoft.com>

* Multiple analytics modules: allow pub-defined event filters; do not block auction for analytics (#9113)

* Multiple analytics modules: allow pub-defined event filters for analytics

* AnalyticsAdapter: make event handling non-blocking

* Fix infinite recursion on nested events

* Exclude AUCTION_DEBUG by default

* Use a default whitelist intead of default blacklist

* Try to detect and break out of infinite loops caused by events triggering other events

* JW Player RTD Module: prefer segment.id to segment.value (#9153)

* removes id

* updates docs

* Revert "updates docs"

This reverts commit 926a06dd9581868e6fd9e682e68b48592aebbd3e.

* Revert "removes id"

This reverts commit c3a1be70e7274451b6b60381c036385b579eb23b.

* drop segment.value

* AcuityAds adapter: fix issue with download (#9164)

* add prebid.js adapter

* changes

* changes

* changes

* changes

* fix downolad

* AIDEM Bid Adapter: initial adapter release (#9222)

* AIDEM Bid Adapter

* Added _spec.js

* update

* Fix Navigator in _spec.js

* Removed timeout handler.

* Added publisherId as required bidder params

* moved publisherId into site publisher object

Co-authored-by: darkstar <canazza@wazabit.it>

* Ringier Axel Springer Bidder Adapter (#9239)

- New parameter `customParams`

Co-authored-by: skoklowski <slawomir.koklowski@ringieraxelspringer.pl>

* updated ref info page logic (#9241)

* fix for broken download bundle https://github.com/prebid/prebid.github.io/issues/4177 (#9289)

* Yandex Bid Adapter: (#9280)

* refactoring;
* added banner.format to payload;
* added tmax support;
* fixed nurl sending;
* added support for the block identifier format in the Yandex Ad system;

Co-authored-by: Taras Saveliev <t-saveliev@yandex-team.ru>

* Fluct Bid Adapter: add schain support (#9266)

* add schain to req

* run circleci

Co-authored-by: Chris Huie <phoenixtechnerd@gmail.com>

* Update bucksense adapter - new server endpoint (#9292)

* Seedtag Bid Adapter : add support for inBanner and inStream (#9230)

* use inBanner and inStream for video

* remove duplicate video params, now use only params from adunit level

* lint

* improve unit test

* fix adapter for instream support, and fix unit test

* use inStream placement for instream context

* use ALLOWED_DISPLAY_PLACEMENTS

* fix lint error

* empty commit to relaunch CI

* Geoedge RTD module: support billing events (#9267)

* Add billable events for applicable winning bids

* Update test for billable events

* Add meta bid advertiser domains collection

* Revert "Add meta bid advertiser domains collection"

This reverts commit 09c19c90b4dc9d234f282de8adb40850cce31101.

* Add meta bid advertiser domains collection

* Update geoedgeRtdProvider_spec.js

Force circleci

Co-authored-by: daniel manan <mmndaniel@gmail.com>
Co-authored-by: Patrick McCann <patmmccann@gmail.com>

* Vidazoo Bid Adapter: added bid request params (gpid, cat, pagecat) (#9293)

* feat(module): multi size request

* fix getUserSyncs
added tests

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

* feat(module): VidazooBidAdapter - send top query params to server

* added bid request params

* making the linter happy :)

Co-authored-by: roman <shmoop207@gmail.com>
Co-authored-by: Saar Amrani <89377180+saar120@users.noreply.github.com>
Co-authored-by: Saar Amrani <saar120@gmail.com>

* PBjs Core : send native targetings for ortb response (#9252)

* PBjs Core : send native targetings for ortb response

* Add legacy native properties regardless of response mediaType

* add a test for addLegacyFieldsIfNeeded

* fix lint for test

Co-authored-by: Demetrio Girardi <dgirardi@prebid.org>

* Impactify Bid Adapter: add support for BidFloor (#9277)

* Add support of getFloor function

* Add support of getFloor function

* Add support of getFloor function

* Add support of getFloor function

* Add unit test for bid floor

* Add unit test for bid floor

Co-authored-by: Thomas De Stefano <thomas.destefano@impactify.io>

* TTD Bid Adapter: add support for regs.gpp (#9274)

* Update ttdBidAdapter.js

* Update ttdBidAdapter.js

* Update ttdBidAdapter_spec.js

* Update ttdBidAdapter_spec.js

* Update ttdBidAdapter_spec.js

* fix linting

* Update ttdBidAdapter_spec.js

* Update ttdBidAdapter_spec.js

* Update ttdBidAdapter.js

* Update ttdBidAdapter_spec.js

* Update ttdBidAdapter.js

* Update ttdBidAdapter.js

* Update ttdBidAdapter.js

* Update ttdBidAdapter.js

* Update ttdBidAdapter.js

* Update ttdBidAdapter.js

* Update ttdBidAdapter.js

Co-authored-by: Chris Huie <phoenixtechnerd@gmail.com>

* Revert "fix for broken download bundle https://github.com/prebid/prebid.github.io/issues/4177 (#9289)" (#9298)

This reverts commit 5a9aaa8ca5bb47393ddfb08b00d1c4e0af5fd850.

* Revert "AcuityAds adapter: fix issue with download (#9164)" (#9299)

This reverts commit 4f21a5bc9e2e4ace066a4d26ca1c9c637c46a477.

* Add new size 192x160 (ID: 622) in Rubicon Adapter (#9297)

* Redtram Bid Adapter : initial adapter release (#9260)

* Add Redtram Bid Adapter

* add on bidWon test

* extend tests

* remove convertOrtbRequestToProprietaryNative 9260#pullrequestreview-1196218534

Co-authored-by: Oleh Naimushyn <ncm.net@gmail.com>

* VidazooBidAdapter: sending storageAllowed flag with request params (#9294)

* feat(module): multi size request

* fix getUserSyncs
added tests

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

* feat(module): VidazooBidAdapter - send top query params to server

* added bid params to request

Co-authored-by: roman <shmoop207@gmail.com>
Co-authored-by: Saar Amrani <89377180+saar120@users.noreply.github.com>
Co-authored-by: Saar Amrani <saar120@gmail.com>

* Triplelift Adapter: Update referrer logic  (#9304)

* prioritize topmostlocation

* adds test for topmostlocation / referrer

* cleanup

* delete param after test

* TL-32803: Update referrer logic

* TL-32803: Update referrer logic

Co-authored-by: Nick Llerandi <nllerandi@triplelift.com>
Co-authored-by: nllerandi3lift <75995508+nllerandi3lift@users.noreply.github.com>

* Prebid 7.27.0 release

* Increment version to 7.28.0-pre

* ttd Bid Adapter: add regression test topmost domain (#9300)

* TTD Adapter use topmost location when available

* TTD add use top most location regression test

Co-authored-by: Andre Gielow <andre.gielow@thetradedesk.com>

* Kargo Adapter: Update referrer logic (#9305)

* pageURL pull from topmostLocation

* Kargo: Support for client hints (#9)

* Starting SUA support

* Kargo: Adding support for client hints

* Adding tests for sua

* Kargo: Update referer logic

* Discovery Bid Adapter & Mediago Bid Adapter: add support for test request param (#9302)

* Mediago Bid Adapter:new adapter

* remove console

* change spec file to fix CircleCI

* change spec file to fix CircleCI

* change spec file

* Update mediagoBidAdapter.js

* Update mediagoBidAdapter.js

* rerun CurcleCi

* update mediagoBidAdapter

* update discoveryBidAdapter

* Discovery Bid Adapter : parameter updates

* Mediago Bid Adapter : parameter updates

* Mediago Bid Adapter : code style format

* rerun circleci

* rerun circleci

* rerun circleci

* rerun circleci

Co-authored-by: BaronYu <baronwei11@gmail.com>

* OpenX Bid Adapter: update documentation about deprecated platform and hint for using floor module (#9308)

* Bump decode-uri-component from 0.2.0 to 0.2.2 (#9311)

Bumps [decode-uri-component](https://github.com/SamVerschueren/decode-uri-component) from 0.2.0 to 0.2.2.
- [Release notes](https://github.com/SamVerschueren/decode-uri-component/releases)
- [Commits](https://github.com/SamVerschueren/decode-uri-component/compare/v0.2.0...v0.2.2)

---
updated-dependencies:
- dependency-name: decode-uri-component
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* OpenX Bid Adapter: fix bid parameters table in documentation (#9310)

* Bump tibdex/github-app-token from 1.6.0 to 1.7.0 (#9316)

Bumps [tibdex/github-app-token](https://github.com/tibdex/github-app-token) from 1.6.0 to 1.7.0.
- [Release notes](https://github.com/tibdex/github-app-token/releases)
- [Commits](https://github.com/tibdex/github-app-token/compare/f717b5ecd4534d3c4df4ce9b5c1c2214f0f7cd06...021a2405c7f990db57f5eae5397423dcc554159c)

---
updated-dependencies:
- dependency-name: tibdex/github-app-token
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Vidazoo Bid Adapter: support for Video MediaTypes (#9284)

* feat(module): multi size request

* fix getUserSyncs
added tests

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

* feat(client): added VIDEO media type

* feat(client): send mediaTypes to the server

* feat(client): added vastXml support

* fix(client): vidazoo adapter tests

* fix tests

* remove console.log from test file

* added video tests

Co-authored-by: roman <shmoop207@gmail.com>

* Vidazoo bid adapter: fix failing test (#9318)

* Live Intent User ID Submodule: Bump live-connect version (#9317)

* update with live-connect last change

* set globalVarName

* not use globalVarName

* use live-connect proper version

* comment

* use yalc version and adjust the initializer

* adjust getInitializer

* use a proper lc version

* ox update (#9309)

* AdHash bid adapter: update to support latest version (#9286)

* AdHash Bidder Adapter: minor changes

We're operating on a com TLD now.
Added publisher in URL for easier routing.

* Implemented brand safety

Implemented brand safety checks

* Fix for GDPR consent

Removing the extra information as request data becomes too big and is sometimes truncated

* Ad fraud prevention formula changed

Ad fraud prevention formula changed to support negative values as well as linear distribution of article length

* AdHash brand safety additions

Adding starts-with and ends-with rules that will help us with languages such as German where a single word can be written in multiple ways depending on the gender and grammatical case.

* AdHash brand safety updates

Added support for Cyrillic characters.
Added support for bidderURL parameter.
Fixed score multiplier from 500 to 1000.

* AdHash Analytics adapter

* Support for recent ads

Support for recent ads which gives us the option to do frequency and recency capping.

* Fix for timestamp

* PUB-222

Added logic for measuring the fill rate (fallbacks) for Prebid impressions

* Unit tests for the analytics adapter

Added unit tests for the analytics adapter

* Removed export causing errors

Removed an unneeded export of a const that was causing errors with the analytics adapter

* Added globalScript parameter

* PUB-227

Support for non-latin and non-cyrillic symbols

* GEN-964

- Brand safety now checks the page URL for bad words. No ad is shown if there is at least one match.
- Repeating code is optimized and moved to helper function
- Multi-language support for brand safety

* GEN-1025

Sending the needed ad density data to the bidder

* Removing the analytics adaptor

* Fix for regexp match

* Version change

* MINOR

Code review changes

Co-authored-by: NikolayMGeorgiev <nikolay@adhash.org>
Co-authored-by: Ventsislav Saraminev <v.saraminev@abv.bg>
Co-authored-by: Dimitar Kalenderov <mitko.kalenderov@gmail.com>

* Add source and version parameters to the 33across ID request (#9319)

* Prebid Core: ORTB 2.5 translation utilities (#9263)

* ORTB 2.5 spec definition

* ORTB 2.5 translation

* Only test translation of native reqs if FEATURES.NATIVE is set

* Prebid Core: Addition of Optional Category Targeting Key (#9268)

* addition of category optional targeting

* removed console log statements

* console.log statements for debugging

* updated tests

* formatting changes

* added pbs test

* Taboola Bid Adapter: Fixing Accepting Bid Floor Mechanism   (#9279)

* use-convention-for-bidfloor-extraction

* use-convention-for-bidfloor-extraction

* add-unit-tests

* Prebid 7.28.0 release

* Increment version to 7.29.0-pre

* Colossus Bid Adapter: update user sync (#9327)

* add video&native traffic colossus ssp

* Native obj validation

* Native obj validation #2

* Added size field in requests

* fixed test

* fix merge conflicts

* move to 3.0

* move to 3.0

* fix IE11 new URL issue

* fix IE11 new URL issue

* fix IE11 new URL issue

* https for 3.0

* add https test

* add ccp and schain features

* fix test

* sync with upstream, fix conflicts

* Update colossussspBidAdapter.js

remove commented code

* Update colossussspBidAdapter.js

lint fix

* identity extensions

* identity extensions

* fix

* fix

* fix

* fix

* fix

* add tests for user ids

* fix

* fix

* fix

* fix

* fix

* fix

* fix

* add gdpr support

* add gdpr support

* id5id support

* Update colossussspBidAdapter.js

add bidfloor parameter

* Update colossussspBidAdapter.js

check bidfloor

* Update colossussspBidAdapter.js

* Update colossussspBidAdapter.js

* Update colossussspBidAdapter.js

* Update colossussspBidAdapter_spec.js

* use floor module

* Revert "use floor module"

This reverts commit f0c5c248627567e669d8eed4f2bb9a26a857e2ad.

* use floor module

* update to 5v

* fix

* add uid2 and bidFloor support

* fix

* add pbadslot support

* fix conflicts

* add onBidWon

* refactor

* add test for onBidWon()

* fix

* add group_id

* Trigger circleci

* fix

* update user sync

* fix window.location

* fix test

* updates

* fix conflict

* fix

* updates

* remove traffic param

* add transactionId to request data for colossusssp adapter

* Send tid in placements array

* update user sync

* updated tests

* remove changes package-lock file

* fix

Co-authored-by: Vladislav Isaiko <vladis@smartyads.com>
Co-authored-by: Aiholkin <artem.iholkin@smartyads.com>
Co-authored-by: Mykhailo Yaremchuk <m.yaremchuk@smartyads.com>

* PubMatic Analytics Adapter:added parameters in logger call (#9328)

* Logging floor related params in loger

* Adding au and mt parameters in logger and tracker call

* Added extra check

Co-authored-by: pm-azhar-mulla <azhar@L1119.local>
Co-authored-by: pm-priyanka-deshmane <priyanka.deshmane@pubmatic.com>

* Nextmillenium bid adapter: Collection of statistics data (#9265)

* changed name company

* changed name company in test

* Added processing of a new group_id parameter

* Added processing of a new group_id parameter

* changed check parameters

* fixed lint remarks

* added test

* fixed bug - lint

* changed test

* changed test - 2

* fixed bug - adapter

* added logic for getting ad impressions

* Collecting timeouts data

* Collecting resaponses and no_bids data

* changed a name function

* added event bidRequested

* added event bidRequested

* added function initialization events

* fixed bug

* save

* added tests

* Added processing of the disabledSendingStatisticData parameter, which disables sending statistics data

* changed the name of the variables

* Video Module: Ad Queueing (#9226)

* adds queue coordinator

* tests module

* test setAdTag

* tests integration

* updates examples

* documents the event

* loads get queued always

* updates tests

* decouples register from init

* updates tests

* Revert "updates tests"

This reverts commit 1616dfad2bba34a10b3f20fb5680baea7ce11fa1.

* updates tests

* Adnuntius Bid Adapter: native added (#9330)

* package lock fix.

* Add dimensions to prebid.

* Adnuntius Bid Adapter. Added native as a media type.

* Prebid core: enrich FPD by default (#9205)

* Move rootDomain

* Move FPD enrichments to core

* Remove fpdEnrichments module

* Cleanup

* Add `site`, `device`, and coppa enrichments

* FPD enrichments: GDPR

* FPD enrichments: USP

* Enrich FPD from requestBids

* Fix typo in package.json

* Permutive RTD Module: add support for new ssp standard cohorts (#9236)

* add logic to parse and pass ssp data to appnexus

* simplify shouldSetConfig condition

* Write SSP cohorts into p_standard targeting (+ bug fixes)

* fix tests

* Simplify

* add logic to parse and pass ssp data to appnexus

* simplify shouldSetConfig condition

* Write SSP cohorts into p_standard targeting (+ bug fixes)

* fix tests

* Simplify

* use new key for auction kw cohorts

* Push SSP cohorts to SSPs via ORTB2

* Add tests and fix bugs

* Update tests

* update example with _pssps

* Remove custom `appnexusAuctionKeywords` and use user.keywords in ortb2 config

* Fix linting issues

Co-authored-by: Paulius Imbrasas <paulius@permutive.com>

* Jixie Bid Adapter: Add read jxtoko cookie (#9331)

* Adapter does not seem capable of supporting advertiserDomains #6650
added response comment and some trivial code.

* removed a blank line at the end of file
added a space behind the // in comments

* in response to comment from reviewer. add the aspect of advertiserdomain in unit tests

* added the code to get the keywords from the meta tags if available.

* added some cookie fetching

* AdagioBidAdapter: add missing try-catch (#9338)

* AdUp Technology bid adapter: optimize floor price detection (#9332)

* nextMillenniumBidAdapter: improve getUserSyncs function (#9313)

* add video support

* improve userSync url

* improve userSync url

* Add tests for a new cases

* use deepAccess instead of instanceof

* Uid2 module: major implementation change (#9264)

* Complete the UID2 integration.

Update docs.
Add tests.

* Removed some unnecessary code in uid2IdSystem.uid2IdSystem.

Improved log messages.
Pass through configured baseUrl.
Tidied up some in-progress code problems.
Added a timer mock to track and clear timers at the end of each test, to prevent interference.
Improved testing code and fixed some bugs.

* Move cookie cleanup into the after so it doesn't leave a mess behind for subsequent tests.

Allow specifying multiple --file options when running/watching tests.

* Provide an additional mock object for some test environments which don't provide crypto.subtle.

* Improve some documentation for the UID2 module.

* Improved UID2 module logging when debug flag is enabled.

* Added tests around the api base url config for UID2.

Added the new UID2 config to the example.

* Update integration example to attempt a token refresh (it will fail due to not being a valid token).

* Refactor to avoid duplicating cookie read code.

Add a test for the case when the id value is provided directly in config without making use of the new token refresh system.

* Fix an incorrect log call.

Co-authored-by: Lionell Pack <lionell.pack@thetradedesk.com>

* Globalsun Bid Adapter: Initial Release (#9307)

* init new adapter Globalsun

* kick off integration tests

Co-authored-by: Chris Huie <phoenixtechnerd@gmail.com>

* Topics module: Initial Topics iframe implementation (#8947)

* Topics: Initial Topics iframe implementation

* Topics API: LINT errors solved

* Added Empty Topics Check

* Topics: Storage Map logic and added message listener secure check

* Topics: Iframe implementation for bidders

* Added topics_iframe html in example for reference

* Added Pubmatic Topic iframe URL

* Added Pubmatic Topic iframe URL- Removed comment

* Topics Module: Consent management logic added

* Topics Module: Added Device Access check

* Topics Module: Unit test cases added and minor changes

* Topics Module: Array.find used instead of array.some and variable name changed

* Topics IFrame Implementation: Purpose present check is handled

* Nativo Bid Adapter: added ntv_url qs param value validation (#9334)

* Initial nativoBidAdapter document creation (js, md and spec)

* Fulling working prebid using nativoBidAdapter. Support for GDPR and CCPA in user syncs.

* Added defult size settings based on the largest ad unit. Added response body validation. Added consent to request url qs params.

* Changed bidder endpoint url

* Changed double quotes to single quotes.

* Reverted package-json.lock to remove modifications from PR

* Added optional bidder param 'url' so the ad server can force- match an existing placement

* Lint fix. Added space after if.

* Added new QS param to send various adUnit data to adapter endpopint

* Updated unit test for new QS param

* Added qs param to keep track of ad unit refreshes

* Updated bidMap key default value

* Updated refresh increment logic

* Refactored spread operator for IE11 support

* Updated isBidRequestValid check

* Refactored Object.enties to use Object.keys to fix CircleCI testing errors

* Updated bid mapping key creation to prioritize ad unit code over placementId

* Added filtering by ad, advertiser and campaign.

* Merged master

* Added more robust bidDataMap with multiple key access

* Deduped filer values

* Rolled back package.json

* Duped upstream/master's package.lock file ... not sure how it got changed in the first place

* Small refactor of filterData length check. Removed comparison with 0 since a length value of 0 is already falsy.

* Added bid sizes to request

* Fixed function name in spec. Added unit tests.

* Added priceFloor module support

* Added protection agains empty url parameter

* Changed ntv_url QS param to use referrer.location instead of referrer.page

* Removed testing 'only' flag

* Added ntv_url QS param value validation

* Prebid 7.29.0 release

* Increment version to 7.30.0-pre

* Build system: set up `hook` for tests (#9350)

* add encoding for device param (#9352)

* OneTag Bid Adapter: add use of refererInfo Prebid object and Network API (#9306)

* OneTag Bid Adapter: add use of refererInfo Prebid object and Network Information API

* Replace refererInfo.location with refererInfo.page

Co-authored-by: federico <f.liccione@onetag.com>

* TheMediaGrid: fix tmax value (#9339)

* Viously Bid Adapter : New Adapter (#9076)

* Add viously Bid Adapter

* Mod: viously documentation

* MR fixes

* Topics FPD module: fix tests (#9354)

* Ccx Bid Adapter: Add GVLID param (#9359)

* adomain support

* adomain support

* adomain support

* adomain support

* adomain support

* video params

* docs changes

* Clickonometrics adapter update

* Revert "Revert "Clickonometrics Bid Adapter : add gvlid (#9198)" (#9216)"

This reverts commit 6d114e83725b403fadd889202b449de225db7275.

* Revert "Ccx Bid Adapter: Add GVLID param (#9359)" (#9363)

This reverts commit 77647180e5fc3c8058adcf5d642499ad3146b495.

Co-authored-by: Demetrio Girardi <demetrio.girardi@gmail.com>

* GPP consent module: phase one release (#9321)

* GPP consent module phase 1

* various updates and added test pages

* revise calling CMP, remove provisionalConsent, remove cmpDisplayStatus check, update pbs usersync

* change callback check to be more strict

* update logic on adding gpp data to ortb2

* update gpp metadata

* Magnite Analytics Adapter :  data deletion function (#9351)

* add onDeletionRequest functionality to Magnite adapter

* Magnite add onDataDeletionRequest unit testing

* Colosuss Bid Adapter: add support First Party Data (#9340)

* add video&native traffic colossus ssp

* Native obj validation

* Native obj validation #2

* Added size field in requests

* fixed test

* fix merge conflicts

* move to 3.0

* move to 3.0

* fix IE11 new URL issue

* fix IE11 new URL issue

* fix IE11 new URL issue

* https for 3.0

* add https test

* add ccp and schain features

* fix test

* sync with upstream, fix conflicts

* Update colossussspBidAdapter.js

remove commented code

* Update colossussspBidAdapter.js

lint fix

* identity extensions

* identity extensions

* fix

* fix

* fix

* fix

* fix

* add tests for user ids

* fix

* fix

* fix

* fix

* fix

* fix

* fix

* add gdpr support

* add gdpr support

* id5id support

* Update colossussspBidAdapter.js

add bidfloor parameter

* Update colossussspBidAdapter.js

check bidfloor

* Update colossussspBidAdapter.js

* Update colossussspBidAdapter.js

* Update colossussspBidAdapter.js

* Update colossussspBidAdapter_spec.js

* use floor module

* Revert "use floor module"

This reverts commit f0c5c248627567e669d8eed4f2bb9a26a857e2ad.

* use floor module

* update to 5v

* fix

* add uid2 and bidFloor support

* fix

* add pbadslot support

* fix conflicts

* add onBidWon

* refactor

* add test for onBidWon()

* fix

* add group_id

* Trigger circleci

* fix

* update user sync

* fix window.location

* fix test

* updates

* fix conflict

* fix

* updates

* remove traffic param

* add transactionId to request data for colossusssp adapter

* Send tid in placements array

* update user sync

* updated tests

* remove changes package-lock file

* fix

* add First Party Data

Co-authored-by: Vladislav Isaiko <vladis@smartyads.com>
Co-authored-by: Aiholkin <artem.iholkin@smartyads.com>
Co-authored-by: Mykhailo Yaremchuk <m.yaremchuk@smartyads.com>

* Clickonometrics Bid Adapter: gvlid (#9367)

* adomain support

* adomain support

* adomain support

* adomain support

* adomain support

* video params

* docs changes

* Clickonometrics adapter update

* Revert "Revert "Clickonometrics Bid Adapter : add gvlid (#9198)" (#9216)"

This reverts commit 6d114e83725b403fadd889202b449de225db7275.

* Test fix

* Prebid 7.30.0 release

* Increment version to 7.31.0-pre

* Bump parse-url from 7.0.2 to 8.1.0 (#9372)

Bumps [parse-url](https://github.com/IonicaBizau/parse-url) from 7.0.2 to 8.1.0.
- [Release notes](https://github.com/IonicaBizau/parse-url/releases)
- [Commits](https://github.com/IonicaBizau/parse-url/compare/7.0.2...8.1.0)

---
updated-dependencies:
- dependency-name: parse-url
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Prebid core: filter adUnits (by `adUnitCodes`) before sending them to RTD and FPD modules (#9355)

* Prebid Server: Include adUnitCode in PBS Adapter Requests (#9337)

* changes

* added support to pass adunitcode to pbs

* updated comment

* removed console log statements

* addressed feedback

* Feedad Bid Adapter: fixed usersync parsing (#9353)

* added file scaffold

* added isBidRequestValid implementation

* added local prototype of ad integration

* added implementation for placement ID validation

* fixed video context filter

* applied lint to feedad bid adapter

* added unit test for bid request validation

* added buildRequest unit test

* added unit tests for timeout and bid won callbacks

* updated bid request to FeedAd API

* added parsing of feedad api bid response

* added transmisison of tracking events to FeedAd Api

* code cleanup

* updated feedad unit tests for buildRequest method

* added unit tests for event tracking implementation

* added unit test for interpretResponse method

* added adapter documentation

* added dedicated feedad example page

* updated feedad adapter to use live system

* updated FeedAd adapter placement ID regex

* removed groups from FeedAd adapter placement ID regex

* removed dedicated feedad example page

* updated imports in FeedAd adapter file to use relative paths

* updated FeedAd adapter unit test to use sinon.useFakeXMLHttpRequest()

* added GDPR fields to the FeedAd bid request

* removed video from supported media types of the FeedAd adapter

* increased version code of FeedAd adapter to 1.0.2

* removed unnecessary check of bidder request

* fixed unit test testing for old FeedAd version

* removed video media type example from documentation file

* added gvlid to FeedAd adapter

* added decoration parameter to adapter documentation

* added pass through of additional bid parameters

* added user syncs to FeedAd bid adapter

* increased FeedAd bid adapter version

* lint pass over FeedAd bid adapter

* fixed parsing of user syncs from server response

* increased FeedAd bid adapter version

* fixed version code in test file

* Datawrkz adapter: Using bidRequest.getFloor() method for bid floor (#9366)

* New Bid Adapter: datawrkz

* New Bid Adapter: datawrkz. Test case formatting

* New Bid Adatpter: datawrkz - updated import statements

* Datawrkz adapter: Using bidRequest.getFloor() method for bid floor

* Adkernel Bid Adapter: bidbuddy.co.in alias (#9375)

* Confiant RTD Module : initial release (#9325)

* Confiant's RTD Provider Module

* Confiant RTD Module:
- updated script injection code to current standard
- added Confiant as an exclusion to load external JS

* Confiant RTD Provider:
- additional param for enabling BillingEvent added
- docs updated
- outdated unit test removed

Co-authored-by: Patrick McCann <patmmccann@gmail.com>

* Prebid 7.31.0 release

* Increment version to 7.32.0-pre

* Confiant RTD Provider: (#9382)

- fix comment line

* Rise Bid Adapter: added isWrapper parameter to adapter request (#9329)

* add Rise adapter

* fixes

* change param isOrg to org

* Rise adapter

* change email for rise

* fix circle failed

* bump

* bump

* bump

* remove space

* Upgrade Rise adapter to 5.0

* added isWrapper param

* addes is_wrapper parameter to documentation

* added is_wrapper to test

* removed isWrapper

Co-authored-by: Noam Tzuberi <noam.tzuberi@ironsrc.com>
Co-authored-by: noamtzu <noamtzu@gmail.com>
Co-authored-by: Noam Tzuberi <noamtzu@users.noreply.github.com>
Co-authored-by: Laslo Chechur <laslo.chechur@ironsrc.com>
Co-authored-by: OronW <41260031+OronW@users.noreply.github.com>
Co-authored-by: lasloche <62240785+lasloche@users.noreply.github.com>

* Added video media type support (#9326)

* Aso Bid Adapter: add bcmint alias (#9387)

* Add bcmint alias

* kick off tests

Co-authored-by: dev <dev@adsrv.org>
Co-authored-by: Chris Huie <phoenixtechnerd@gmail.com>

* AIDEM Bid Adapter: added wpar and placementId param (#9377)

* AIDEM Bid Adapter

* Added _spec.js

* update

* Fix Navigator in _spec.js

* Removed timeout handler.

* Added publisherId as required bidder params

* moved publisherId into site publisher object

* Added wpar to environment

* Added placementId parameter

* added unit tests for the wpar environment object

Co-authored-by: darkstar <canazza@wazabit.it>
Co-authored-by: AndreaC <67786179+darkstarac@users.noreply.github.com>

* Taboola Bid Adapter: onBidWon, userSyncs, gpp support and FPD  (#9376)

* on-bid-won

* support-fpd

* support-fpd

* support-fpd

* support-fpd

* support-fpd

* support-fpd

* implement-get-user-sync

* implement-get-user-sync

* implement-get-user-sync

* implement-get-user-sync

* implement-get-user-sync

* implement-get-user-sync

* implement-get-user-sync

* implement-get-user-sync

* implement-get-user-sync

* position-pagetype

* Yieldlab Bid Adapter: read and pass UserIdsAsEids atype information (#9370)

* YieldlabBidAdapter read atype information from UserIdsAsEids and pass it as query parameter (atypes={idprovider}:{atype},{idprovider2}:{atype2},...)

* Update type hint and add semi colons

Co-authored-by: Christoph Kipping <29540638+kippsterr@users.noreply.github.com>

* Medianet RTD module: fix `getTargetingData` to retrieve correct adUnits (#9392)

* Holid Bid Adapter: initial release  (#9371)

* Holid bid adapter

* Adjust test to various device sizes

* Include first party data from ortb2 object

* Remove trailing spaces in test

* Appnexus Bid Adapter : add video data from the request to the bid response (#9396)

* Appnexus adapter: add video data from the request to the bid response

* kick off tests

* remove change

Co-authored-by: Chris Huie <phoenixtechnerd@gmail.com>

* AdagioBidAdapter: Remove some params (#9398)

* Feedad Bid Adapter: added new bid request parameters (#9397)

* added file scaffold

* added isBidRequestValid implementation

* added local prototype of ad integration

* added implementation for placement ID validation

* fixed video context filter

* applied lint to feedad bid adapter

* added unit test for bid request validation

* added buildRequest unit test

* added unit tests for timeout and bid won callbacks

* updated bid request to FeedAd API

* added parsing of feedad api bid response

* added transmisison of tracking events to FeedAd Api

* code cleanup

* updated feedad unit tests for buildRequest method

* added unit tests for event tracking implementation

* added unit test for interpretResponse method

* added adapter documentation

* added dedicated feedad example page

* updated feedad adapter to use live system

* updated FeedAd adapter placement ID regex

* removed groups from FeedAd adapter placement ID regex

* removed dedicated feedad example page

* updated imports in FeedAd adapter file to use relative paths

* updated FeedAd adapter unit test to use sinon.useFakeXMLHttpRequest()

* added GDPR fields to the FeedAd bid request

* removed video from supported media types of the FeedAd adapter

* increased version code of FeedAd adapter to 1.0.2

* removed unnecessary check of bidder request

* fixed unit test testing for old FeedAd version

* removed video media type example from documentation file

* added gvlid to FeedAd adapter

* added decoration parameter to adapter documentation

* added pass through of additional bid parameters

* added user syncs to FeedAd bid adapter

* increased FeedAd bid adapter version

* lint pass over FeedAd bid adapter

* fixed parsing of user syncs from server response

* increased FeedAd bid adapter version

* fixed version code in test file

* added adapter and prebid version to bid request parameters

* removed TODO item

* added missing test case for user syncs

* increased adapter version to 1.0.5

* Yieldlab Bid Adapter: code style updates (#9386)

* Consistently add trailing comma and semicolons everywhere

* Use shorthand object property function definition

* Fix typo and update type hint

* GPP support for the yahoo connect id module. (#9399)

Co-authored-by: dumitrubarbos <dumitru-radu.barbos@yahooinc.com>

* yahoospp bidder& aol bidder: GPP Support in bid requests (#9345)

* GPP support for the yahoospp bidder and legacy aol bidder.

* GPP support for the yahoospp bidder and legacy aol bidder.

* GPP support for the yahoo connect id module - review comments.

* GPP support for the yahoo connect id module - review comments.

* GPP support for the yahoo connect id module - review comments.

Co-authored-by: dumitrubarbos <dumitru-radu.barbos@yahooinc.com>

* Orbitsoft Bid Adapter : add adapter back to current version (#9288)

* Adding Orbitsoft module

* Adding Orbitsoft module (corrected)

* Adding Orbitsoft module (correction of remarks)

* Adding Orbitsoft module (correction of remarks)

* Adding Orbitsoft module (correction to alias-able)

* Adding Orbitsoft module (correction to alias-able)

* Adding Orbitsoft module (correction to alias-able)

* Adding Orbitsoft module (correction to alias-able)

* Adding Orbitsoft module (correction to new constructor)

* Adding Orbitsoft module (delete unnecessary aliases)

* Adding Orbitsoft module (delete unnecessary aliases)

* fixed orbitsoftAdapter

* fixed orbitsoftAdapter processing undefined request referrer

* fixed orbitsoftAdapter processing undefined request referrer

* fix-orbitsoftAdaper: codereview fixes

* added changes for new spec

* added changes for new spec

* added changes for new spec

Co-authored-by: Dmitriy Shimko <dmitriy.shimko@orbitsoft.com>
Co-authored-by: Хатламаджиян Виталий <vitaly.khatlamadzhiyan@orbitsoft.com>

* extract-gpid (#9401)

* Yieldmo Adapter: Add support for structured user agent  (#9380)

* Adding sua to device object

* Update

* import pick

* ESLint fixes

* Adding unit test

* Copying entire device object

* appnnexus bid adapter - support for adomain (#9403)

* smartx Bid Adapter: add support for sitekey (#9408)

* Add smartclipBidAdapter

* smartxBidAdapter.js - removed unused variables, removed debug, added window before the outstream related functions

* - made outstream player configurable

* remove wrong named files

* camelcase

* fix

* Out-Stream render update to SmartPlay 5.2

* ESlint fix

* ESlint fix

* ESlint fix

* adjust tests, fixes

* ESlint

* adjusted desired bitrate examples

* added bid.meta.advertiserDomains support

* bug fix for numeric elementID outstream render

* fix renderer url

* support for floors module

* bugfixes to be openRTB 2.5 compliant

* update internal renderer usage

* remove unused outstream_function logic

* bugfix outstream options for default outstream renderer configuration

* [PREB-10] fix empty title not configurable

* add pbjs version

* testing with outstream 5.3.0

* pbjs version into content.ext

* made visibilityThreshold configurable

* adjust position of pbjs version

* Merge branch 'master' of https://github.com/prebid/Prebid.js into HEAD

* update smartclip outstream player version to support outstream 6 release along with necessary config changes

* Add support for schain

* vacuuming

* update custom header x-openrtb-version to 2.5

* add support for sitekey to smartxBidAdapter

Co-authored-by: smartclip AdTechnology <adtech@smartclip.com>
Co-authored-by: Gino Cirlini <adtech@smartclip.tv>
Co-authored-by: smartclip-adtech <65160328+smartclip-adtech@users.noreply.github.com>

* Adloox RTD Module: fix breakage since 7.x release (#9383)

getTargetingData resulted in a crash as 'auction' is no longer
passed in and we needed access to the global ORTB2 targetings.

Reworked to be a lot simplier, and removed the ATF viewability
segment and use the results of intersectionRtdProvider if present

* JW Player Video Module: trigger error when missing div id (#9407)

* checks for divId and get state existence

* adds test for missing divId

* add gppConsent (#9415)

* ssp added to meta.demandSource (#9409)

* adds a safety check (#9420)

* Alkimi Bid Adapter: using the floors convention (#9368)

* Alkimi bid adapter

* Alkimi bid adapter

* Alkimi bid adapter

* alkimi adapter

* onBidWon change

* sign utils

* auction ID as bid request ID

* unit test fixes

* change maintainer info

* Updated the ad unit params

* features support added

* transfer adUnitCode

* transfer adUnitCode: test

* AlkimiBidAdapter getFloor() using

Co-authored-by: Alexander Bogdanov <akascheev@asteriosoft.com>
Co-authored-by: Kalidas Engaiahraj <kalidas@alkimiexchange.com>
Co-authored-by: mihanikw2g <92710748+mihanikw2g@users.noreply.github.com>
Co-authored-by: Nikulin Mikhail <mnikulin@asteriosoft.com>

* init new Appush adapter (#9346)

* Prebid 7.32.0 release

* Increment version to 7.33.0-pre

* TargetVideo Bid Adapter: Updating margin rule (#9428)

* TargetVideo bid adapter

* TargetVideo bid adapter

* TargetVideo bid adapter

* TargetVideo Bid Adapter: Add GDPR/USP support

* TargetVideo Bid Adapter: Add GDPR/USP support tests

* TargetVideo Bid Adapter: Updating margin rule

* PBjs Core (Price Floors) : Support inverseBidAdjustment function (#9395)

* support inverseBidAdjustment function

* pass in bidRequest object to adjustments

* dont do fake bids bobby duh

* Criteo Bid Adapter : Bump Publisher Tag version (#9429)

Update reference to version 133 (latest)

* IX Bid Adapter: retrieve user/agent hints and fix tmax issue (#9394)

* feat: passthrough gpp information when it is provided [PB-1395]

* chore: passthrough using module [PB-1395]

* IX Bid Adapter Changes: change mtype logic, useragent client hints, change tmax logic

* remove fallback for tmax timeout

Co-authored-by: Chris Corbo <chris.corbo@indexexchange.com>

* PBjs Core (Promises): fix static method GreedyPromise.resolve not working with Angular + Zone.js (#9426)

* fix: Webpack v5 complain about named export from JSON modules

* Index Exchange Adapter: fix "Should not import the named export 'EVENTS'.'AUCTION_DEBUG' (imported as 'EVENTS') from default-exporting module (only default export is available soon)""

* fix: Uncaught TypeError: Cannot read properties of undefined (reading 'getSlotElementId')

* fix: Uncaught TypeError: Cannot read properties of undefined (reading 'getSlotElementId')

* fix #9422

* refactor: fix linting error

Co-authored-by: Javier Marín <contacto@ideatic.net>

* USP consent management: handle errors from CMPs that cannot deal with `registerDeletion` (#9434)

* nexx360 Bid Adapter: aliases list update (#9439)

* ssp added to meta.demandSource

* aliases update

* Update live-connect-js version (#9438)

* update live-connect-js

* fix

* fix package-lock.json

* enable video/banner mediatypes for inImage/inBanner/inArticle/inScreen (#9417)

* The payload extended with document.referer and canonicalUrl (#9416)

* Prebid 7.33.0 release

* Increment version to 7.34.0-pre

* Admixer Bid Adapter : adding floor module support and new alias  (#9427)

* add floor module support

* bidFloor update

* Update admixerBidAdapter.md

* Update admixerBidAdapter.js

* remove tests

* tests

* floor test

* Update admixerBidAdapter_spec.js

* Update admixerBidAdapter_spec.js

* Update admixerBidAdapter.js

* https endpoint

* lint bugs fix

* Admatic Bid Adapter : bugfix with AdserverCurrency param (#9451)

* Admatic Bidder Adaptor

* Update admaticBidAdapter.md

* Update admaticBidAdapter.md

* remove floor parameter

* Update admaticBidAdapter.js

* Admatic Bid Adapter: alias and bid floor features activated

* Admatic adapter: host param control changed

* Alias name changed.

* Revert "Admatic adapter: host param control changed"

This reverts commit de7ac85981b1ba3ad8c5d1dc95c5dadbdf5b9895.

* added alias feature and host param

* Revert "added alias feature and host param"

This reverts commit 6ec8f4539ea6be403a0d7e08dad5c7a5228f28a1.

* Revert "Alias name changed."

This reverts commit 661c54f9b2397e8f25c257144d73161e13466281.

* Revert "Admatic Bid Adapter: alias and bid floor features activated"

This reverts commit 7a2e0e29c49e2f876b68aafe886b336fe2fe6fcb.

* Revert "Update admaticBidAdapter.js"

This reverts commit 7a845b7151bbb08addfb58ea9bd5b44167cc8a4e.

* Revert "remove floor parameter"

This reverts commit 7a23b055ccd4ea23d23e73248e82b21bc6f69d90.

* Admatic adapter: host param control && Add new Bidder

* Revert "Admatic adapter: host param control && Add new Bidder"

This reverts commit 3c797b120c8e0fe2b851381300ac5c4b1f92c6e2.

* commit new features

* Update admaticBidAdapter.js

* updated for coverage

* sync updated

* Update adloader.js

* AdMatic Bidder: development of user sync url

* Update admaticBidAdapter.js

* Set currency for AdserverCurrency: bug fix

* added support for user agent client hints (#9445)

* nextMillenniumBidAdapter: fix replaceGetUserMacro function (#9442)

* add video support

* fix replaceUserMacro func

* Add tests

Co-authored-by: Mikhail Ivanchenko <mifanich1991@gmail.com>

* kargo - adding support for vast url in bid response (#9447)

* openxOrtbBidAdapter: fix device.sua test (#9452)

* Criteo Bid Adapter : Bump Publisher Tag version (#9450)

Co-authored-by: v.raybaud <v.raybaud@criteo.com>

* BLIINK Bid Adapter: fix ttl (#9443)

* fix(bliink): bid ttl

* fix(bliink): ttl unit tests

Co-authored-by: Samous <samuel@bliink.io>

* Bump ua-parser-js from 0.7.32 to 0.7.33 (#9456)

Bumps [ua-parser-js](https://github.com/faisalman/ua-parser-js) from 0.7.32 to 0.7.33.
- [Release notes](https://github.com/faisalman/ua-parser-js/releases)
- [Changelog](https://github.com/faisalman/ua-parser-js/blob/master/changelog.md)
- [Commits](https://github.com/faisalman/ua-parser-js/compare/0.7.32...0.7.33)

---
updated-dependencies:
- dependency-name: ua-parser-js
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Triplelift Bid Adapter: Support for GPP in bid requests (#9455)

* prioritize topmostlocation

* adds test for topmostlocation / referrer

* cleanup

* delete param after test

* TL-32803: Update referrer logic

* TL-32803: Update referrer logic

* TL-34204: Add support for GPP

Co-authored-by: Nick Llerandi <nllerandi@triplelift.com>
Co-authored-by: nllerandi3lift <75995508+nllerandi3lift@users.noreply.github.com>

* Lotame Panorama ID Module : add safari handling (#9418)

* GRUE-176 work in progress, trying to make the id URL dynamic.

* GRUE-176 After some attempts with leveraging environment variables, decided to look for an environment variable passed on configuration.

* GRUE-177 WIP added a fix for handling timestamps, plus there's some temporary debugging that I was using to understand flow.

* GRUE-177 Fixed bug with localStorage checking for empty, included null as a possible return value.

* GRUE-177 updated the environment handling for dev, qa, and prod. I'm still on the fence on whether we need this, but it's allowing the tests to pass currently, so leaving it in for now.

* GRUE-178 removed the dynamic URL handling for the ID endpoint. We will manage that change with the build process for testing.

* GRUE-339 changes to check for browser, and accomodate Safari with a different URL.

* GRUE-339 changes to check for browser, and accomodate Safari with a different URL.

* GRUE-339 Removed the obfuscation from the Safari URL, as it was deemed unnecessary.

* GRUE-339 corrected the safari id endpoint - I had forgotten that it was different than the usual one.

* GRUE-339 Updated test to cover Safari handling.

* GRUE-340 Updated the variable name for the cookieless domain, to remove the emphasis on Safari and better illustrate that this is a general approach.

Co-authored-by: Mark Conrad <mconrad@lotame.com>
Co-authored-by: Mark <markaconrad@users.noreply.github.com>

* Adnuntius Bid Adapter: Bug fix for multiple mime types. (#9458)

* Holid bid adapter: skip user syncs when no bidders in bid response (#9462)

* Seeding Alliance Bid Adapter: add banner support and get endpoint-url from config (#9404)

* add seedingAlliance Adapter

* add two native default params

* ...

* ...

* seedingAlliance Adapter: add two more default native params

* updating seedingAlliance Adapter

* seedingAlliance Adapter

* quickfix no bids + net revenue

* bugfix replace auction price

* change URL  and add versioning

* add vendorId to seedingAllianceAdapter

* optimize code + banner support

* add newline at the end of file

* fix ci/circleci error

* add new specs

Co-authored-by: SeedingAllianceTech <55976067+SeedingAllianceTech@users.noreply.github.com>
Co-authored-by: Hendrick Musche <107099114+sag-henmus@users.noreply.github.com>
Co-authored-by: Hendrick Musche <musche@seeding-alliance.de>

* Emx Digital Bid Adapter : adding US Privacy string support (#9461)

* adding ccpa support for emx_digital adapter

* emx_digital ccpa compliance: lint fix

* emx 3.0 compliance update

* fix outstream renderer issue, update test spec

* refactor formatVideoResponse function to use core-js/find

* Add support for schain forwarding

* Resolved issue with Schain object location

* prebid 5.0 floor module and advertiserDomain support

* liveramp idl and uid2.0 support for prebid

* gpid support

* remove utils ext

* remove empty line

* remove trailing spaces

* move gpid test module

* move gpid test module

* removing trailing spaces from unit test

* remove comments from unit test

* Include us_privacy string in redirects (#8)

* include us_privacy string in redirects

* added test cases for us_privacy and gdpr

* added test cases for  gdpr without usp

* updated test case when no privacy strings and fixed package-lock.json

* revert package-lock.json

Co-authored-by: EMXDigital <rakesh.balakrishnan@emxdigital.com>

* kick off ci tests

Co-authored-by: Nick Colletti <nick.colletti@emxdigital.com>
Co-authored-by: Nick Colletti <gnomish@gmail.com>
Co-authored-by: Kiyoshi Hara <Kiyoshi.Hara@emxdigital.com>
Co-authored-by: Dan Bogdan <daniel.bogdan@emxdigital.com>
Co-authored-by: Jherez Taylor <jherez.taylor@emxdigital.com>
Co-authored-by: EMXDigital <emxdigital@emxdigital.com>
Co-authored-by: Rakesh Balakrishnan <Rakesh.Balakrishnan@emxdigital.com>
Co-authored-by: Kevin <kevin.hagens@brealtime.com>
Co-authored-by: Chris Huie <phoenixtechnerd@gmail.com>

* consumableBidAdapter: add gdpr and usp sync params (#9463)

* PBS Bid Adapter : site should not exist when app is present (#9258)

* Update prebidServerBidAdapter_spec.js

* Update prebidServerBidAdapter_spec.js

* fix test

* remove app from site test

* add site/app/dooh function

* fix config

* remove deepSetValue

* add to ortb converter

* add check

* add back publisher.id

* fix linting

* ortb conversion lib: leave only one of dooh, app, or site in the request

Co-authored-by: Demetrio Girardi <dgirardi@prebid.org>

* updated pbs filterSettings to sync with pbjs config filterSettings (#9423)

* ArcSpan RTD Module: Initial Release (#9459)

* Create arcspanRtdProvider.md

* Added ArcSpan RTD Provider

* Implemented alter bid request function in ArcSpan RTD Provider

* Added unit tests for ArcSpan RTD Provider

* Added more unit tests for ArcSpan RTD Provider

* Load ArcSpan scripts using Prebid script loader

* Fixed…
jorgeluisrocha pushed a commit to jwplayer/Prebid.js that referenced this pull request May 23, 2023
* Topics: Initial Topics iframe implementation

* Topics API: LINT errors solved

* Added Empty Topics Check

* Topics: Storage Map logic and added message listener secure check

* Topics: Iframe implementation for bidders

* Added topics_iframe html in example for reference

* Added Pubmatic Topic iframe URL

* Added Pubmatic Topic iframe URL- Removed comment

* Topics Module: Consent management logic added

* Topics Module: Added Device Access check

* Topics Module: Unit test cases added and minor changes

* Topics Module: Array.find used instead of array.some and variable name changed

* Topics IFrame Implementation: Purpose present check is handled
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Enhancements to Topics module
7 participants