Skip to content

RhythmOne Adapter: dedupe frameImp and interpretResponse flows#14571

Open
patmmccann wants to merge 7 commits intomasterfrom
codex/extract-common-functions-into-library-sunlom
Open

RhythmOne Adapter: dedupe frameImp and interpretResponse flows#14571
patmmccann wants to merge 7 commits intomasterfrom
codex/extract-common-functions-into-library-sunlom

Conversation

@patmmccann
Copy link
Copy Markdown
Collaborator

@patmmccann patmmccann commented Mar 9, 2026

Motivation

  • Remove remaining duplicated impression framing and response interpretation logic shared between the Marsmedia and RhythmOne adapters by centralizing common flows into a shared library to improve maintainability.

@github-actions
Copy link
Copy Markdown

github-actions bot commented Mar 9, 2026

Tread carefully! This PR adds 2 linter errors (possibly disabled through directives):

  • libraries/rhythmoneMarsUtils/index.js (+2 errors)

Copy link
Copy Markdown

@chatgpt-codex-connector chatgpt-codex-connector bot left a comment

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 16a4fd2760

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

const impObj = {
id: bidRequestData.adUnitCode,
secure: isSecure,
ext: frameExt(bidRequestData)
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P2 Badge Validate media before invoking frameExt

buildImpressionList now calls frameExt before verifying that a bid produced a valid banner/video impression, which changes behavior for malformed bids that should be skipped. In the Marsmedia path, frameExt performs banner-size processing (getMinSize(processedSizes)) and can throw on invalid mediaTypes.banner.sizes shapes; previously frameExt was only reached after frameBanner/frameVideo succeeded, so these bids were dropped instead of crashing request building. This can cause the adapter request flow to fail for bad publisher size configs that were previously tolerated.

Useful? React with 👍 / 👎.

@coveralls
Copy link
Copy Markdown
Collaborator

coveralls commented Mar 9, 2026

Coverage Report for CI Build 24375532235

Warning

Build has drifted: This PR's base is out of sync with its target branch, so coverage data may include unrelated changes.
Quick fix: rebase this PR. Learn more →

Coverage increased (+0.001%) to 96.344%

Details

  • Coverage increased (+0.001%) from the base build.
  • Patch coverage: 2 uncovered changes across 2 files (86 of 88 lines covered, 97.73%).
  • 1 coverage regression across 1 file.

Uncovered Changes

File Changed Covered %
libraries/rhythmoneMarsUtils/index.js 74 73 98.65%
modules/marsmediaBidAdapter.js 8 7 87.5%

Coverage Regressions

1 previously-covered line in 1 file lost coverage.

File Lines Losing Coverage Coverage
test/spec/modules/id5AnalyticsAdapter_spec.js 1 96.13%

Coverage Stats

Coverage Status
Relevant Lines: 226455
Covered Lines: 218175
Line Coverage: 96.34%
Relevant Branches: 52734
Covered Branches: 42809
Branch Coverage: 81.18%
Branches in Coverage %: No
Coverage Strength: 72.74 hits per line

💛 - Coveralls

@github-actions
Copy link
Copy Markdown

Whoa there, partner! 🌵🤠 We wrangled some duplicated code in your PR:

Reducing code duplication by importing common functions from a library not only makes our code cleaner but also easier to maintain. Please move the common code from both files into a library and import it in each. We hate that we have to mention this, however, commits designed to hide from this utility by renaming variables or reordering an object are poor conduct. We will not look upon them kindly! Keep up the great work! 🚀

@github-actions
Copy link
Copy Markdown

Whoa there partner! This project is migrating to typescript. Consider changing the new JS files to TS, with well-defined types for what interacts with the prebid public API (for example: bid params and configuration). Thanks!

  • libraries/rhythmoneMarsUtils/index.js

Tread carefully! This PR adds 2 linter errors (possibly disabled through directives):

  • libraries/rhythmoneMarsUtils/index.js (+2 errors)

@github-actions
Copy link
Copy Markdown

Whoa there, partner! 🌵🤠 We wrangled some duplicated code in your PR:

Reducing code duplication by importing common functions from a library not only makes our code cleaner but also easier to maintain. Please move the common code from both files into a library and import it in each. We hate that we have to mention this, however, commits designed to hide from this utility by renaming variables or reordering an object are poor conduct. We will not look upon them kindly! Keep up the great work! 🚀

@github-actions
Copy link
Copy Markdown

Whoa there partner! This project is migrating to typescript. Consider changing the new JS files to TS, with well-defined types for what interacts with the prebid public API (for example: bid params and configuration). Thanks!

  • libraries/rhythmoneMarsUtils/index.js

Tread carefully! This PR adds 2 linter errors (possibly disabled through directives):

  • libraries/rhythmoneMarsUtils/index.js (+2 errors)

@github-actions
Copy link
Copy Markdown

Whoa there, partner! 🌵🤠 We wrangled some duplicated code in your PR:

Reducing code duplication by importing common functions from a library not only makes our code cleaner but also easier to maintain. Please move the common code from both files into a library and import it in each. We hate that we have to mention this, however, commits designed to hide from this utility by renaming variables or reordering an object are poor conduct. We will not look upon them kindly! Keep up the great work! 🚀

@github-actions
Copy link
Copy Markdown

Whoa there partner! This project is migrating to typescript. Consider changing the new JS files to TS, with well-defined types for what interacts with the prebid public API (for example: bid params and configuration). Thanks!

  • libraries/rhythmoneMarsUtils/index.js

Tread carefully! This PR adds 2 linter errors (possibly disabled through directives):

  • libraries/rhythmoneMarsUtils/index.js (+2 errors)

@github-actions
Copy link
Copy Markdown

Whoa there, partner! 🌵🤠 We wrangled some duplicated code in your PR:

Reducing code duplication by importing common functions from a library not only makes our code cleaner but also easier to maintain. Please move the common code from both files into a library and import it in each. We hate that we have to mention this, however, commits designed to hide from this utility by renaming variables or reordering an object are poor conduct. We will not look upon them kindly! Keep up the great work! 🚀

@github-actions
Copy link
Copy Markdown

Whoa there partner! This project is migrating to typescript. Consider changing the new JS files to TS, with well-defined types for what interacts with the prebid public API (for example: bid params and configuration). Thanks!

  • libraries/rhythmoneMarsUtils/index.js

Tread carefully! This PR adds 2 linter errors (possibly disabled through directives):

  • libraries/rhythmoneMarsUtils/index.js (+2 errors)

@github-actions
Copy link
Copy Markdown

Whoa there, partner! 🌵🤠 We wrangled some duplicated code in your PR:

Reducing code duplication by importing common functions from a library not only makes our code cleaner but also easier to maintain. Please move the common code from both files into a library and import it in each. We hate that we have to mention this, however, commits designed to hide from this utility by renaming variables or reordering an object are poor conduct. We will not look upon them kindly! Keep up the great work! 🚀

@github-actions
Copy link
Copy Markdown

Whoa there partner! This project is migrating to typescript. Consider changing the new JS files to TS, with well-defined types for what interacts with the prebid public API (for example: bid params and configuration). Thanks!

  • libraries/rhythmoneMarsUtils/index.js

Tread carefully! This PR adds 2 linter errors (possibly disabled through directives):

  • libraries/rhythmoneMarsUtils/index.js (+2 errors)

@github-actions
Copy link
Copy Markdown

Whoa there, partner! 🌵🤠 We wrangled some duplicated code in your PR:

Reducing code duplication by importing common functions from a library not only makes our code cleaner but also easier to maintain. Please move the common code from both files into a library and import it in each. We hate that we have to mention this, however, commits designed to hide from this utility by renaming variables or reordering an object are poor conduct. We will not look upon them kindly! Keep up the great work! 🚀

@github-actions
Copy link
Copy Markdown

Whoa there partner! This project is migrating to typescript. Consider changing the new JS files to TS, with well-defined types for what interacts with the prebid public API (for example: bid params and configuration). Thanks!

  • libraries/rhythmoneMarsUtils/index.js

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.

3 participants