Skip to content

Conversation

@SuperIzya
Copy link

🔧 Type of changes

  • new bid adapter
  • bid adapter update
  • new feature
  • new analytics adapter
  • new module
  • module update
  • bugfix
  • documentation
  • configuration
  • dependency update
  • tech debt (test coverage, refactorings, etc.)

✨ What's the context?

What's the context for the changes?

🧠 Rationale behind the change

Why did you choose to make these changes? Were there any trade-offs you had to consider?

🔎 New Bid Adapter Checklist

  • verify email contact works
  • NO fully dynamic hostnames
  • geographic host parameters are NOT required
  • direct use of HTTP is prohibited - implement an existing Bidder interface that will do all the job
  • if the ORTB is just forwarded to the endpoint, use the generic adapter - define the new adapter as the alias of the generic adapter
  • cover an adapter configuration with an integration test

🧪 Test plan

How do you know the changes are safe to ship to production?

🏎 Quality check

  • Are your changes following our code style guidelines?
  • Are there any breaking changes in your code?
  • Does your test coverage exceed 90%?
  • Are there any erroneous console logs, debuggers or leftover code in your changes?

@SuperIzya SuperIzya requested a review from 3link July 30, 2025 15:30
@SuperIzya SuperIzya self-assigned this Jul 30, 2025
@SuperIzya SuperIzya added the ready for review This PR can be reviewed now label Jul 30, 2025
ilya added 4 commits July 30, 2025 17:39
# Conflicts:
#	extra/bundle/pom.xml
#	extra/modules/live-intent-omni-channel-identity/pom.xml
#	extra/modules/live-intent-omni-channel-identity/src/main/java/org/prebid/server/hooks/modules/liveintent/omni/channel/identity/config/LiveIntentOmniChannelIdentityConfiguration.java
#	extra/modules/live-intent-omni-channel-identity/src/main/java/org/prebid/server/hooks/modules/liveintent/omni/channel/identity/model/IdResResponse.java
#	extra/modules/live-intent-omni-channel-identity/src/main/java/org/prebid/server/hooks/modules/liveintent/omni/channel/identity/v1/hooks/LiveIntentOmniChannelIdentityProcessedAuctionRequestHook.java
#	extra/modules/live-intent-omni-channel-identity/src/test/java/org/prebid/server/hooks/modules/liveintent/omni/channel/identity/v1/LiveIntentOmniChannelIdentityProcessedAuctionRequestHookTest.java
#	extra/modules/pom.xml
@SuperIzya SuperIzya changed the base branch from cm-1776 to master August 25, 2025 11:05
@cursor
Copy link

cursor bot commented Oct 23, 2025

This PR is being reviewed by Cursor Bugbot

Details

Your team is on the Bugbot Free tier. On this plan, Bugbot will review limited PRs each billing cycle for each member of your team.

To receive Bugbot reviews on all of your PRs, visit the Cursor dashboard to activate Pro and start your 14-day free trial.

@cursor
Copy link

cursor bot commented Oct 23, 2025

Bug: Missing Validation Causes Null Pointer Exceptions

The LiveIntentAnalyticsConfigurationProperties class lacks @NotNull validation on its partnerId and analyticsEndpoint fields, unlike other analytics configurations here. This omission means critical properties can be null, potentially causing NullPointerExceptions when building URIs or using the partnerId in the LiveIntentAnalyticsReporter.

Fix in Cursor Fix in Web

@cursor
Copy link

cursor bot commented Oct 23, 2025

Bug: URIBuilder Overwrites Base Path Incorrectly

The URIBuilder.setPath() method replaces the entire path component of the URI. If the analytics endpoint is configured with a base path, this overwrites it when constructing URLs for both auction and notification events, leading to requests sent to incorrect endpoints.

Additional Locations (1)

Fix in Cursor Fix in Web

Copy link

@cursor cursor bot left a comment

Choose a reason for hiding this comment

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

This PR is being reviewed by Cursor Bugbot

Details

Your team is on the Bugbot Free tier. On this plan, Bugbot will review limited PRs each billing cycle for each member of your team.

To receive Bugbot reviews on all of your PRs, visit the Cursor dashboard to activate Pro and start your 14-day free trial.

new URIBuilder(properties.getAnalyticsEndpoint())
.setPath("/analytic-events/pbsj-bids")
.build()
.toString(),
Copy link

Choose a reason for hiding this comment

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

Bug: URIBuilder Overwrites Path Instead of Appending

URIBuilder.setPath() replaces the entire path component of the URI instead of appending to it. If properties.getAnalyticsEndpoint() contains a path (e.g., "https://api.example.com/v1"), calling setPath("/analytic-events/pbsj-bids") will replace "/v1" with "/analytic-events/pbsj-bids", resulting in "https://api.example.com/analytic-events/pbsj-bids" instead of the likely intended "https://api.example.com/v1/analytic-events/pbsj-bids". The same issue exists in processNotificationEvent at lines 173-178. Consider using appendPath() or constructing the full path by concatenating with the existing path from the base endpoint.

Fix in Cursor Fix in Web

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ready for review This PR can be reviewed now

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants