Skip to content

Release: 2.26.2#204

Closed
uc-brunosilva wants to merge 1 commit into
masterfrom
release/2.26.2
Closed

Release: 2.26.2#204
uc-brunosilva wants to merge 1 commit into
masterfrom
release/2.26.2

Conversation

@uc-brunosilva
Copy link
Copy Markdown
Collaborator

@uc-brunosilva uc-brunosilva commented Apr 16, 2026

CodeAnt-AI Description

Release 2.26.2 with banner fixes and SDK updates

What Changed

  • Updated the SDK version to 2.26.2 for Android, iOS, and package metadata
  • Added the 2.26.2 release notes, including fixes for Android banner display, consent handling, and window leaks
  • Added iOS fixes for SVG logos, second-layer spacing, dropdown arrow alignment, and Swift Package Manager package resolution
  • Fixed custom “More” button colors so they apply in the first layer

Impact

✅ Correct version reporting
✅ Fewer banner display issues
✅ Clearer first-layer button styling

🔄 Retrigger CodeAnt AI Review

Details

💡 Usage Guide

Checking Your Pull Request

Every time you make a pull request, our system automatically looks through it. We check for security issues, mistakes in how you're setting up your infrastructure, and common code problems. We do this to make sure your changes are solid and won't cause any trouble later.

Talking to CodeAnt AI

Got a question or need a hand with something in your pull request? You can easily get in touch with CodeAnt AI right here. Just type the following in a comment on your pull request, and replace "Your question here" with whatever you want to ask:

@codeant-ai ask: Your question here

This lets you have a chat with CodeAnt AI about your pull request, making it easier to understand and improve your code.

Example

@codeant-ai ask: Can you suggest a safer alternative to storing this secret?

Preserve Org Learnings with CodeAnt

You can record team preferences so CodeAnt AI applies them in future reviews. Reply directly to the specific CodeAnt AI suggestion (in the same thread) and replace "Your feedback here" with your input:

@codeant-ai: Your feedback here

This helps CodeAnt AI learn and adapt to your team's coding style and standards.

Example

@codeant-ai: Do not flag unused imports.

Retrigger review

Ask CodeAnt AI to review the PR again, by typing:

@codeant-ai: review

Check Your Repository Health

To analyze the health of your code repository, visit our dashboard at https://app.codeant.ai. This tool helps you identify potential issues and areas for improvement in your codebase, ensuring your repository maintains high standards of code health.

@codeant-ai
Copy link
Copy Markdown

codeant-ai Bot commented Apr 16, 2026

CodeAnt AI is reviewing your PR.


Thanks for using CodeAnt! 🎉

We're free for open-source projects. if you're enjoying it, help us grow by sharing.

Share on X ·
Reddit ·
LinkedIn

@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented Apr 16, 2026

Warning

Rate limit exceeded

@uc-brunosilva has exceeded the limit for the number of commits that can be reviewed per hour. Please wait 19 minutes and 49 seconds before requesting another review.

Your organization is not enrolled in usage-based pricing. Contact your admin to enable usage-based pricing to continue reviews beyond the rate limit, or try again in 19 minutes and 49 seconds.

⌛ How to resolve this issue?

After the wait time has elapsed, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

We recommend that you space out your commits to avoid hitting the rate limit.

🚦 How do rate limits work?

CodeRabbit enforces hourly rate limits for each developer per organization.

Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout.

Please see our FAQ for further information.

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 7d69eda1-95ba-45c9-8fc8-05d5f25bd04f

📥 Commits

Reviewing files that changed from the base of the PR and between 0ad792f and b4c80b0.

⛔ Files ignored due to path filters (2)
  • package-lock.json is excluded by !**/package-lock.json
  • sample/ios/Podfile.lock is excluded by !**/*.lock
📒 Files selected for processing (6)
  • CHANGELOG.md
  • android/build-legacy.gradle
  • android/build.gradle.kts
  • ios/Extensions/UsercentricsCMPData+Dict.swift
  • package.json
  • sample/ios/sampleTests/Mock/CMPData+Mock.swift
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch release/2.26.2

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@qodo-code-review
Copy link
Copy Markdown

Review Summary by Qodo

Release version 2.26.2 with fixes and enhancements

✨ Enhancement

Grey Divider

Walkthroughs

Description
• Release version 2.26.2 with bug fixes and improvements
• Added "More" button color customization properties
• Fixed consent banner display and persistence issues
• Improved SDK initialization logging and UI alignment
Diagram
flowchart LR
  A["Version Update<br/>2.26.1 → 2.26.2"] --> B["Bug Fixes<br/>Android/iOS/TCF"]
  A --> C["UI Enhancements<br/>More Button Colors"]
  B --> D["Updated Files<br/>gradle, package.json"]
  C --> D
  D --> E["Release Notes<br/>CHANGELOG.md"]
Loading

Grey Divider

File Changes

1. android/build.gradle.kts ⚙️ Configuration changes +1/-1

Update Android SDK version number

• Updated Usercentrics SDK version from 2.26.1 to 2.26.2

android/build.gradle.kts


2. package.json ⚙️ Configuration changes +2/-2

Update package versions to 2.26.2

• Updated npm package version from 2.26.1 to 2.26.2
• Updated iOS package version from 2.26.1 to 2.26.2

package.json


3. ios/Extensions/UsercentricsCMPData+Dict.swift ✨ Enhancement +2/-0

Add More button color customization properties

• Added moreBtnBackground property to customization color dictionary
• Added moreBtnText property to customization color dictionary
• Enables custom color configuration for "More" button in first layer

ios/Extensions/UsercentricsCMPData+Dict.swift


View more (2)
4. sample/ios/sampleTests/Mock/CMPData+Mock.swift 🧪 Tests +3/-1

Update mock data with More button colors

• Added moreBtnBackground mock property
• Added moreBtnText mock property
• Updated mock data to match new customization color properties

sample/ios/sampleTests/Mock/CMPData+Mock.swift


5. CHANGELOG.md 📝 Documentation +16/-0

Add release notes for version 2.26.2

• Added comprehensive release notes for version 2.26.2
• Documented improvements including SDK initialization logging
• Listed 11 bug fixes across Android, iOS, and TCF platforms
• Fixed "More" button custom colors not being applied in first layer

CHANGELOG.md


Grey Divider

Qodo Logo

@qodo-code-review
Copy link
Copy Markdown

qodo-code-review Bot commented Apr 16, 2026

Code Review by Qodo

🐞 Bugs (1)   📘 Rule violations (0)   📎 Requirement gaps (0)
🐞\ ≡ Correctness (1)

Grey Divider


Action required

1. Android missing color fields 🐞
Description
iOS now serializes CustomizationColor.moreBtnBackground / moreBtnText into CMPData, but Android
CMPData serialization omits these keys, creating a platform-dependent payload shape for React Native
consumers. Any JS code that relies on these fields for “More” button color customization will work
on iOS but be undefined on Android.
Code

ios/Extensions/UsercentricsCMPData+Dict.swift[R292-293]

+            "moreBtnBackground" : self.moreBtnBackground as Any,
+            "moreBtnText" : self.moreBtnText as Any,
Relevance

⭐⭐⭐ High

RN bridge payload should match across iOS/Android; missing keys likely breaks “More” button color
customization.

ⓘ Recommendations generated based on similar findings in past PRs

Evidence
The PR adds moreBtnBackground and moreBtnText to the iOS CustomizationColor dictionary
serialization, but the Android CustomizationColor.serialize() map ends at secondLayerTab and
does not include the new fields, so Android will never send them across the RN bridge. The changelog
also claims a fix for “More” button custom colors, increasing the likelihood these fields are
intended to be usable cross-platform.

/ios/Extensions/UsercentricsCMPData+Dict.swift[270-295]
/android/src/main/java/com/usercentrics/reactnative/extensions/UsercentricsCMPDataExtensions.kt[308-330]
/CHANGELOG.md[2-16]

Agent prompt
The issue below was found during a code review. Follow the provided context and guidance below and implement a solution

### Issue description
iOS now includes `moreBtnBackground` and `moreBtnText` in the serialized `CustomizationColor` payload returned by `getCMPData()`, but Android omits them. This makes the React Native data contract inconsistent across platforms.

### Issue Context
The iOS bridge serializes these fields in `CustomizationColor.toDictionary()`. The Android bridge’s `CustomizationColor.serialize()` currently ends at `secondLayerTab`.

### Fix Focus Areas
- Add `moreBtnBackground` and `moreBtnText` to the Android `CustomizationColor.serialize()` map (and update Android test expectations if the underlying SDK provides non-null defaults).
 - android/src/main/java/com/usercentrics/reactnative/extensions/UsercentricsCMPDataExtensions.kt[308-330]
- If needed for SDK-version compatibility, consider reading these fields via reflection (similar to other compat getters in this file) so the bridge compiles/runs across supported SDK versions.
 - android/src/main/java/com/usercentrics/reactnative/extensions/UsercentricsCMPDataExtensions.kt[283-330]
- Update Android test expected payloads if new keys become present.
 - android/src/androidTest/java/com/usercentrics/reactnative/mock/GetCMPDataMock.kt[530-539]

ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools


Grey Divider

ⓘ The new review experience is currently in Beta. Learn more

Grey Divider

Qodo Logo

@codeant-ai codeant-ai Bot added the size:XL This PR changes 500-999 lines, ignoring generated files label Apr 16, 2026
@pantoaibot
Copy link
Copy Markdown

pantoaibot Bot commented Apr 16, 2026

PR Summary:

Release 2.26.2 — bump package versions, update changelog, add iOS color fields and mocks, and include multiple Android/iOS/TCF bugfixes and logging improvements.

  • Changelog: Added 2.26.2 release notes (Improved SDK initialization logging; fixes across Android, iOS, TCF, and mediation logs).
  • Version bumps: usercentrics version updated to 2.26.2 in android/build-legacy.gradle, android/build.gradle.kts, and package.json (also iosPackageVersion).
  • iOS: Added "moreBtnBackground" and "moreBtnText" to CustomizationColor.toDictionary and updated sample/mock (CustomizationColor.mock) to include the new fields.
  • Tests/samples: sample iOS mock adjusted to reflect new color fields.
  • Behavior fixes (documented in changelog): Android popup/fullscreen banner mode, shouldCollectConsent TCF behavior after relaunch, window leak when activity finishes, ATP list infinite resurfacing; iOS SVG logo parsing, padding/toggle alignment, SPM resolution for usercentrics-spm-ui; TCF duplicate Stack/persistence; "More" button custom color application; mediation consent logs visibility.
  • Breaking changes: None apparent — additive changes only (new color fields and version bumps). Reviewers should verify iOS UI applies the new "More" button color fields and that sample mocks/tests compile with the additions.

Reviewed by Panto AI

Comment thread sample/ios/sampleTests/Mock/CMPData+Mock.swift
@pantoaibot
Copy link
Copy Markdown

pantoaibot Bot commented Apr 16, 2026

Reviewed up to commit:b4c80b07c7074a239e4c358acbcba05d3e3072b8

Additional Suggestion
Others - You bumped the SDK version in package.json (2.26.2) and in android/build-legacy.gradle and android/build.gradle.kts. Please ensure all other version references are updated (CI release scripts, publishing metadata, package lock / yarn.lock, and any documentation or podspec references). Also, after changing iosPackageVersion in package.json, run a pod install / verify react-native-usercentrics.podspec consumers will resolve the correct UsercentricsUI version.

Reviewed by Panto AI

Comment thread ios/Extensions/UsercentricsCMPData+Dict.swift
Comment thread ios/Extensions/UsercentricsCMPData+Dict.swift
@codeant-ai
Copy link
Copy Markdown

codeant-ai Bot commented Apr 16, 2026

CodeAnt AI finished reviewing your PR.

Comment thread sample/ios/Podfile.lock
- ReactCommon/turbomodule/core
- SocketRocket
- react-native-safe-area-context (5.7.0):
- react-native-safe-area-context (5.6.1):
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

why is this reduced?

Comment thread sample/ios/Podfile.lock
- UsercentricsUI (= 2.26.2)
- Yoga
- react-native-webview (13.16.1):
- react-native-webview (13.16.0):
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

this, as well

Comment thread sample/ios/Podfile.lock
- ReactCommon/turbomodule/bridging
- ReactCommon/turbomodule/core
- RNScreens/common (= 4.24.0)
- RNScreens/common (= 4.18.0)
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

here as well

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

Labels

size:XL This PR changes 500-999 lines, ignoring generated files

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants