Closed maratal closed 1 month ago
The changes made in the ARTDataEncoder.m
file enhance error handling and type safety in encoding and decoding processes. A new check is introduced to handle cases where the encoded
variable is nil
, ensuring an appropriate error message is returned. Additionally, the conditions for processing data with "vcdiff" encoding are refined to verify that the data is of the expected type before applying the codec. Extensions in TestUtilities.swift
, RealtimeClientChannelsTests.swift
, and RestClientChannelsTests.swift
implement conditional compilation based on the RetroactiveAttribute
feature. Workflow files have been updated to reflect new macOS and Xcode versions.
Files | Change Summary |
---|---|
Source/ARTDataEncoder.m | Added error handling for nil input in encode: method and refined type checks in decode:identifier:encoding: method. |
Test/Test Utilities/TestUtilities.swift | Added extensions for various types to conform to CustomStringConvertible , enhancing string representation. |
Test/Tests/RealtimeClientChannelsTests.swift | Introduced conditional compilation for ARTRealtimeChannels to conform to @retroactive Sequence when available. |
Test/Tests/RestClientChannelsTests.swift | Modified ARTRestChannels extension for conditional compilation to conform to @retroactive Sequence when available. |
.github/workflows/*.yaml | Updated workflows to use macOS 14 and Xcode 16, along with adjustments in output paths for testing. |
fastlane/Fastfile | Updated testing configurations to reflect new iOS 18.0 and tvOS 18.0 versions. |
Objective | Addressed | Explanation |
---|---|---|
Prepare for Xcode 16 compatibility (#1977) | ✅ |
encode:
and decode:identifier:encoding:
methods may relate to the modifications in the ARTDevicePushDetails
and ARTDeviceDetails
classes, as they both involve handling data types and improving robustness in the context of device management and push notifications.In the code, a rabbit hops,
Fixing bugs, it never stops.
With checks in place, oh what a sight,
Encoding safely, day and night!
Errors handled, all is well,
In the forest of code, we dwell! 🐇✨
Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media?
Closes #1977
Preparing library for use with Xcode 16 (but not exclusevly switching to it yet).
Summary by CodeRabbit
RealtimeClientChannels
andRestChannels
to support retroactive behavior based on feature availability.