Skip to content

Conversation

@kustomer-builds
Copy link
Contributor

@kustomer-builds kustomer-builds commented Dec 5, 2025

User description

Version 6.3.0


Generated description

Below is a concise technical summary of the changes proposed in this PR:
Updates the KustomerChat SDK to version 6.3.0, introducing a new markSessionAsRead function. Deprecates previous markRead functions, guiding developers to use the new session-based API for managing chat read statuses.

TopicDetails
Update SDK Version Updates the KustomerChat SDK to version 6.3.0.
Modified files (5)
  • KustomerChat.xcframework/ios-arm64/KustomerChat.framework/Modules/KustomerChat.swiftmodule/arm64-apple-ios.swiftdoc
  • KustomerChat.xcframework/ios-arm64/KustomerChat.framework/KustomerChat
  • KustomerChat.xcframework/ios-arm64/KustomerChat.framework/Info.plist
  • KustomerChat.xcframework/ios-arm64/KustomerChat.framework/Assets.car
  • KustomerChat.podspec
Latest Contributors(2)
UserCommitDate
devops@kustomer.comVersion-6.2.1-143November 24, 2025
raymondjoneskustomerkeep-bumped-to-13-140October 09, 2025
Mark Session Read API Introduces the markSessionAsRead function for managing chat session read statuses, deprecating older markRead functions.
Modified files (2)
  • KustomerChat.xcframework/ios-arm64/KustomerChat.framework/Modules/KustomerChat.swiftmodule/arm64-apple-ios.swiftinterface
  • KustomerChat.xcframework/ios-arm64/KustomerChat.framework/Modules/KustomerChat.swiftmodule/arm64-apple-ios.private.swiftinterface
Latest Contributors(2)
UserCommitDate
devops@kustomer.comVersion-6.2.1-143November 24, 2025
distiller@static.198.2...Version-3.1.0November 30, 2023
This pull request is reviewed by Baz. Review like a pro on (Baz).

Copilot AI review requested due to automatic review settings December 5, 2025 14:15
@kustomer-builds kustomer-builds requested a review from a team as a code owner December 5, 2025 14:15
@gemini-code-assist
Copy link

Summary of Changes

Hello @kustomer-builds, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!

This pull request focuses on a significant version bump for the KustomerChat SDK to 6.3.0. The update primarily introduces a more streamlined and modern API for managing read states within chat sessions, by deprecating older markRead functions and providing a new, unified markSessionAsRead method. This change ensures that the SDK remains current with best practices for handling chat interactions.

Highlights

  • Version Update: The KustomerChat SDK has been updated to version 6.3.0 across its podspec and framework metadata.
  • API Deprecation: Existing markRead functions for marking conversations as read have been deprecated, guiding developers towards a new approach.
  • New API Introduction: A new markSessionAsRead(sessionId:completion:) function has been added, serving as the recommended replacement for the deprecated markRead methods.
Using Gemini Code Assist

The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.

Invoking Gemini

You can request assistance from Gemini at any point by creating a comment using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands on the current page.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in pull request comments and review comments.
Help /gemini help Displays a list of available commands.

Customization

To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.

Limitations & Feedback

Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here.

You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension.

Footnotes

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

@coderabbitai
Copy link

coderabbitai bot commented Dec 5, 2025

Caution

Review failed

The pull request is closed.

📝 Walkthrough

Walkthrough

Version 6.3.0 updates KustomerChat's read-marking API, deprecating two markRead methods that operate on conversations and introducing a new markSessionAsRead method with a completion handler. Hash signatures and dSYM resources are regenerated to reflect the framework changes.

Changes

Cohort / File(s) Change Summary
Version Updates
KustomerChat.podspec, KustomerChat.xcframework/ios-arm64/dSYMs/KustomerChat.framework.dSYM/Contents/Info.plist, KustomerChat.xcframework/ios-arm64_x86_64-simulator/dSYMs/KustomerChat.framework.dSYM/Contents/Info.plist
Version bumped from 6.1.2/6.2.1 to 6.3.0
API Deprecation & New Method
KustomerChat.xcframework/ios-arm64/KustomerChat.framework/Modules/KustomerChat.swiftmodule/arm64-apple-ios.private.swiftinterface, KustomerChat.xcframework/ios-arm64/KustomerChat.framework/Modules/KustomerChat.swiftmodule/arm64-apple-ios.swiftinterface, KustomerChat.xcframework/ios-arm64_x86_64-simulator/KustomerChat.framework/Modules/KustomerChat.swiftmodule/arm64-apple-ios-simulator.*.swiftinterface, KustomerChat.xcframework/ios-arm64_x86_64-simulator/KustomerChat.framework/Modules/KustomerChat.swiftmodule/x86_64-apple-ios-simulator.*.swiftinterface
Deprecated markRead(conversationId:) and markRead(conversationId:messageIds:satisfactionId:) methods; added new markSessionAsRead(sessionId:completion:) method with result-based completion handler
Code Signature Updates
KustomerChat.xcframework/ios-arm64/KustomerChat.framework/_CodeSignature/CodeResources, KustomerChat.xcframework/ios-arm64_x86_64-simulator/KustomerChat.framework/_CodeSignature/CodeResources
Hash values regenerated for assets, Info.plist, swift modules, and module maps

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

  • Deprecation annotations and new method signature are consistent across all swift interface variants (repetitive pattern)
  • Code signature hash updates are autogenerated and require no semantic review
  • Version bumps are trivial changes
  • No complex logic changes or control flow alterations

Poem

🐰 Sessions now mark what's been read,
Old conversations bid farewell instead,
A completion handler, fresh and bright,
The API evolves—onward to version new height! ✨


📜 Recent review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

Disabled knowledge base sources:

  • Jira integration is disabled

You can enable these sources in your CodeRabbit configuration.

📥 Commits

Reviewing files that changed from the base of the PR and between 44a4ebb and d1b60a5.

📒 Files selected for processing (11)
  • KustomerChat.podspec (1 hunks)
  • KustomerChat.xcframework/ios-arm64/KustomerChat.framework/Modules/KustomerChat.swiftmodule/arm64-apple-ios.private.swiftinterface (1 hunks)
  • KustomerChat.xcframework/ios-arm64/KustomerChat.framework/Modules/KustomerChat.swiftmodule/arm64-apple-ios.swiftinterface (1 hunks)
  • KustomerChat.xcframework/ios-arm64/KustomerChat.framework/_CodeSignature/CodeResources (4 hunks)
  • KustomerChat.xcframework/ios-arm64/dSYMs/KustomerChat.framework.dSYM/Contents/Info.plist (1 hunks)
  • KustomerChat.xcframework/ios-arm64_x86_64-simulator/KustomerChat.framework/Modules/KustomerChat.swiftmodule/arm64-apple-ios-simulator.private.swiftinterface (1 hunks)
  • KustomerChat.xcframework/ios-arm64_x86_64-simulator/KustomerChat.framework/Modules/KustomerChat.swiftmodule/arm64-apple-ios-simulator.swiftinterface (1 hunks)
  • KustomerChat.xcframework/ios-arm64_x86_64-simulator/KustomerChat.framework/Modules/KustomerChat.swiftmodule/x86_64-apple-ios-simulator.private.swiftinterface (1 hunks)
  • KustomerChat.xcframework/ios-arm64_x86_64-simulator/KustomerChat.framework/Modules/KustomerChat.swiftmodule/x86_64-apple-ios-simulator.swiftinterface (1 hunks)
  • KustomerChat.xcframework/ios-arm64_x86_64-simulator/KustomerChat.framework/_CodeSignature/CodeResources (5 hunks)
  • KustomerChat.xcframework/ios-arm64_x86_64-simulator/dSYMs/KustomerChat.framework.dSYM/Contents/Info.plist (1 hunks)

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.

@raymondjoneskustomer raymondjoneskustomer merged commit 28f470e into main Dec 5, 2025
8 of 9 checks passed
@raymondjoneskustomer raymondjoneskustomer deleted the releases/6.3.0 branch December 5, 2025 14:17
Copy link

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

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

Code Review

This pull request updates the KustomerChat SDK to version 6.3.0. The main change is the introduction of a new markSessionAsRead function and the deprecation of the older markRead functions, guiding developers towards the new session-based API. The version updates are applied across various configuration files. I've noted a minor inconsistency in the base version number in the podspec file compared to other configuration files, which should be corrected to ensure release process consistency.

Pod::Spec.new do |s|
s.name = 'KustomerChat'
s.version = '6.1.2'
s.version = '6.3.0'

Choose a reason for hiding this comment

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

medium

There's an inconsistency in the base version number. This file indicates a version bump from 6.1.2, while other files like KustomerChat.xcframework/ios-arm64/dSYMs/KustomerChat.framework.dSYM/Contents/Info.plist show a bump from 6.2.1. This discrepancy could point to a missed update in a previous release and should be corrected to ensure consistency in your release process.

Comment on lines +784 to +788
@available(*, deprecated, message: "Use markSessionAsRead(sessionId:completion:) instead")
public func markRead(conversationId: Swift.String)
@available(*, deprecated, message: "Use markSessionAsRead(sessionId:completion:) instead. Note: messageIds and satisfactionId parameters are ignored - all unread messages and CSATs will be marked as read.")
public func markRead(conversationId: Swift.String, messageIds: [Swift.String], satisfactionId: Swift.String? = nil)
public func markSessionAsRead(sessionId: Swift.String, completion: @escaping (Swift.Result<Swift.Void, KustomerChat.KError>) -> Swift.Void)
Copy link

Choose a reason for hiding this comment

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

The newly added markSessionAsRead(sessionId:completion:) now requires a sessionId, but the public models and APIs that clients already use (e.g. KUSConversation: id, brandId, preview, conversationId only) do not expose a session identifier anywhere. Because integrators have only ever tracked conversationId, there is no way for them to supply the required sessionId, so this API is unusable for existing clients.

Suggested change
@available(*, deprecated, message: "Use markSessionAsRead(sessionId:completion:) instead")
public func markRead(conversationId: Swift.String)
@available(*, deprecated, message: "Use markSessionAsRead(sessionId:completion:) instead. Note: messageIds and satisfactionId parameters are ignored - all unread messages and CSATs will be marked as read.")
public func markRead(conversationId: Swift.String, messageIds: [Swift.String], satisfactionId: Swift.String? = nil)
public func markSessionAsRead(sessionId: Swift.String, completion: @escaping (Swift.Result<Swift.Void, KustomerChat.KError>) -> Swift.Void)
@available(*, deprecated, message: "Use markSessionAsRead(conversationId:completion:) instead")
public func markRead(conversationId: Swift.String)
@available(*, deprecated, message: "Use markSessionAsRead(conversationId:completion:) instead. Note: messageIds and satisfactionId parameters are ignored - all unread messages and CSATs will be marked as read.")
public func markRead(conversationId: Swift.String, messageIds: [Swift.String], satisfactionId: Swift.String? = nil)
public func markSessionAsRead(conversationId: Swift.String, completion: @escaping (Swift.Result<Swift.Void, KustomerChat.KError>) -> Swift.Void)

Finding type: Type Inconsistency

Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

This PR updates the KustomerChat iOS framework from version 6.2.1 to version 6.3.0, introducing API improvements for marking messages as read while maintaining backward compatibility through deprecation warnings.

Key Changes:

  • Version bump from 6.2.1 to 6.3.0 across all framework files
  • Introduction of new markSessionAsRead(sessionId:completion:) API method
  • Deprecation of existing markRead methods with migration guidance

Reviewed changes

Copilot reviewed 11 out of 25 changed files in this pull request and generated no comments.

Show a summary per file
File Description
KustomerChat.podspec Updated version from 6.1.2 to 6.3.0
Swift interface files (arm64, x86_64, simulator) Added new markSessionAsRead method and deprecated existing markRead methods
Info.plist files Updated CFBundleShortVersionString to 6.3.0
dSYM/Info.plist files Updated debug symbol version strings to 6.3.0
CodeResources files Updated code signature hashes for modified binaries
.swiftdoc files Added comprehensive documentation (991 lines) for the framework

The changes are consistent across all architectures and build configurations, properly updating version numbers and introducing the new API with appropriate deprecation warnings for the legacy methods.


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants