Skip to content

Commit

Permalink
Add request retry configuration (#452)
Browse files Browse the repository at this point in the history
feat(network): add request retry configuration

Add ability to set automatic request retry configuration in `PNConfiguration`.
  • Loading branch information
parfeon authored Dec 19, 2023
1 parent 93a3adf commit 4c5c0fd
Show file tree
Hide file tree
Showing 29 changed files with 1,349 additions and 56 deletions.
15 changes: 10 additions & 5 deletions .pubnub.yml
Original file line number Diff line number Diff line change
@@ -1,9 +1,14 @@
---
name: objective-c
scm: github.com/pubnub/objective-c
version: "5.2.1"
version: "5.3.0"
schema: 1
changelog:
- date: 2023-12-19
version: v5.3.0
changes:
- type: feature
text: "Add the ability to set automatic request retry configuration in `PNConfiguration`."
- date: 2023-10-30
version: v5.2.1
changes:
Expand Down Expand Up @@ -1329,7 +1334,7 @@ sdks:
- distribution-type: source
distribution-repository: GitHub release
package-name: PubNub.framework
location: https://github.com/pubnub/objective-c/archive/refs/tags/v5.2.1.zip
location: https://github.com/pubnub/objective-c/archive/refs/tags/v5.3.0.zip
supported-platforms:
supported-operating-systems:
macOS:
Expand Down Expand Up @@ -1390,7 +1395,7 @@ sdks:
- distribution-type: library
distribution-repository: GitHub release
package-name: PubNub.ios.xcframework.tar.gz
location: https://github.com/pubnub/objective-c/releases/download/v5.2.1/PubNub.ios.xcframework.tar.gz
location: https://github.com/pubnub/objective-c/releases/download/v5.3.0/PubNub.ios.xcframework.tar.gz
supported-platforms:
supported-operating-systems:
iOS:
Expand All @@ -1409,7 +1414,7 @@ sdks:
- distribution-type: library
distribution-repository: GitHub release
package-name: PubNub.macos.framework.tar.gz
location: https://github.com/pubnub/objective-c/releases/download/v5.2.1/PubNub.macos.framework.tar.gz
location: https://github.com/pubnub/objective-c/releases/download/v5.3.0/PubNub.macos.framework.tar.gz
supported-platforms:
supported-operating-systems:
macOS:
Expand All @@ -1425,7 +1430,7 @@ sdks:
- distribution-type: library
distribution-repository: GitHub release
package-name: PubNub.tvos.xcframework.tar.gz
location: https://github.com/pubnub/objective-c/releases/download/v5.2.1/PubNub.tvos.xcframework.tar.gz
location: https://github.com/pubnub/objective-c/releases/download/v5.3.0/PubNub.tvos.xcframework.tar.gz
supported-platforms:
supported-operating-systems:
tvOS:
Expand Down
6 changes: 6 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,9 @@
## v5.3.0
December 19 2023

#### Added
- Add the ability to set automatic request retry configuration in `PNConfiguration`.

## v5.2.1
October 30 2023

Expand Down
26 changes: 26 additions & 0 deletions Framework/PubNub Framework.xcodeproj/project.pbxproj
Original file line number Diff line number Diff line change
Expand Up @@ -2648,6 +2648,16 @@
A5DB71492AAEFE58005B6559 /* PNCryptorHeader.h in Headers */ = {isa = PBXBuildFile; fileRef = A5DB70CE2AAEFE58005B6559 /* PNCryptorHeader.h */; };
A5DB714A2AAEFE59005B6559 /* PNCryptorHeader.h in Headers */ = {isa = PBXBuildFile; fileRef = A5DB70CE2AAEFE58005B6559 /* PNCryptorHeader.h */; };
A5DB714B2AAEFE59005B6559 /* PNCryptorHeader.h in Headers */ = {isa = PBXBuildFile; fileRef = A5DB70CE2AAEFE58005B6559 /* PNCryptorHeader.h */; };
A5E3BA0D2B3118BE00D3AA18 /* PNRequestRetryConfiguration.h in Headers */ = {isa = PBXBuildFile; fileRef = A5E3BA0B2B3118BD00D3AA18 /* PNRequestRetryConfiguration.h */; settings = {ATTRIBUTES = (Public, ); }; };
A5E3BA0E2B3118BE00D3AA18 /* PNRequestRetryConfiguration.h in Headers */ = {isa = PBXBuildFile; fileRef = A5E3BA0B2B3118BD00D3AA18 /* PNRequestRetryConfiguration.h */; settings = {ATTRIBUTES = (Public, ); }; };
A5E3BA0F2B3118BE00D3AA18 /* PNRequestRetryConfiguration.h in Headers */ = {isa = PBXBuildFile; fileRef = A5E3BA0B2B3118BD00D3AA18 /* PNRequestRetryConfiguration.h */; settings = {ATTRIBUTES = (Public, ); }; };
A5E3BA102B3118BE00D3AA18 /* PNRequestRetryConfiguration.h in Headers */ = {isa = PBXBuildFile; fileRef = A5E3BA0B2B3118BD00D3AA18 /* PNRequestRetryConfiguration.h */; settings = {ATTRIBUTES = (Public, ); }; };
A5E3BA112B3118BE00D3AA18 /* PNRequestRetryConfiguration.h in Headers */ = {isa = PBXBuildFile; fileRef = A5E3BA0B2B3118BD00D3AA18 /* PNRequestRetryConfiguration.h */; settings = {ATTRIBUTES = (Public, ); }; };
A5E3BA122B3118BE00D3AA18 /* PNRequestRetryConfiguration.m in Sources */ = {isa = PBXBuildFile; fileRef = A5E3BA0C2B3118BE00D3AA18 /* PNRequestRetryConfiguration.m */; };
A5E3BA132B3118BE00D3AA18 /* PNRequestRetryConfiguration.m in Sources */ = {isa = PBXBuildFile; fileRef = A5E3BA0C2B3118BE00D3AA18 /* PNRequestRetryConfiguration.m */; };
A5E3BA142B3118BE00D3AA18 /* PNRequestRetryConfiguration.m in Sources */ = {isa = PBXBuildFile; fileRef = A5E3BA0C2B3118BE00D3AA18 /* PNRequestRetryConfiguration.m */; };
A5E3BA152B3118BE00D3AA18 /* PNRequestRetryConfiguration.m in Sources */ = {isa = PBXBuildFile; fileRef = A5E3BA0C2B3118BE00D3AA18 /* PNRequestRetryConfiguration.m */; };
A5E3BA162B3118BE00D3AA18 /* PNRequestRetryConfiguration.m in Sources */ = {isa = PBXBuildFile; fileRef = A5E3BA0C2B3118BE00D3AA18 /* PNRequestRetryConfiguration.m */; };
A5FADC342490270E001D7704 /* PubNub+Files.h in Headers */ = {isa = PBXBuildFile; fileRef = A5FADC322490270E001D7704 /* PubNub+Files.h */; settings = {ATTRIBUTES = (Public, ); }; };
A5FADC352490270E001D7704 /* PubNub+Files.h in Headers */ = {isa = PBXBuildFile; fileRef = A5FADC322490270E001D7704 /* PubNub+Files.h */; settings = {ATTRIBUTES = (Public, ); }; };
A5FADC362490270E001D7704 /* PubNub+Files.h in Headers */ = {isa = PBXBuildFile; fileRef = A5FADC322490270E001D7704 /* PubNub+Files.h */; settings = {ATTRIBUTES = (Public, ); }; };
Expand Down Expand Up @@ -3219,6 +3229,9 @@
A5DB70CC2AAEFE58005B6559 /* PNCryptorHeaderV1Data.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PNCryptorHeaderV1Data.h; sourceTree = "<group>"; };
A5DB70CD2AAEFE58005B6559 /* PNCryptorHeader+Private.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "PNCryptorHeader+Private.h"; sourceTree = "<group>"; };
A5DB70CE2AAEFE58005B6559 /* PNCryptorHeader.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PNCryptorHeader.h; sourceTree = "<group>"; };
A5E3B9FF2B2F669200D3AA18 /* PNRequestRetryConfiguration+Private.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "PNRequestRetryConfiguration+Private.h"; sourceTree = "<group>"; };
A5E3BA0B2B3118BD00D3AA18 /* PNRequestRetryConfiguration.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PNRequestRetryConfiguration.h; sourceTree = "<group>"; };
A5E3BA0C2B3118BE00D3AA18 /* PNRequestRetryConfiguration.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PNRequestRetryConfiguration.m; sourceTree = "<group>"; };
A5FADC322490270E001D7704 /* PubNub+Files.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "PubNub+Files.h"; sourceTree = "<group>"; };
A5FADC332490270E001D7704 /* PubNub+Files.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = "PubNub+Files.m"; sourceTree = "<group>"; };
A5FADC3F2490292A001D7704 /* PNSendFileRequest.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = PNSendFileRequest.h; sourceTree = "<group>"; };
Expand Down Expand Up @@ -3755,6 +3768,9 @@
79CBB0F11BD03DE4001FC34D /* PNNetworkResponseSerializer.m */,
79CBB0F41BD03DE4001FC34D /* PNRequestParameters.h */,
79CBB0F51BD03DE4001FC34D /* PNRequestParameters.m */,
A5E3B9FF2B2F669200D3AA18 /* PNRequestRetryConfiguration+Private.h */,
A5E3BA0B2B3118BD00D3AA18 /* PNRequestRetryConfiguration.h */,
A5E3BA0C2B3118BE00D3AA18 /* PNRequestRetryConfiguration.m */,
79CBB0F21BD03DE4001FC34D /* PNReachability.h */,
79CBB0F31BD03DE4001FC34D /* PNReachability.m */,
79CBB0F61BD03DE4001FC34D /* PNURLBuilder.h */,
Expand Down Expand Up @@ -4580,6 +4596,7 @@
A5A4517A246D8CBE008ECC74 /* PNBaseObjectsMembershipRequest.h in Headers */,
79DA780924BFC1CF00AC72F2 /* PNDownloadFileRequest+Private.h in Headers */,
A5DB70DE2AAEFE58005B6559 /* PNEncryptedData.h in Headers */,
A5E3BA0D2B3118BE00D3AA18 /* PNRequestRetryConfiguration.h in Headers */,
A5046E392478471D0008C81E /* PNSetMembershipsRequest.h in Headers */,
A55A86C622FD817E002D0A72 /* PNUUIDMetadata.h in Headers */,
A5A451BD246DE8C3008ECC74 /* PNRemoveChannelMembersRequest.h in Headers */,
Expand Down Expand Up @@ -4872,6 +4889,7 @@
A5A4517C246D8CBE008ECC74 /* PNBaseObjectsMembershipRequest.h in Headers */,
79DA780B24BFC1CF00AC72F2 /* PNDownloadFileRequest+Private.h in Headers */,
A5DB70E02AAEFE58005B6559 /* PNEncryptedData.h in Headers */,
A5E3BA0F2B3118BE00D3AA18 /* PNRequestRetryConfiguration.h in Headers */,
A5046E3B2478471D0008C81E /* PNSetMembershipsRequest.h in Headers */,
A55A86C822FD817E002D0A72 /* PNUUIDMetadata.h in Headers */,
A5A451BF246DE8C3008ECC74 /* PNRemoveChannelMembersRequest.h in Headers */,
Expand Down Expand Up @@ -5064,6 +5082,7 @@
798842A81C18F2D3003E8948 /* PNErrorParser.h in Headers */,
A568659E230170690014E17C /* PNFetchUUIDMetadataParser.h in Headers */,
798842441C18F151003E8948 /* PNErrorStatus.h in Headers */,
A5E3BA112B3118BE00D3AA18 /* PNRequestRetryConfiguration.h in Headers */,
79CD275924D6A1CB000698DD /* PNDataStorage.h in Headers */,
A504E1C924AE78E4006DCF5B /* PNGenerateFileUploadURLRequest.h in Headers */,
A55A883522FD8272002D0A72 /* PNRemoveChannelMetadataRequest.h in Headers */,
Expand Down Expand Up @@ -5455,6 +5474,7 @@
A5A4517B246D8CBE008ECC74 /* PNBaseObjectsMembershipRequest.h in Headers */,
79DA780A24BFC1CF00AC72F2 /* PNDownloadFileRequest+Private.h in Headers */,
A5DB70DF2AAEFE58005B6559 /* PNEncryptedData.h in Headers */,
A5E3BA0E2B3118BE00D3AA18 /* PNRequestRetryConfiguration.h in Headers */,
A5046E3A2478471D0008C81E /* PNSetMembershipsRequest.h in Headers */,
A55A86C722FD817E002D0A72 /* PNUUIDMetadata.h in Headers */,
A5A451BE246DE8C3008ECC74 /* PNRemoveChannelMembersRequest.h in Headers */,
Expand Down Expand Up @@ -5747,6 +5767,7 @@
A5A4517D246D8CBE008ECC74 /* PNBaseObjectsMembershipRequest.h in Headers */,
79DA780C24BFC1CF00AC72F2 /* PNDownloadFileRequest+Private.h in Headers */,
A5DB70E12AAEFE58005B6559 /* PNEncryptedData.h in Headers */,
A5E3BA102B3118BE00D3AA18 /* PNRequestRetryConfiguration.h in Headers */,
A5046E3C2478471D0008C81E /* PNSetMembershipsRequest.h in Headers */,
A55A86C922FD817E002D0A72 /* PNUUIDMetadata.h in Headers */,
A5A451C0246DE8C3008ECC74 /* PNRemoveChannelMembersRequest.h in Headers */,
Expand Down Expand Up @@ -6437,6 +6458,7 @@
A5046F0B24784CAB0008C81E /* PNMembership.m in Sources */,
791582161BD709C60084FC70 /* PNJSON.m in Sources */,
7915820E1BD709C60084FC70 /* PNData.m in Sources */,
A5E3BA122B3118BE00D3AA18 /* PNRequestRetryConfiguration.m in Sources */,
791582141BD709C60084FC70 /* PNGZIP.m in Sources */,
A5046F0224784CAB0008C81E /* PNFetchAllChannelsMetadataAPICallBuilder.m in Sources */,
791582381BD709C60084FC70 /* PNAES.m in Sources */,
Expand Down Expand Up @@ -6679,6 +6701,7 @@
A5046EAD24784CAA0008C81E /* PNMembership.m in Sources */,
791582ED1BD709D10084FC70 /* PNArray.m in Sources */,
791582BF1BD709D10084FC70 /* PNJSON.m in Sources */,
A5E3BA142B3118BE00D3AA18 /* PNRequestRetryConfiguration.m in Sources */,
791582BD1BD709D10084FC70 /* PNGZIP.m in Sources */,
A5046EA424784CAA0008C81E /* PNFetchAllChannelsMetadataAPICallBuilder.m in Sources */,
791582B71BD709D10084FC70 /* PNData.m in Sources */,
Expand Down Expand Up @@ -6921,6 +6944,7 @@
A5046E4F24784CA90008C81E /* PNMembership.m in Sources */,
7988428B1C18F291003E8948 /* PNArray.m in Sources */,
798842911C18F292003E8948 /* PNJSON.m in Sources */,
A5E3BA162B3118BE00D3AA18 /* PNRequestRetryConfiguration.m in Sources */,
7988428E1C18F292003E8948 /* PNData.m in Sources */,
A5046E4624784CA90008C81E /* PNFetchAllChannelsMetadataAPICallBuilder.m in Sources */,
798842901C18F292003E8948 /* PNGZIP.m in Sources */,
Expand Down Expand Up @@ -7163,6 +7187,7 @@
A5046EDC24784CAB0008C81E /* PNMembership.m in Sources */,
79A8BC5A1C58F93900015BDE /* PNArray.m in Sources */,
79A8BC2B1C58F93900015BDE /* PNJSON.m in Sources */,
A5E3BA132B3118BE00D3AA18 /* PNRequestRetryConfiguration.m in Sources */,
79A8BC291C58F93900015BDE /* PNGZIP.m in Sources */,
A5046ED324784CAB0008C81E /* PNFetchAllChannelsMetadataAPICallBuilder.m in Sources */,
79A8BC231C58F93900015BDE /* PNData.m in Sources */,
Expand Down Expand Up @@ -7405,6 +7430,7 @@
A5046E7E24784CAA0008C81E /* PNMembership.m in Sources */,
79CBB1491BD03DE4001FC34D /* PNArray.m in Sources */,
79CBB1561BD03DE4001FC34D /* PNJSON.m in Sources */,
A5E3BA152B3118BE00D3AA18 /* PNRequestRetryConfiguration.m in Sources */,
79CBB1531BD03DE4001FC34D /* PNGZIP.m in Sources */,
A5046E7524784CAA0008C81E /* PNFetchAllChannelsMetadataAPICallBuilder.m in Sources */,
79CBB14F1BD03DE4001FC34D /* PNData.m in Sources */,
Expand Down
6 changes: 3 additions & 3 deletions Framework/PubNub/Info.plist
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
<key>CFBundleExecutable</key>
<string>PubNub</string>
<key>CFBundleGetInfoString</key>
<string>5.2.1</string>
<string>5.3.0</string>
<key>CFBundleIdentifier</key>
<string>com.pubnub.pubnub-objc</string>
<key>CFBundleInfoDictionaryVersion</key>
Expand All @@ -17,11 +17,11 @@
<key>CFBundlePackageType</key>
<string>FMWK</string>
<key>CFBundleShortVersionString</key>
<string>5.2.1</string>
<string>5.3.0</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleVersion</key>
<string>5.2.1</string>
<string>5.3.0</string>
<key>NSHumanReadableCopyright</key>
<string>© 2010 - 2020 PubNub, Inc.</string>
<key>NSPrincipalClass</key>
Expand Down
6 changes: 3 additions & 3 deletions Framework/PubNub/PubNub-iOS-Info.plist
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
<key>CFBundleExecutable</key>
<string>PubNub</string>
<key>CFBundleGetInfoString</key>
<string>5.2.1</string>
<string>5.3.0</string>
<key>CFBundleIdentifier</key>
<string>com.pubnub.pubnub-objc</string>
<key>CFBundleInfoDictionaryVersion</key>
Expand All @@ -17,11 +17,11 @@
<key>CFBundlePackageType</key>
<string>FMWK</string>
<key>CFBundleShortVersionString</key>
<string>5.2.1</string>
<string>5.3.0</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleVersion</key>
<string>5.2.1</string>
<string>5.3.0</string>
<key>NSHumanReadableCopyright</key>
<string>© 2010 - 2020 PubNub, Inc.</string>
<key>NSPrincipalClass</key>
Expand Down
6 changes: 3 additions & 3 deletions Framework/PubNub/PubNub-tvOS-Info.plist
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
<key>CFBundleExecutable</key>
<string>PubNub</string>
<key>CFBundleGetInfoString</key>
<string>5.2.1</string>
<string>5.3.0</string>
<key>CFBundleIdentifier</key>
<string>com.pubnub.pubnub-objc</string>
<key>CFBundleInfoDictionaryVersion</key>
Expand All @@ -17,11 +17,11 @@
<key>CFBundlePackageType</key>
<string>FMWK</string>
<key>CFBundleShortVersionString</key>
<string>5.2.1</string>
<string>5.3.0</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleVersion</key>
<string>5.2.1</string>
<string>5.3.0</string>
<key>NSHumanReadableCopyright</key>
<string>© 2010 - 2020 PubNub, Inc.</string>
<key>NSPrincipalClass</key>
Expand Down
6 changes: 3 additions & 3 deletions Framework/PubNub/PubNub-watchOS-Info.plist
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
<key>CFBundleExecutable</key>
<string>PubNub</string>
<key>CFBundleGetInfoString</key>
<string>5.2.1</string>
<string>5.3.0</string>
<key>CFBundleIdentifier</key>
<string>com.pubnub.pubnub-objc</string>
<key>CFBundleInfoDictionaryVersion</key>
Expand All @@ -17,11 +17,11 @@
<key>CFBundlePackageType</key>
<string>FMWK</string>
<key>CFBundleShortVersionString</key>
<string>5.2.1</string>
<string>5.3.0</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleVersion</key>
<string>5.2.1</string>
<string>5.3.0</string>
<key>NSHumanReadableCopyright</key>
<string>© 2010 - 2020 PubNub, Inc.</string>
<key>NSPrincipalClass</key>
Expand Down
4 changes: 3 additions & 1 deletion Framework/PubNub/PubNub.h
Original file line number Diff line number Diff line change
Expand Up @@ -55,6 +55,9 @@ FOUNDATION_EXPORT const unsigned char PubNubVersionString[];
#import <PubNub/PNResult.h>
#import <PubNub/PNStatus.h>

#import <PubNub/PNRequestRetryConfiguration.h>
#import <PubNub/PNConfiguration.h>

#pragma mark - Cryptor module

// Cryptor implementations
Expand All @@ -80,7 +83,6 @@ FOUNDATION_EXPORT const unsigned char PubNubVersionString[];
#import <PubNub/PubNub+ChannelGroup.h>
#import <PubNub/PNOperationResult.h>
#import <PubNub/PubNub+Subscribe.h>
#import <PubNub/PNConfiguration.h>
#import <PubNub/PubNub+Presence.h>
#import <PubNub/PubNub+Publish.h>
#import <PubNub/PubNub+History.h>
Expand Down
2 changes: 1 addition & 1 deletion PubNub.podspec
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@

Pod::Spec.new do |spec|
spec.name = 'PubNub'
spec.version = '5.2.1'
spec.version = '5.3.0'
spec.summary = 'The PubNub Real-Time Network. Build real-time apps quickly and scale them globally.'
spec.homepage = 'https://github.com/pubnub/objective-c'

Expand Down
5 changes: 3 additions & 2 deletions PubNub/Core/PubNub+Core.m
Original file line number Diff line number Diff line change
Expand Up @@ -556,8 +556,9 @@ - (void)processOperation:(PNOperationType)operationType

- (void)processOperation:(PNOperationType)operationType
withParameters:(PNRequestParameters *)parameters
data:(NSData *)data completionBlock:(id)block {

data:(NSData *)data
completionBlock:(id)block {

[self addAuthParameter:parameters];

if (operationType == PNSubscribeOperation || operationType == PNUnsubscribeOperation) {
Expand Down
19 changes: 19 additions & 0 deletions PubNub/Data/PNConfiguration.h
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
#import <Foundation/Foundation.h>
#import <PubNub/PNRequestRetryConfiguration.h>
#import <PubNub/PNCryptoProvider.h>
#import <PubNub/PNStructures.h>

Expand Down Expand Up @@ -273,6 +274,24 @@ DEPRECATED_MSG_ATTRIBUTE("This property deprecated and will be removed with next
/// - Since: 4.16.0
@property (nonatomic, assign) NSUInteger fileMessagePublishRetryLimit;

/// Request automatic retry configuration.
///
/// Failed request automatic retry configuration.
///
/// #### Example:
/// ```objc
/// PNConfiguration *configuration = [PNConfiguration configurationWithPublishKey:@"demo"
/// subscribeKey:@"demo"
/// userID:@"user"];
/// configuration.requestRetry = [PNRequestRetryConfiguration configurationWithLinearDelay];
/// ```
///
/// - Since: 5.3.0
@property (nonatomic, nullable, strong) PNRequestRetryConfiguration *requestRetry;


#pragma mark - Initialization and configuration

/// Create **PubNub** configuration wrapper instance.
///
/// - Throws: Exception in case if `userID` is empty string.
Expand Down
15 changes: 8 additions & 7 deletions PubNub/Data/PNConfiguration.m
Original file line number Diff line number Diff line change
Expand Up @@ -193,13 +193,13 @@ - (instancetype)initWithPublishKey:(NSString *)publishKey

- (id)copyWithZone:(NSZone *)zone {
PNConfiguration *configuration = [[PNConfiguration allocWithZone:zone] init];
configuration.deviceID = self.deviceID;
configuration.origin = self.origin;
configuration.publishKey = self.publishKey;
configuration.subscribeKey = self.subscribeKey;
configuration.authKey = self.authKey;
configuration.authToken = self.authToken;
configuration.userID = self.userID;
configuration.deviceID = [self.deviceID copy];
configuration.origin = [self.origin copy];
configuration.publishKey = [self.publishKey copy];
configuration.subscribeKey = [self.subscribeKey copy];
configuration.authKey = [self.authKey copy];
configuration.authToken = [self.authToken copy];
configuration.userID = [self.userID copy];
configuration.cryptoModule = self.cryptoModule;
configuration.subscribeMaximumIdleTime = self.subscribeMaximumIdleTime;
configuration.nonSubscribeRequestTimeout = self.nonSubscribeRequestTimeout;
Expand All @@ -213,6 +213,7 @@ - (id)copyWithZone:(NSZone *)zone {
configuration.catchUpOnSubscriptionRestore = self.shouldTryCatchUpOnSubscriptionRestore;
configuration.fileMessagePublishRetryLimit = self.fileMessagePublishRetryLimit;
configuration.cryptoModule = self.cryptoModule;
configuration.requestRetry = [self.requestRetry copy];

#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wdeprecated-declarations"
Expand Down
2 changes: 1 addition & 1 deletion PubNub/Misc/PNConstants.h
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@
#pragma mark General information constants

// Stores client library version number
static NSString * const kPNLibraryVersion = @"5.2.1";
static NSString * const kPNLibraryVersion = @"5.3.0";

// Stores information about SDK codebase
static NSString * const kPNCommit = @"fd5c7ed678527fce07eaf7eb162935caf1bfd303";
Expand Down
Loading

0 comments on commit 4c5c0fd

Please sign in to comment.