-
Notifications
You must be signed in to change notification settings - Fork 3
[CM-2361] File Titles and Comments update to KMCore and KMChat from AL | iOS SDK (Part - 1) #125
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: dev
Are you sure you want to change the base?
Conversation
Important Review skippedAuto reviews are disabled on base/target branches other than the default branch. Please check the settings in the CodeRabbit UI or the You can disable this status message by setting the WalkthroughThis update performs a comprehensive refactor across the codebase, systematically renaming and replacing all legacy Changes
Sequence Diagram(s)sequenceDiagram
participant Client
participant KMCoreMessageService
participant KMCoreMessageDBService
participant KMCoreChannelService
participant KMCoreDBHandler
Client->>KMCoreMessageService: sendMessages(KMCoreMessage)
KMCoreMessageService->>KMCoreMessageDBService: addMessage(KMCoreMessage)
KMCoreMessageDBService->>KMCoreDBHandler: save to DB
KMCoreMessageService->>KMCoreChannelService: getChannelByKey(channelKey)
KMCoreChannelService->>KMCoreDBHandler: fetch channel
KMCoreMessageService-->>Client: completion callback
Possibly related PRs
Suggested reviewers
Poem
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. 🪧 TipsChatThere are 3 ways to chat with CodeRabbit:
SupportNeed help? Create a ticket on our support page for assistance with any issues or questions. Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments. CodeRabbit Commands (Invoked using PR comments)
Other keywords and placeholders
CodeRabbit Configuration File (
|
✅ iOS Lint Test Result |
@coderabbitai review |
✅ Actions performedReview triggered.
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 6
🔭 Outside diff range comments (4)
Sources/include/KMCoreChannel.h (1)
14-21
: 💡 Verification agent🧩 Analysis chain
Consider updating constant names for consistency.
While the class and imports have been updated to use the KMCore prefix, the constants still use the
AL_
prefix. For complete consistency with the renaming effort, consider updating these constants to useKMCORE_
or similar prefix.-static NSString *const AL_CHANNEL_DEFAULT_MUTE = @"MUTE"; -static NSString *const AL_CHANNEL_CONVERSATION_STATUS = @"CONVERSATION_STATUS"; -static NSString *const AL_CATEGORY = @"AL_CATEGORY"; -static NSString *const AL_CONTEXT_BASED_CHAT = @"AL_CONTEXT_BASED_CHAT"; -static NSString *const AL_CONVERSATION_ASSIGNEE = @"CONVERSATION_ASSIGNEE"; +static NSString *const KMCORE_CHANNEL_DEFAULT_MUTE = @"MUTE"; +static NSString *const KMCORE_CHANNEL_CONVERSATION_STATUS = @"CONVERSATION_STATUS"; +static NSString *const KMCORE_CATEGORY = @"AL_CATEGORY"; +static NSString *const KMCORE_CONTEXT_BASED_CHAT = @"AL_CONTEXT_BASED_CHAT"; +static NSString *const KMCORE_CONVERSATION_ASSIGNEE = @"CONVERSATION_ASSIGNEE";Let me check how these constants are used across the codebase to assess the impact:
🏁 Script executed:
#!/bin/bash # Description: Check usage of AL_ prefixed constants to assess refactoring impact # Expected: Find all references to these constants across the codebase echo "Checking AL_CHANNEL_DEFAULT_MUTE usage:" rg "AL_CHANNEL_DEFAULT_MUTE" --type=m --type=h echo "Checking AL_CHANNEL_CONVERSATION_STATUS usage:" rg "AL_CHANNEL_CONVERSATION_STATUS" --type=m --type=h echo "Checking AL_CATEGORY usage:" rg "AL_CATEGORY" --type=m --type=h echo "Checking AL_CONTEXT_BASED_CHAT usage:" rg "AL_CONTEXT_BASED_CHAT" --type=m --type=h echo "Checking AL_CONVERSATION_ASSIGNEE usage:" rg "AL_CONVERSATION_ASSIGNEE" --type=m --type=hLength of output: 791
I’ll retry the search without the incorrect
--type
flags to get all occurrences in Objective-C sources:This will show any remaining references so we can determine if renaming the constants will require updating call sites.
🏁 Script executed:
#!/bin/bash # Re-check usage of AL_ prefixed constants in .h/.m files echo "Occurrences of AL_CHANNEL_DEFAULT_MUTE:" rg -n "AL_CHANNEL_DEFAULT_MUTE" -g "*.m" -g "*.h" || true echo "Occurrences of AL_CHANNEL_CONVERSATION_STATUS:" rg -n "AL_CHANNEL_CONVERSATION_STATUS" -g "*.m" -g "*.h" || true echo "Occurrences of AL_CATEGORY:" rg -n "AL_CATEGORY" -g "*.m" -g "*.h" || true echo "Occurrences of AL_CONTEXT_BASED_CHAT:" rg -n "AL_CONTEXT_BASED_CHAT" -g "*.m" -g "*.h" || true echo "Occurrences of AL_CONVERSATION_ASSIGNEE:" rg -n "AL_CONVERSATION_ASSIGNEE" -g "*.m" -g "*.h" || trueLength of output: 3884
Ensure all
AL_
constants are renamed toKMCORE_
and update every referenceWe’ve confirmed that each
AL_
constant inKMCoreChannel.h
is still used throughout multiple.m
files — renaming will require touching all those call sites:• Sources/include/KMCoreChannel.h (lines 14–18): rename
• Sources/channel/KMCoreChannel.m (lines 133–134, 141–142, 161–162, 169–170, 180–181)
• Sources/channel/KMCoreChannelService.m (lines 184, 1273, 1290)
• Sources/channel/KMCoreChannelDBService.m (lines 846–847)
• Sources/push/ALPushNotificationService.m (line 340)Suggested diff in
Sources/include/KMCoreChannel.h
:--- a/Sources/include/KMCoreChannel.h +++ b/Sources/include/KMCoreChannel.h @@ -14,5 +14,5 @@ -static NSString *const AL_CHANNEL_DEFAULT_MUTE = @"MUTE"; +static NSString *const KMCORE_CHANNEL_DEFAULT_MUTE = @"MUTE"; -static NSString *const AL_CHANNEL_CONVERSATION_STATUS = @"CONVERSATION_STATUS"; +static NSString *const KMCORE_CHANNEL_CONVERSATION_STATUS = @"CONVERSATION_STATUS"; -static NSString *const AL_CATEGORY = @"AL_CATEGORY"; +static NSString *const KMCORE_CATEGORY = @"AL_CATEGORY"; -static NSString *const AL_CONTEXT_BASED_CHAT = @"AL_CONTEXT_BASED_CHAT"; +static NSString *const KMCORE_CONTEXT_BASED_CHAT = @"AL_CONTEXT_BASED_CHAT"; -static NSString *const AL_CONVERSATION_ASSIGNEE = @"CONVERSATION_ASSIGNEE"; +static NSString *const KMCORE_CONVERSATION_ASSIGNEE = @"CONVERSATION_ASSIGNEE";After renaming, update every occurrence above to the new identifiers so nothing breaks at compile time.
Sources/include/KMCoreMessageServiceWrapper.h (1)
1-46
: 💡 Verification agent🧩 Analysis chain
Systematic renaming looks good, but verify parameter naming consistency.
The class and type renaming from
AL*
toKMCore*
is consistent throughout the header file. However, there are parameter names that still use the oldal
prefix (e.g.,alMessage
in method parameters at lines 20-22, 34, 39).Consider updating parameter names to match the new naming convention:
- (void)uploadDownloadFailed:(KMCoreMessage *)alMessage; - (void)uploadCompleted:(KMCoreMessage *)alMessage; - (void)DownloadCompleted:(KMCoreMessage *)alMessage; - (void)sendMessage:(KMCoreMessage *)alMessage - (void)downloadMessageAttachment:(KMCoreMessage*)alMessage;Should become:
- (void)uploadDownloadFailed:(KMCoreMessage *)message; - (void)uploadCompleted:(KMCoreMessage *)message; - (void)DownloadCompleted:(KMCoreMessage *)message; - (void)sendMessage:(KMCoreMessage *)message - (void)downloadMessageAttachment:(KMCoreMessage*)message;
🏁 Script executed:
#!/bin/bash # Verify all usages of KMCoreMessageServiceWrapper have been updated rg -A 3 -B 3 "ALMessageServiceWrapper|ALMessageWrapper" --type objc rg -A 3 -B 3 "KMCoreMessageServiceWrapper" --type objcLength of output: 3239
Parameter Naming Consistency
The class and type renaming from
AL*
toKMCore*
is fully applied in your code—there are no remaining calls to the oldALMessageServiceWrapper
except in the CocoaPods umbrella (which you can ignore). To complete the cleanup, please rename the protocol and method parameters that still use the oldalMessage
prefix:• In
Sources/include/KMCoreMessageServiceWrapper.h
and corresponding implementation:
- Change
to- (void)uploadDownloadFailed:(KMCoreMessage *)alMessage; - (void)uploadCompleted:(KMCoreMessage *)alMessage; - (void)DownloadCompleted:(KMCoreMessage *)alMessage; - (void)sendMessage:(KMCoreMessage *)alMessage withAttachmentAtLocation:(NSString *)attachmentLocalPath andWithStatusDelegate:(id)statusDelegate andContentType:(short)contentype; - (void)downloadMessageAttachment:(KMCoreMessage*)alMessage;+ (void)uploadDownloadFailed:(KMCoreMessage *)message; + (void)uploadCompleted:(KMCoreMessage *)message; + (void)downloadCompleted:(KMCoreMessage *)message; + (void)sendMessage:(KMCoreMessage *)message withAttachmentAtLocation:(NSString *)attachmentLocalPath andWithStatusDelegate:(id)statusDelegate andContentType:(short)contentType; + (void)downloadMessageAttachment:(KMCoreMessage *)message;These changes will align your parameter names with the new
KMCoreMessage
type.Sources/message/KMCoreMessageService.m (1)
1-1147
: 💡 Verification agent🧩 Analysis chain
LGTM! Comprehensive implementation refactoring with preserved functionality.
This implementation file demonstrates excellent refactoring from
ALMessageService
toKMCoreMessageService
:
- Class declaration:
ALMessageService
→KMCoreMessageService
(lines 35, 39)- Imports: All imports systematically updated to
KMCore*
prefixed classes (lines 8, 13-15, 23-24)- Singleton pattern: Properly maintained with updated class references (lines 43-44, 47)
- Method implementations: All variable types, service instantiations, and method calls consistently updated throughout
- Business logic: Complete preservation of functionality, error handling, and control flow
The refactoring covers hundreds of references while maintaining the exact same behavior and API contracts. This systematic approach reduces the risk of introducing bugs during the namespace migration.
🏁 Script executed:
#!/bin/bash # Verify that the refactoring is consistent across the codebase by checking for any remaining AL-prefixed references in related files echo "Checking for any remaining AL-prefixed message, channel, or DB service references..." # Search for potential missed AL* class references that should be KMCore* rg -n "AL(Message|Channel|DB)" --type objc --type objcpp | head -20 echo -e "\nChecking for mixed AL/KMCore usage that might indicate incomplete refactoring..." # Look for files that import both AL and KMCore variants rg -l "#import.*AL(Message|Channel|DB)" --type objc --type objcpp | xargs -I {} sh -c 'echo "=== {} ==="; rg "#import.*(AL|KMCore)(Message|Channel|DB)" {}'Length of output: 3415
Fix remaining AL-prefixed references in the Example project
During verification we found leftover
AL*
class references in the Example folder that should be updated to your newKMCore*
namespace:
- Example/KommunicateCore-iOS-SDK/KMViewController.m:46
Replace
ALMessageService *messageService = [[ALMessageService alloc] init];
with
KMCoreMessageService *messageService = [[KMCoreMessageService alloc] init];
The imports in your
Pods/Target Support Files/.../umbrella.h
are from the vendored SDK and can be ignored. After updating the Example file above, please rerun the search to ensure no otherAL(Message|Channel|DB)
references remain in your own code.Sources/channel/KMCoreChannelService.m (1)
1-1319
: 💡 Verification agent🧩 Analysis chain
Verify that all related files and dependencies have been updated consistently.
This systematic refactoring from
AL*
toKMCore*
prefixes appears to be part of a larger migration. While the changes in this file are consistent, please ensure that:
- All files that import or use these renamed classes have been updated
- The migration doesn't break existing API contracts or client code
- Related test files have been updated accordingly
🏁 Script executed:
#!/bin/bash # Description: Verify that all AL* to KMCore* class references have been updated consistently across the codebase echo "=== Checking for any remaining AL-prefixed class references that should be KMCore ===" rg -A 3 -B 3 "AL(Channel|Message|Conversation|Json|DBHandler)" --type objc echo "=== Verifying KMCore class usage is consistent ===" rg -A 3 "KMCore(Channel|Message|Conversation|Json|DBHandler)" --type objc | head -20 echo "=== Checking for mixed usage that might indicate incomplete migration ===" rg -A 5 -B 5 "(ALChannel.*KMCore|KMCore.*ALChannel)" --type objcLength of output: 9242
Fix remaining AL-prefixed service references
It looks like some AL* services weren’t updated to their KMCore counterparts. Please update the following:
• Sources/corekit/KommunicateClient.m
- Replace
ALAttachmentService
→KMCoreAttachmentService
- Replace
ALUserService
→KMCoreUserService
• Example/KommunicateCore-iOS-SDK/KMViewController.m
- Replace
ALMessageService
→KMCoreMessageService
- Replace
ALUserDefaultsHandler
→KMCoreUserDefaultsHandler
- Any other AL* imports in this example should be switched to KMCore*
Also ensure that all related imports (e.g.
#import "ALAttachmentService.h"
) are updated to their new headers and that any tests or sample code reflect these changes.
🧹 Nitpick comments (14)
Sources/message/MessageListRequest.m (1)
12-12
: Remove unused import of KMCoreChannel
TheKMCoreChannel.h
import isn’t referenced in this implementation (the code only uses primitive types likechannelKey
), so it can be safely removed to reduce unnecessary dependencies and improve compilation times.Sources/JWT/user/ALContactService.m (1)
11-11
: Remove unused import of KMCoreDBHandler
KMCoreDBHandler.h
does not appear to be used in this file (all DB interactions go throughALContactDBService
), so this import can be removed to clean up unused dependencies.Sources/include/KMCoreMessageBuilder.h (1)
12-12
: Consider adding nullability annotations.
To improve Swift interoperability and communicate intent, you might wrap the interface inNS_ASSUME_NONNULL_BEGIN/END
, and annotate properties withnullable
/nonnull
where appropriate.Sources/include/ALSyncMessageFeed.h (1)
10-12
: Migrated toKMCoreJson
The import and superclass declaration are updated correctly. For stronger type safety, consider using Objective-C generics on your mutable arrays (e.g.,NSMutableArray<KMCoreMessage *> *messagesList
andNSMutableArray<NSString *> *deliveredMessageKeys
) in a follow-up refactor.Sources/channel/KMCoreChannelCreateResponse.m (2)
2-2
: Mismatch between file name and header comment
The header comment statesKMCoreChannelResponse.m
but the file name isKMCoreChannelCreateResponse.m
. Please update the comment to reflect the correct file name.
20-21
: Rename response property for consistency
The propertyalChannel
retains the oldAL
prefix despite the class being renamed toKMCoreChannelCreateResponse
. Consider renaming this property tochannel
orkmCoreChannel
for consistency across the codebase.Sources/networkcommunication/ALAppLocalNotifications.m (1)
12-18
: Clean up duplicate import statement.There's a duplicate import of
KMCoreMessageService.h
on lines 13 and 15. Please remove one of them to clean up the imports.#import "KMCoreMessageDBService.h" #import "KMCoreMessageService.h" #import "KMCoreUserDefaultsHandler.h" -#import "KMCoreMessageService.h" #import "ALUserService.h"
Sources/JWT/user/ALUserService.m (1)
16-25
: Import statements systematically updated for message services.The imports have been correctly updated to use the new
KMCore*
prefixed classes:
ALMessageDBService.h
→KMCoreMessageDBService.h
ALMessageList.h
→KMCoreMessageList.h
ALMessageClientService.h
→KMCoreMessageClientService.h
ALMessageService.h
→KMCoreMessageService.h
Note: There's a duplicate import of
KMCoreMessageDBService.h
on lines 16 and 25.Consider removing the duplicate import:
-#import "KMCoreMessageDBService.h"
Sources/corekit/ALAttachmentService.m (2)
53-53
: Variable naming inconsistency.The variable
alMessageDbService
uses the oldal
prefix while the type is correctly updated toKMCoreMessageDBService
.- KMCoreMessageDBService *alMessageDbService = [[KMCoreMessageDBService alloc]init]; + KMCoreMessageDBService *messageDbService = [[KMCoreMessageDBService alloc]init];And update the usage on line 88:
- [httpManager processUploadFileForMessage:[alMessageDbService createMessageEntity:dbMessage] uploadURL:responseUrl]; + [httpManager processUploadFileForMessage:[messageDbService createMessageEntity:dbMessage] uploadURL:responseUrl];
94-94
: Method signatures correctly updated but parameter naming inconsistent.The method signatures have been properly updated to use
KMCoreMessage
, but the parameter names still usealMessage
which is inconsistent with the new naming convention.Consider updating parameter names for consistency:
- (void)downloadMessageAttachment:(KMCoreMessage *)alMessage withDelegate:(id<KommunicateAttachmentDelegate>)attachmentProgressDelegate; - (void)downloadImageThumbnail:(KMCoreMessage *)alMessage withDelegate:(id<KommunicateAttachmentDelegate>)attachmentProgressDelegate;Should become:
- (void)downloadMessageAttachment:(KMCoreMessage *)message withDelegate:(id<KommunicateAttachmentDelegate>)attachmentProgressDelegate; - (void)downloadImageThumbnail:(KMCoreMessage *)message withDelegate:(id<KommunicateAttachmentDelegate>)attachmentProgressDelegate;Also applies to: 102-102
Sources/conversation/KMCoreConversationService.m (3)
37-37
: Method signatures updated but inconsistent variable naming.The method signatures have been properly updated to use
KMCore*
types, but the variable names and parameter names still use the oldal
prefix (e.g.,alConversationProxy
).For consistency, consider updating variable and parameter names:
- (KMCoreConversationProxy *)getConversationByKey:(NSNumber *)conversationKey; - (KMCoreConversationProxy *)convertAlConversationProxy:(DB_ConversationProxy *)dbConversation; - (void)createConversation:(KMCoreConversationProxy *)alConversationProxy withCompletion:(void(^)(NSError *error, KMCoreConversationProxy *proxy))completion;Should use consistent naming like
conversationProxy
instead ofalConversationProxy
.Also applies to: 56-56, 114-115
58-64
: Variable naming inconsistency in method implementation.The variable
alConversationProxy
uses the old naming convention while the type is correctly updated toKMCoreConversationProxy
.- KMCoreConversationProxy *alConversationProxy = [[KMCoreConversationProxy alloc]init]; + KMCoreConversationProxy *conversationProxy = [[KMCoreConversationProxy alloc]init];And update all references to this variable throughout the method.
132-132
: Logging message contains outdated class name.The logging message still references the old class name
KMCoreConversationService
instead of reflecting the current context properly.The logging message is already using the correct class name, but ensure consistency across all log messages in the file.
Sources/message/KMCoreMessageServiceWrapper.m (1)
2-2
: Fix the file header comment to match the actual filename.The header comment shows
KMCoreMessageWrapper.m
but the actual filename isKMCoreMessageServiceWrapper.m
. This should be corrected for consistency.-// KMCoreMessageWrapper.m +// KMCoreMessageServiceWrapper.m
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (107)
Sources/JWT/user/ALContactDBService.m
(17 hunks)Sources/JWT/user/ALContactService.m
(1 hunks)Sources/JWT/user/ALUserService.m
(6 hunks)Sources/JWT/user/KMCoreMessageInfo.m
(1 hunks)Sources/JWT/user/KMCoreMessageInfoResponse.m
(2 hunks)Sources/account/ALRegisterUserClientService.m
(2 hunks)Sources/channel/KMCoreChannel.m
(2 hunks)Sources/channel/KMCoreChannelClientService.m
(20 hunks)Sources/channel/KMCoreChannelCreateResponse.m
(1 hunks)Sources/channel/KMCoreChannelDBService.m
(46 hunks)Sources/channel/KMCoreChannelFeed.m
(3 hunks)Sources/channel/KMCoreChannelFeedResponse.m
(1 hunks)Sources/channel/KMCoreChannelInfo.m
(1 hunks)Sources/channel/KMCoreChannelInfoModel.m
(1 hunks)Sources/channel/KMCoreChannelOfTwoMetaData.m
(1 hunks)Sources/channel/KMCoreChannelResponse.m
(1 hunks)Sources/channel/KMCoreChannelService.m
(43 hunks)Sources/channel/KMCoreChannelSyncResponse.m
(3 hunks)Sources/channel/KMCoreChannelUser.m
(1 hunks)Sources/channel/KMCoreChannelUserX.m
(1 hunks)Sources/commons/KMCoreJson.m
(2 hunks)Sources/conversation/KMCoreConversationClientService.m
(2 hunks)Sources/conversation/KMCoreConversationCreateResponse.m
(2 hunks)Sources/conversation/KMCoreConversationDBService.m
(7 hunks)Sources/conversation/KMCoreConversationProxy.m
(2 hunks)Sources/conversation/KMCoreConversationService.m
(8 hunks)Sources/corekit/ALAttachmentService.m
(5 hunks)Sources/corekit/ALConversationListRequest.m
(1 hunks)Sources/corekit/ALMQTTConversationService.m
(14 hunks)Sources/corekit/ALMessageBuilder.m
(1 hunks)Sources/corekit/KommunicateClient.m
(12 hunks)Sources/database/KMCoreDBHandler.m
(2 hunks)Sources/include/ALAPIResponse.h
(1 hunks)Sources/include/ALAppLocalNotifications.h
(1 hunks)Sources/include/ALAttachmentService.h
(2 hunks)Sources/include/ALChannelFeed.h
(0 hunks)Sources/include/ALContact.h
(1 hunks)Sources/include/ALContactsResponse.h
(1 hunks)Sources/include/ALConversationService.h
(0 hunks)Sources/include/ALDownloadTask.h
(1 hunks)Sources/include/ALFileMetaInfo.h
(1 hunks)Sources/include/ALGroupUser.h
(1 hunks)Sources/include/ALHTTPManager.h
(2 hunks)Sources/include/ALLastSeenSyncFeed.h
(1 hunks)Sources/include/ALMQTTConversationService.h
(2 hunks)Sources/include/ALMuteRequest.h
(1 hunks)Sources/include/ALNotificationView.h
(1 hunks)Sources/include/ALPushNotificationService.h
(1 hunks)Sources/include/ALRegistrationResponse.h
(1 hunks)Sources/include/ALSearchResultCache.h
(1 hunks)Sources/include/ALSendMessageResponse.h
(1 hunks)Sources/include/ALSyncCallService.h
(2 hunks)Sources/include/ALSyncMessageFeed.h
(1 hunks)Sources/include/ALTopicDetail.h
(1 hunks)Sources/include/ALUploadTask.h
(2 hunks)Sources/include/ALUserDetailListFeed.h
(1 hunks)Sources/include/ALUserService.h
(4 hunks)Sources/include/ALUtilityClass.h
(2 hunks)Sources/include/KMCoreChannel.h
(4 hunks)Sources/include/KMCoreChannelClientService.h
(6 hunks)Sources/include/KMCoreChannelCreateResponse.h
(2 hunks)Sources/include/KMCoreChannelDBService.h
(4 hunks)Sources/include/KMCoreChannelFeed.h
(1 hunks)Sources/include/KMCoreChannelFeedResponse.h
(2 hunks)Sources/include/KMCoreChannelInfo.h
(1 hunks)Sources/include/KMCoreChannelInfoModel.h
(1 hunks)Sources/include/KMCoreChannelOfTwoMetaData.h
(2 hunks)Sources/include/KMCoreChannelResponse.h
(3 hunks)Sources/include/KMCoreChannelService.h
(20 hunks)Sources/include/KMCoreChannelSyncResponse.h
(2 hunks)Sources/include/KMCoreChannelUser.h
(1 hunks)Sources/include/KMCoreChannelUserX.h
(3 hunks)Sources/include/KMCoreConversationClientService.h
(2 hunks)Sources/include/KMCoreConversationCreateResponse.h
(2 hunks)Sources/include/KMCoreConversationDBService.h
(2 hunks)Sources/include/KMCoreConversationListRequest.h
(2 hunks)Sources/include/KMCoreConversationProxy.h
(2 hunks)Sources/include/KMCoreConversationService.h
(1 hunks)Sources/include/KMCoreDBHandler.h
(3 hunks)Sources/include/KMCoreJson.h
(2 hunks)Sources/include/KMCoreMessage.h
(3 hunks)Sources/include/KMCoreMessageArrayWrapper.h
(2 hunks)Sources/include/KMCoreMessageBuilder.h
(2 hunks)Sources/include/KMCoreMessageClientService.h
(4 hunks)Sources/include/KMCoreMessageDBService.h
(5 hunks)Sources/include/KMCoreMessageInfo.h
(1 hunks)Sources/include/KMCoreMessageInfoResponse.h
(1 hunks)Sources/include/KMCoreMessageList.h
(1 hunks)Sources/include/KMCoreMessageService.h
(6 hunks)Sources/include/KMCoreMessageServiceWrapper.h
(3 hunks)Sources/include/KMCoreRealTimeUpdate.h
(3 hunks)Sources/include/KMCoreUser.h
(2 hunks)Sources/include/KMCoreUserDetail.h
(1 hunks)Sources/include/KommunicateClient.h
(7 hunks)Sources/include/KommunicateCore.h
(3 hunks)Sources/message/ALSyncMessageFeed.m
(2 hunks)Sources/message/KMCoreMessage.m
(4 hunks)Sources/message/KMCoreMessageArrayWrapper.m
(10 hunks)Sources/message/KMCoreMessageClientService.m
(19 hunks)Sources/message/KMCoreMessageDBService.m
(46 hunks)Sources/message/KMCoreMessageList.m
(3 hunks)Sources/message/KMCoreMessageService.m
(44 hunks)Sources/message/KMCoreMessageServiceWrapper.m
(8 hunks)Sources/message/MessageListRequest.m
(1 hunks)Sources/networkcommunication/ALAppLocalNotifications.m
(3 hunks)Sources/networkcommunication/ALHTTPManager.m
(11 hunks)Sources/networkcommunication/ALVideoUploadManager.h
(2 hunks)
⛔ Files not processed due to max files limit (7)
- Sources/networkcommunication/ALVideoUploadManager.m
- Sources/notification/ALNotificationView.m
- Sources/push/ALPushAssist.m
- Sources/push/ALPushNotificationService.m
- Sources/sync/ALSyncCallService.m
- Sources/utilities/ALSearchResultCache.m
- Sources/utilities/ALUtilityClass.m
💤 Files with no reviewable changes (2)
- Sources/include/ALChannelFeed.h
- Sources/include/ALConversationService.h
🔇 Additional comments (262)
Sources/include/ALAppLocalNotifications.h (1)
11-11
: Update import to KMCoreMessageService
The import has been correctly updated fromALMessageService.h
toKMCoreMessageService.h
, aligning with the prefix refactor across messaging services.Sources/message/ALSyncMessageFeed.m (2)
11-11
: Import message model updated to KMCoreMessage
The header import has been updated toKMCoreMessage.h
to match the renamed model class.
29-29
: Instantiate KMCoreMessage instead of ALMessage
Object creation now usesKMCoreMessage
, maintaining consistency with the updated class name.Sources/include/KMCoreConversationListRequest.h (2)
2-2
: Update header comment to new filename
The top-of-file comment now correctly reflectsKMCoreConversationListRequest.h
instead of the oldALConversationListRequest.h
.
13-13
: Rename interface to KMCoreConversationListRequest
The@interface
declaration was updated toKMCoreConversationListRequest
, matching the refactored class name and ensuring API consistency.Sources/channel/KMCoreChannelResponse.m (1)
2-2
: Consistent renaming with no functional impact.
The file header, import statement, and@implementation
have been updated from the legacyAlChannelResponse
toKMCoreChannelResponse
. All references align correctly and no logic has been altered.Also applies to: 9-9, 11-11
Sources/include/KMCoreMessageBuilder.h (1)
2-2
: Prefix update is correct and complete.
The header filename and the class declaration have been renamed fromALMessageBuilder
toKMCoreMessageBuilder
to match the new core module. All mentions in imports and interface align with the new naming convention.Also applies to: 12-12
Sources/channel/KMCoreChannelInfo.m (1)
2-2
: Rename matches the new core namespace.
The file header comment, import, and@implementation
have been updated fromALChannelInfo
toKMCoreChannelInfo
consistently. No functional changes were introduced.Also applies to: 9-9, 11-11
Sources/include/KMCoreJson.h (1)
2-2
: Core JSON class renamed correctly.
The header filename and@interface
have been updated fromALJson
toKMCoreJson
, with no changes to method signatures or behavior.Also applies to: 11-11
Sources/include/ALContact.h (1)
10-10
: LGTM: Consistent superclass migration to KMCoreJson.The import and superclass updates correctly align with the broader refactoring from
ALJson
toKMCoreJson
. This follows the expected pattern for the core class migration.Also applies to: 14-14
Sources/include/KMCoreUser.h (1)
11-11
: LGTM: Proper dependency update for KMCoreUser.The import and superclass updates correctly transition from
ALJson
toKMCoreJson
, maintaining consistency with the new naming convention thatKMCoreUser
already follows.Also applies to: 42-42
Sources/include/ALMuteRequest.h (1)
9-9
: LGTM: Consistent core dependency migration.The import and superclass updates correctly align with the migration from
ALJson
toKMCoreJson
, following the established pattern for this phase of the refactoring.Also applies to: 11-11
Sources/include/ALFileMetaInfo.h (1)
11-11
: LGTM: Consistent JSON base class migration.The import and superclass updates properly transition from
ALJson
toKMCoreJson
, maintaining the established pattern for updating core dependencies in this migration phase.Also applies to: 14-14
Sources/include/ALPushNotificationService.h (1)
50-50
:✅ Verification successful
LGTM: Message dependency updated to KMCoreMessage.
The import correctly transitions from
ALMessage.h
toKMCoreMessage.h
, aligning with the broader migration from AL* to KMCore* prefixed classes.Consider verifying that all ALMessage references have been consistently updated across the codebase to ensure the migration is complete:
🏁 Script executed:
#!/bin/bash # Description: Check for any remaining ALMessage references that might need updating # Expected: Only intentional references should remain (like in comments or deprecated code) echo "Searching for remaining ALMessage references..." rg -i "ALMessage" --type objc -A 2 -B 2 echo -e "\nSearching for ALMessage import statements..." rg '#import.*ALMessage' --type objcLength of output: 119577
No remaining ALMessage imports detected—migration complete.
Verified across the Objective-C files with:
rg '#import.*ALMessage' --type objc
– no instances of
#import "ALMessage.h"
remain. All message class dependencies now correctly useKMCoreMessage
.Sources/include/ALRegistrationResponse.h (2)
10-10
: Import updated to KMCoreJsonThe import statement now correctly references the renamed JSON base class.
12-12
: Verify class naming consistencyThe superclass has been updated to
KMCoreJson
, but the interface still uses theAL
prefix. Should this be renamed toKMCoreRegistrationResponse
to align with the broader namespace migration?Sources/include/KMCoreUserDetail.h (1)
11-13
: Updated base class to KMCoreJsonThe import and superclass declaration have been updated from
ALJson
toKMCoreJson
as intended.Sources/include/ALContactsResponse.h (2)
9-9
: Import updated to KMCoreJsonThe import statement now aligns with the new JSON base class.
11-11
: Verify class naming consistencyThe interface now inherits from
KMCoreJson
but retains theAL
prefix. Should this class be renamed toKMCoreContactsResponse
for consistency?Sources/corekit/ALMessageBuilder.m (1)
9-11
: Renamed class to KMCoreMessageBuilderThe import and implementation have been correctly updated to
KMCoreMessageBuilder
. All references here look good.Sources/include/ALTopicDetail.h (2)
10-10
: Import updated to KMCoreJsonUpdated the import to reference
KMCoreJson
for the JSON base class.
18-18
: Verify class naming consistencyThe superclass is now
KMCoreJson
, but the class name still has theAL
prefix. Should this be renamed toKMCoreTopicDetail
?Sources/include/ALAPIResponse.h (2)
10-10
: Consistent import update
The legacyALJson.h
import has been correctly replaced with"KMCoreJson.h"
, aligning this model with the new JSON base class.
15-15
: Superclass updated
Changing@interface ALAPIResponse : KMCoreJson
ensures this response model inherits from the correctKMCoreJson
base type. Please verify that the corresponding.m
file has also been updated to import and referenceKMCoreJson
.Sources/include/ALUserDetailListFeed.h (1)
9-11
: Superclass refactor applied
The import and superclass change fromALJson
toKMCoreJson
correctly integrate this feed into the new core JSON model hierarchy. Ensure that any JSON-parsing methods overridden fromALJson
behave identically underKMCoreJson
.Sources/include/ALLastSeenSyncFeed.h (1)
11-13
: Update toKMCoreJson
base
The import and interface declaration now referenceKMCoreJson
, matching the overall migration strategy. Double-check for any residual dependencies onALJson
methods in the implementation.Sources/commons/KMCoreJson.m (4)
2-2
: Header updated to reflect the new filename.
The file comment now matchesKMCoreJson.m
instead of the oldALJson.m
.
9-9
: Import updated to new prefix.
Replaced#import "ALJson.h"
with#import "KMCoreJson.h"
.
14-14
: Class implementation renamed to new prefix.
Changed@implementation ALJson
to@implementation KMCoreJson
.
72-72
: Exception log updated with new class name.
The log now referencesKMCoreJson
instead ofALJson
.Sources/include/ALSendMessageResponse.h (2)
14-14
: Import updated to new base JSON class.
Replaced#import "ALJson.h"
with#import "KMCoreJson.h"
.
16-16
: Superclass updated to KMCoreJson.
Changed inheritance fromALJson
toKMCoreJson
.Sources/channel/KMCoreChannelInfoModel.m (3)
2-2
: Header updated to reflect new filename.
The file comment now showsKMCoreChannelInfoModel.m
.
9-9
: Import updated to new header name.
Replaced any old import with#import "KMCoreChannelInfoModel.h"
.
12-12
: Class implementation renamed.
Changed@implementation AlChannelInfoModel
to@implementation KMCoreChannelInfoModel
.Sources/channel/KMCoreChannelUserX.m (3)
2-2
: Header updated to new filename.
The file comment now reflectsKMCoreChannelUserX.m
.
9-9
: Import updated to new class name.
Replaced#import "ALChannelUserX.h"
with#import "KMCoreChannelUserX.h"
.
11-11
: Class implementation renamed.
Changed@implementation ALChannelUserX
to@implementation KMCoreChannelUserX
.Sources/JWT/user/KMCoreMessageInfo.m (3)
2-2
: Header updated with new filename.
The file comment now showsKMCoreMessageInfo.m
.
9-9
: Import updated to new class header.
Replaced#import "ALMessageInfo.h"
with#import "KMCoreMessageInfo.h"
.
11-11
: Class implementation renamed to new prefix.
Changed@implementation ALMessageInfo
to@implementation KMCoreMessageInfo
.Sources/channel/KMCoreChannelUser.m (3)
2-2
: Header comment updated to match new filename.
The file header now correctly referencesKMCoreChannelUser.m
, ensuring clarity and consistency.
9-9
: Import statement updated for renamed class.
Replaced the legacyALChannelUser.h
import withKMCoreChannelUser.h
, aligning with the new prefix.
11-11
: Implementation declaration reflects new class name.
The@implementation
now correctly usesKMCoreChannelUser
, maintaining consistency across the codebase.Sources/include/ALUploadTask.h (2)
10-10
: Import updated to useKMCoreMessage
.
Swapped outALMessage.h
forKMCoreMessage.h
to reference the renamed message model.
20-20
: Property type aligned with refactor.
Themessage
property now usesKMCoreMessage *
instead ofALMessage *
, matching the updated class names.Sources/include/KMCoreChannelUser.h (3)
2-2
: Header comment reflects new file name.
Updated toKMCoreChannelUser.h
, keeping documentation in sync with the refactor.
9-9
: Import updated to new JSON base class.
ReplacedALJson.h
withKMCoreJson.h
, ensuring the correct superclass is imported.
11-11
: Class declaration updated to new prefix.
The interface now declaresKMCoreChannelUser : KMCoreJson
, reflecting the renamed class and base class.Sources/include/ALDownloadTask.h (2)
10-10
: Import switched toKMCoreMessage.h
.
Aligns the download task with the renamed message class.
18-18
: Message property updated to new type.
Changed fromALMessage *
toKMCoreMessage *
for consistency with the refactor.Sources/include/KMCoreChannelInfo.h (3)
2-2
: Header comment updated to new filename.
Reflects the rename toKMCoreChannelInfo.h
.
10-10
: Import updated toKMCoreJson.h
.
Replaces the legacyALJson.h
import to use the new superclass.
12-12
: Interface declaration updated.
@interface KMCoreChannelInfo : KMCoreJson
correctly represents the renamed class and base class.Sources/include/KMCoreMessageList.h (3)
2-2
: Header updated to KMCoreMessageList.h
The file header comment correctly reflects the renamed class.
10-10
: Import updated to KMCoreJson
The superclass import has been correctly updated fromALJson.h
toKMCoreJson.h
.
13-13
: Class renamed to KMCoreMessageList
The interface declaration has been updated to the newKMCoreMessageList
subclass ofKMCoreJson
as intended.Sources/channel/KMCoreChannel.m (6)
2-2
: Filename updated to KMCoreChannel.m
The file header comment now correctly namesKMCoreChannel.m
.
9-10
: Imports renamed to KMCore classes
Both#import "KMCoreChannel.h"
and#import "KMCoreChannelUser.h"
replace their oldAL*
counterparts.
14-18
: Class declaration and implementation renamed
The@interface
and@implementation
blocks have been updated fromALChannel
toKMCoreChannel
, preserving existing functionality.
58-58
: Channel user instantiation updated
ReplacedALChannelUser
instantiation withKMCoreChannelUser
, aligning with the new naming convention.
65-65
: Category lookup using KMCoreChannel
The call togetConversationCategory:
now correctly references theKMCoreChannel
class.
72-72
: Parent key lookup uses KMCoreChannelUser
Loop signature now iterates overKMCoreChannelUser
instances instead of the old class.Sources/include/KMCoreDBHandler.h (3)
2-2
: Header updated to KMCoreDBHandler.h
The file header comment reflects the renamed database handler class.
14-14
: Interface renamed to KMCoreDBHandler
Updated the singleton class interface fromALDBHandler
toKMCoreDBHandler
.
24-24
: sharedInstance signature updated
The class method now correctly returns aKMCoreDBHandler
instance.Sources/include/KMCoreChannelUserX.h (3)
2-2
: Header updated to KMCoreChannelUserX.h
The file header comment now matches the renamed class.
11-11
: Import updated to KMCoreJson
Superclass import changed fromALJson.h
toKMCoreJson.h
.
24-24
: Interface renamed to KMCoreChannelUserX
The subclass declaration correctly reflects the new class name and superclass.Sources/include/KMCoreMessageInfo.h (3)
2-2
: Header updated to KMCoreMessageInfo.h
The file header comment correctly names the updated class.
10-10
: Import updated to KMCoreJson
Superclass import has been updated fromALJson.h
toKMCoreJson.h
.
12-12
: Interface renamed to KMCoreMessageInfo
The class declaration now extendsKMCoreJson
under the new name.Sources/JWT/user/ALContactDBService.m (2)
10-10
: Update import to KMCoreDBHandler
Replaced the legacyALDBHandler.h
import withKMCoreDBHandler.h
to align with the new DB handler class.
39-39
: Refactor instantiation to use KMCoreDBHandler
All occurrences of obtaining the shared DB handler instance have been updated fromALDBHandler
toKMCoreDBHandler
, ensuring consistency across database operations.Also applies to: 74-74, 128-128, 207-207, 300-300, 371-371, 447-447, 479-479, 496-496, 521-521, 562-562, 588-588, 627-627, 707-707, 726-726, 764-764
Sources/include/KMCoreChannelInfoModel.h (3)
10-10
: Update JSON base class import
Replaced the legacyALJson.h
import withKMCoreJson.h
to use the new JSON serialization base class.
11-11
: Update channel response import
ReplacedAlChannelResponse.h
withKMCoreChannelResponse.h
to align with the renamed channel response class.
13-13
: Rename class to KMCoreChannelInfoModel and inherit from KMCoreJson
The interface has been updated toKMCoreChannelInfoModel : KMCoreJson
, matching the new naming convention and base class.Sources/account/ALRegisterUserClientService.m (3)
13-13
: Import new message DB service
Added import forKMCoreMessageDBService
to replace the legacyALMessageDBService
dependency.
16-16
: Import new message service
Added import forKMCoreMessageService
to replace the legacyALMessageService
dependency.
471-473
: Use KMCoreMessageDBService to clear local DB
ReplacedALMessageDBService
usage withKMCoreMessageDBService
to delete all Core Data objects, maintaining the logout flow.Sources/include/KMCoreChannelFeed.h (3)
9-11
: Add new header for KMCoreChannelFeed
ImportedKMCoreJson
andKMCoreChannel
to support the newKMCoreChannelFeed
class.
13-13
: Define KMCoreChannelFeed interface
IntroducedKMCoreChannelFeed
inheriting fromKMCoreJson
to replace the legacyALChannelFeed
model.
15-17
: Declare channel feed and conversation proxy lists
AddedchannelFeedsList
andconversationProxyList
properties typed toKMCoreChannel
, aligning with the new naming and model structure.Sources/channel/KMCoreChannelCreateResponse.m (1)
9-9
: Update import to match new class name
Import is correctly updated toKMCoreChannelCreateResponse.h
.Sources/database/KMCoreDBHandler.m (4)
2-2
: File header updated to match new class name
The file header comment correctly reflectsKMCoreDBHandler.m
, aligning with the renamed class.
9-12
: Imports updated for the renamed DB handler
The import of"KMCoreDBHandler.h"
and"KMCoreSettings.h"
replaces the old references, ensuring the implementation uses the new class and settings definitions.
14-17
: Singleton implementation renamed
The@implementation
and+sharedInstance
method have been updated toKMCoreDBHandler
, with the static instance type changed accordingly. This preserves the singleton pattern under the new class name.
337-337
: Bundle lookup updated for the new class prefix
ThegetBundle
method now uses[NSBundle bundleForClass:[KMCoreDBHandler class]]
, replacing the oldAL
class reference, which ensures resources are loaded correctly for the renamed module.Sources/include/KMCoreChannelFeedResponse.h (3)
2-2
: File header updated to match new class name
The comment now reflectsKMCoreChannelFeedResponse.h
, matching the renamed response class.
11-11
: Import updated for the renamed channel model
The header now imports"KMCoreChannel.h"
instead of the oldALChannel
.
13-13
: Class name updated toKMCoreChannelFeedResponse
The interface name has been correctly renamed from the legacyAlChannelFeedResponse
toKMCoreChannelFeedResponse
.Sources/channel/KMCoreChannelOfTwoMetaData.m (4)
2-2
: File header updated to match new class name
The comment header now correctly identifiesKMCoreChannelOfTwoMetaData.m
.
9-9
: Import updated for the renamed metadata class
The implementation now imports"KMCoreChannelOfTwoMetaData.h"
, replacing the oldALChannelOfTwoMetaData
.
11-11
: Implementation renamed toKMCoreChannelOfTwoMetaData
The@implementation
directive has been updated to the new class name, preserving functionality.
13-13
: Method signature updated to use new type
ThetoDict:
method parameter now correctly usesKMCoreChannelOfTwoMetaData
, aligning with the renamed class.Sources/message/KMCoreMessageList.m (5)
2-2
: File header updated to match new class name
The file header comment now reflectsKMCoreMessageList.m
, matching the renamed message list class.
9-10
: Imports updated toKMCore
prefixes
The file now imports"KMCoreMessageList.h"
,"KMCoreMessage.h"
, and"KMCoreChannel.h"
, replacing legacyAL*
references.Also applies to: 12-12
16-16
: Implementation renamed toKMCoreMessageList
The@implementation
has been correctly updated to the new class name.
45-45
: Message initialization updated to new class
The loop now instantiatesKMCoreMessage
instead ofALMessage
, matching the refactoring across the messaging module.
60-60
: Conversation proxy initialization updated
The code now correctly creates instances ofKMCoreConversationProxy
rather than the legacyALConversationProxy
.Sources/include/KMCoreChannelOfTwoMetaData.h (3)
2-2
: File header updated to match new class name
The header comment now correctly identifiesKMCoreChannelOfTwoMetaData.h
.
11-11
: Class name updated toKMCoreChannelOfTwoMetaData
The interface declaration has been renamed fromALChannelOfTwoMetaData
toKMCoreChannelOfTwoMetaData
.
15-15
: Method signature updated to new type
ThetoDict:
method now takes aKMCoreChannelOfTwoMetaData
parameter, aligning with the renamed class.Sources/include/KMCoreChannelCreateResponse.h (4)
2-2
: LGTM: File header updated correctly.The file header comment has been properly updated to reflect the new filename.
11-11
: LGTM: Import statement updated correctly.The import has been properly updated from
ALChannel.h
toKMCoreChannel.h
to match the new naming convention.
13-13
: LGTM: Class name updated correctly.The class has been properly renamed from
ALChannelCreateResponse
toKMCoreChannelCreateResponse
following the new naming convention.
15-15
:❌ Incorrect review comment
Consider updating property name for consistency.
While the property type has been correctly updated to
KMCoreChannel *
, the property namealChannel
still references the old "AL" prefix. For better consistency and to avoid confusion, consider renaming it tochannel
orcoreChannel
.-@property (nonatomic, strong) KMCoreChannel *alChannel; +@property (nonatomic, strong) KMCoreChannel *channel;Let me verify if this property is used elsewhere in the codebase to assess the impact of this change:
🏁 Script executed:
#!/bin/bash # Description: Check usage of alChannel property to assess refactoring impact # Expected: Find all references to this property across the codebase rg -A 3 -B 3 "alChannel" --type=m --type=hLength of output: 68
I’ll re-run the search across Objective-C and Swift sources to catch all references:
🏁 Script executed:
#!/bin/bash # Search for occurrences of alChannel across .m, .h, and .swift files rg -n "alChannel" --glob '*.m' --glob '*.h' --glob '*.swift'Length of output: 25754
Ignore the local rename suggestion for
alChannel
ThealChannel
identifier is pervasive across the public API and internal implementation (dozens of usages in both.h
and.m
files). Renaming this single property would break existing references and consumers. The “al” prefix is an established convention here, so it should remain unchanged.Likely an incorrect or invalid review comment.
Sources/include/KMCoreConversationCreateResponse.h (3)
2-2
: LGTM: File header updated correctly.The file header comment has been properly updated to reflect the new filename.
11-11
: LGTM: Import statement updated correctly.The import has been properly updated from
ALConversationProxy.h
toKMCoreConversationProxy.h
to match the new naming convention.
13-13
: LGTM: Class name updated correctly.The class has been properly renamed from
ALConversationCreateResponse
toKMCoreConversationCreateResponse
following the new naming convention.Sources/channel/KMCoreChannelFeed.m (5)
2-2
: LGTM: File header updated correctly.The file header comment has been properly updated to reflect the new filename.
9-10
: LGTM: Import statements updated correctly.The imports have been properly updated to use the new KMCore prefixed headers.
12-12
: LGTM: Class implementation updated correctly.The class implementation has been properly updated to
KMCoreChannelFeed
following the new naming convention.
23-23
: LGTM: Object instantiation updated correctly.The
ALChannel
instantiation has been properly updated toKMCoreChannel
while maintaining the same initialization logic.
32-32
: LGTM: Object instantiation updated correctly.The
ALConversationProxy
instantiation has been properly updated toKMCoreConversationProxy
while maintaining the same initialization logic.Sources/include/KMCoreChannel.h (4)
2-2
: LGTM: File header updated correctly.The file header comment has been properly updated to reflect the new filename.
11-12
: LGTM: Import statements updated correctly.The imports have been properly updated to use the new KMCore prefixed headers.
47-47
: LGTM: Class declaration updated correctly.The class has been properly renamed from
ALChannel
toKMCoreChannel
and the superclass correctly updated fromALJson
toKMCoreJson
.
61-61
: LGTM: Property type updated correctly.The
conversationProxy
property type has been properly updated toKMCoreConversationProxy *
to match the new naming convention.Sources/include/ALUtilityClass.h (2)
10-10
: LGTM: Import statement correctly updated.The import statement has been properly updated from
ALMessage.h
toKMCoreMessage.h
to align with the class rename.
33-35
: LGTM: Method signatures correctly updated.The method parameter types have been properly updated from
ALMessage *
toKMCoreMessage *
to maintain consistency with the renamed class.Sources/include/ALSyncCallService.h (2)
10-10
: LGTM: Import statement correctly updated.The import statement has been properly updated from
ALMessage.h
toKMCoreMessage.h
, maintaining consistency with other KMCore imports already present in the file.
20-22
: LGTM: Method signatures correctly updated.Both
syncCall:
method signatures have been properly updated to useKMCoreMessage *
parameters instead ofALMessage *
, ensuring type consistency throughout the refactoring.Sources/include/KMCoreMessageInfoResponse.h (4)
2-2
: LGTM: File header comment correctly updated.The file header comment has been properly updated to reflect the new filename
KMCoreMessageInfoResponse.h
.
9-9
: LGTM: Import statement correctly updated.The import statement has been properly updated from
ALMessageInfo.h
toKMCoreMessageInfo.h
to match the renamed dependency.
12-12
: LGTM: Interface name correctly renamed.The interface has been properly renamed from
ALMessageInfoResponse
toKMCoreMessageInfoResponse
, maintaining inheritance fromALAPIResponse
.
14-14
: LGTM: Property type correctly updated.The
msgInfoList
property type has been properly updated to useKMCoreMessageInfo *
objects instead ofALMessageInfo *
, ensuring type consistency.Sources/JWT/user/KMCoreMessageInfoResponse.m (4)
2-2
: LGTM: File header comment correctly updated.The file header comment has been properly updated to reflect the new filename
KMCoreMessageInfoResponse.m
.
9-9
: LGTM: Import statement correctly updated.The import statement has been properly updated to import the renamed header file
KMCoreMessageInfoResponse.h
.
11-11
: LGTM: Implementation class name correctly updated.The
@implementation
directive has been properly updated to match the renamed classKMCoreMessageInfoResponse
.
22-22
: LGTM: Object instantiation correctly updated.The object creation has been properly updated to instantiate
KMCoreMessageInfo
instead ofALMessageInfo
, maintaining consistency with the refactoring while preserving the original logic.Sources/channel/KMCoreChannelFeedResponse.m (1)
2-2
:✅ Verification successful
LGTM! Systematic renaming from AL to KMCore is consistent.**
The refactoring correctly updates all references from the legacy AL* prefix to the new KMCore* prefix, including the filename, imports, class declaration, and object instantiation. The logic remains unchanged.
Let me verify that all references to the old class names have been updated throughout the codebase:
Also applies to: 9-10, 14-14, 22-22
🏁 Script executed:
#!/bin/bash # Description: Check for any remaining references to old AL* class names that could cause compilation errors echo "Checking for remaining ALChannelFeedResponse references..." rg -i "ALChannelFeedResponse" --type objc echo "Checking for remaining AlChannelFeedResponse references..." rg -i "AlChannelFeedResponse" --type objc echo "Checking for remaining ALChannelCreateResponse references..." rg -i "ALChannelCreateResponse" --type objc echo "Checking for remaining ALChannel references (excluding specific exceptions)..." rg -i "ALChannel\s" --type objcLength of output: 5341
No remaining AL class name references in the codebase*
All class‐level renames fromAL*
→KMCore*
have been applied in our Sources directory. The onlyALChannelFeedResponse
andALChannelCreateResponse
imports appear in the Pods umbrella header underExample/Pods/...
, which is external to our module and not affected by this PR. Local variables namedalChannel
are intentional and don’t require renaming. LGTM.Sources/conversation/KMCoreConversationCreateResponse.m (1)
2-2
:✅ Verification successful
LGTM! Conversation class renaming is consistent and complete.
The refactoring properly updates all conversation-related class references from AL* to KMCore* prefix, maintaining the existing initialization logic and error handling.
Let me verify that all conversation-related AL* references have been updated:
Also applies to: 9-9, 11-11, 20-20
🏁 Script executed:
#!/bin/bash # Description: Check for any remaining references to old conversation AL* class names echo "Checking for remaining ALConversationCreateResponse references..." rg -i "ALConversationCreateResponse" --type objc echo "Checking for remaining ALConversationProxy references..." rg -i "ALConversationProxy" --type objc echo "Checking for remaining ALConversation references (general)..." rg -i "ALConversation" --type objcLength of output: 16691
All conversation-related AL prefixes have been replaced in Sources/*
Aside from the auto-generated umbrella header under
Example/Pods/Target Support Files/KommunicateCore-iOS-SDK/
(which can be ignored), there are no remainingALConversation*
references in theSources/
directory. The systematic renaming toKMCore*
is complete and consistent.Sources/include/KMCoreChannelResponse.h (1)
2-2
: LGTM! Header file renaming is systematic and complete.The header file correctly updates all class references from AL* to KMCore* prefix, including the interface declaration, inheritance, imports, and property types. The interface contract remains unchanged.
Also applies to: 11-12, 14-14, 24-24
Sources/include/ALNotificationView.h (1)
22-22
:✅ Verification successful
Message type updates are correct, but verify naming consistency.
The property and method parameter types have been correctly updated from
ALMessage
toKMCoreMessage
, which aligns with the systematic refactoring.However, I notice that this file retains the
ALNotificationView
class name while updating the message types. Please verify if this is intentional:Also applies to: 24-24
🏁 Script executed:
#!/bin/bash # Description: Check if ALNotificationView should also be renamed to maintain consistency echo "Checking for other AL* classes that might need renaming..." rg -i "^@interface AL" --type objc -A 1 echo "Checking usage of ALNotificationView..." rg -i "ALNotificationView" --type objc -C 2 echo "Checking if there are KMCore* notification classes..." rg -i "KMCore.*[Nn]otification" --type objcLength of output: 13000
Naming consistency verified for ALNotificationView
The AL-prefix is used uniformly across the UI layer (30+
AL*
classes), and noKMCore*NotificationView
–style class exists. KeepingALNotificationView
unchanged is intentional and consistent with the module’s naming conventions.Sources/include/KMCoreConversationDBService.h (4)
2-2
: LGTM: File header comment updated correctly.The file header comment correctly reflects the new filename after the refactoring.
11-11
: LGTM: Import statement updated consistently.The import statement correctly references the renamed header file from
ALConversationProxy.h
toKMCoreConversationProxy.h
.
13-13
: LGTM: Class name updated consistently with refactoring.The class name is correctly updated from
ALConversationDBService
toKMCoreConversationDBService
as part of the systematic AL* to KMCore* refactoring.
17-17
: LGTM: Method parameter type updated correctly.The parameter type in the
createConversationProxy:
method is correctly updated fromALConversationProxy *
toKMCoreConversationProxy *
, maintaining type consistency with the refactoring.Sources/include/KMCoreChannelSyncResponse.h (4)
2-2
: LGTM: File header comment updated correctly.The file header comment properly reflects the new filename after renaming.
11-11
: LGTM: Import statement updated consistently.The import statement correctly references the renamed header from
ALChannel.h
toKMCoreChannel.h
.
13-13
: LGTM: Class name updated consistently with refactoring.The class name is correctly updated from
ALChannelSyncResponse
toKMCoreChannelSyncResponse
while maintaining inheritance fromALAPIResponse
.
17-17
: LGTM: Property type updated correctly.The
alChannel
property type is correctly updated fromALChannel *
toKMCoreChannel *
, maintaining type consistency with the refactoring.Sources/include/ALSearchResultCache.h (3)
10-10
: LGTM: Import statement updated consistently.The import correctly references the renamed header from
ALChannel.h
toKMCoreChannel.h
.
18-18
: LGTM: Method parameter type updated correctly.The
saveChannels:
method parameter type is correctly updated fromNSMutableArray<ALChannel *> *
toNSMutableArray<KMCoreChannel *> *
.
21-21
: LGTM: Return type updated correctly.The
getChannelWithId:
method return type is correctly updated fromALChannel *
toKMCoreChannel *
.Sources/networkcommunication/ALAppLocalNotifications.m (3)
91-91
: LGTM: Class method call updated correctly.The static method call is correctly updated from
[ALMessageService syncMessages]
to[KMCoreMessageService syncMessages]
.
93-93
: LGTM: Instance creation updated correctly.The instance creation is correctly updated from
ALMessageService
toKMCoreMessageService
.
124-124
: LGTM: Class method call updated correctly.The static method call in the app activation handler is correctly updated to use
KMCoreMessageService
.Sources/channel/KMCoreChannelSyncResponse.m (2)
2-2
: LGTM! Consistent renaming implementation.The file name, import statement, and class name have been correctly updated from
AL*
prefixes toKMCore*
prefixes as part of the systematic refactoring.Also applies to: 9-9, 11-11
23-23
: LGTM! Channel object instantiation updated correctly.All references to
ALChannel
have been properly updated toKMCoreChannel
in the object instantiation code. The logic remains unchanged, ensuring functional consistency.Also applies to: 36-36, 40-40
Sources/include/KommunicateCore.h (1)
19-32
:❓ Verification inconclusive
Verify the selective import updates are intentional.
The imports have been systematically updated from
AL*
toKMCore*
prefixes for core messaging, channel, conversation, and database handler classes. However, someAL*
imports remain unchanged (e.g.,ALSyncMessageFeed.h
,ALSendMessageResponse.h
, etc.).Please confirm that the selective updating is intentional and that the remaining
AL*
classes are not part of this refactoring phase.Also applies to: 53-69, 72-76, 81-81, 115-115
🏁 Script executed:
#!/bin/bash # Description: Verify which AL* imports remain and check if they should be updated # Expected: List of remaining AL* imports to confirm selective refactoring approach echo "Remaining AL* imports in KommunicateCore.h:" rg '#import "AL.*\.h"' Sources/include/KommunicateCore.h echo -e "\nUpdated KMCore* imports in KommunicateCore.h:" rg '#import "KMCore.*\.h"' Sources/include/KommunicateCore.hLength of output: 2773
Confirm intentional retention of AL imports in KommunicateCore.h*
I’ve verified that alongside the newly added
KMCore*
headers, the followingAL*
headers remain inSources/include/KommunicateCore.h
:• ALSyncMessageFeed.h
• ALSendMessageResponse.h
• ALFileMetaInfo.h
• ALLastSeenSyncFeed.h
• ALMuteRequest.h
• ALSyncCallService.h
• ALRegistrationResponse.h
• ALRegisterUserClientService.h
• ALContact.h
• ALContactService.h
• ALUserService.h
• ALUserDetailListFeed.h
• ALContactDBService.h
• ALContactsResponse.h
• ALUserClientService.h
• ALAPIResponse.h
• ALGroupUser.h
• ALTopicDetail.h
• ALConstant.h
• ALLogger.h
• ALPushNotificationService.h
• ALRequestHandler.h
• ALUtilityClass.h
• ALResponseHandler.h
• ALConnectionQueueHandler.h
• ALDataNetworkConnection.h
• ALAppLocalNotifications.h
• ALMQTTConversationService.h
• ALPushAssist.h
• ALApplicationInfo.h
• ALAuthService.h
• ALAttachmentService.h
• ALAuthClientService.h
• ALDownloadTask.h
• ALHTTPManager.h
• ALUploadTask.h
• ALSearchResultCache.h
• ALNotificationView.h
• ALUIImage+Utility.h
• ALJWT.hPlease confirm that these remaining
AL*
imports are intentionally excluded from the current prefix-refactor and do not require updating toKMCore*
.Sources/include/KMCoreConversationProxy.h (2)
2-2
: LGTM! Header file refactoring is consistent.The file name, import statement, and class inheritance have been correctly updated from
AL*
toKMCore*
prefixes, maintaining consistency with the overall refactoring effort.Also applies to: 10-10, 14-14
31-31
: LGTM! Method signature updated correctly.The class method parameter type has been properly updated from
ALConversationProxy
toKMCoreConversationProxy
, ensuring type consistency throughout the refactored codebase.Sources/include/ALHTTPManager.h (2)
12-12
: LGTM! Message type references updated correctly.The import statement and method signatures have been properly updated to use
KMCoreMessage
instead ofALMessage
, maintaining consistency with the refactored message classes.Also applies to: 31-31, 33-33
15-15
:❓ Verification inconclusive
Verify if ALHTTPManager class should be renamed.
The class name
ALHTTPManager
retains theAL
prefix while method signatures have been updated to useKMCore*
types. Please confirm whether this class should also be renamed toKMCoreHTTPManager
for consistency with the overall refactoring effort.
🏁 Script executed:
#!/bin/bash # Description: Check for other AL-prefixed classes that might need renaming # Expected: List of remaining AL* classes to verify refactoring scope echo "Remaining AL* class declarations in header files:" rg '@interface AL[A-Za-z]+' Sources/include/ -A 1 echo -e "\nAL* classes referenced in the updated files:" rg 'AL[A-Za-z]+(?=\s|\*|\(|\))' Sources/include/ALHTTPManager.hLength of output: 5995
Naming consistency: Should
ALHTTPManager
be renamed toKMCoreHTTPManager
?I ran a search in
Sources/include/
and found 45 remainingAL*
class declarations (e.g., ALLastSeenSyncFeed, ALUserService, ALUploadTask, …). If the goal is to standardize on theKMCore
prefix—given that your method signatures now referenceKMCore*
types—then:
Sources/include/ALHTTPManager.h
should be renamed toKMCoreHTTPManager
.- All other
AL*
classes should be batch-renamed toKMCore*
for consistency.Otherwise, if the
AL
prefix is to be retained, please confirm that we’ll keep existing names.
Please confirm the intended naming convention.Sources/include/KMCoreMessage.h (5)
2-2
: LGTM: File name updated consistently with class renaming.The header file name has been properly updated to reflect the new class name.
10-10
: LGTM: Import statements updated consistently.The import statements have been properly updated to use the new KMCore prefix for dependencies.
Also applies to: 13-13
46-46
: LGTM: Class declaration updated with proper inheritance.The class name and inheritance have been correctly updated to use the KMCore prefix consistently.
16-43
:✅ Verification successful
Verify retention of AL prefix constants is intentional.
The constants still use the
AL
prefix (e.g.,ALMESSAGE_CONTENT_DEFAULT
,AL_CATEGORY_PUSHNNOTIFICATION
). Please confirm this is intentional for API compatibility or if these should also be renamed to maintain consistency.
🏁 Script executed:
#!/bin/bash # Description: Check if AL-prefixed constants are used elsewhere in the codebase # Expected: Usage patterns that might indicate if renaming is needed echo "=== Searching for usage of AL-prefixed message constants ===" rg -A 2 -B 2 "ALMESSAGE_CONTENT_|AL_CATEGORY_|AL_MESSAGE_REPLY_|AL_OUT_BOX|AL_IN_BOX" echo -e "\n=== Checking if any KMCore constants are defined elsewhere ===" rg -A 2 -B 2 "KMCORE.*CONTENT_|KMCORE.*CATEGORY_"Length of output: 21569
Retain AL-Prefixed Constants for Compatibility
The
AL
-prefixed constants (e.g.ALMESSAGE_CONTENT_*
,AL_CATEGORY_*
,AL_MESSAGE_REPLY_KEY
,AL_OUT_BOX
/AL_IN_BOX
) are referenced throughout corekit, push notification, notification view, message handling, and database service layers. Renaming them would break existing APIs and client integrations. Keeping theAL
prefix is intentional to maintain backward compatibility and consistency across modules.
140-141
:✅ Verification successful
Verify the dual method approach is intentional.
Both the old initializer method
initWithBuilder:
and the new class factory methodbuild:
are present. Please confirm if this dual approach is intentional for transition/backward compatibility or if the old method should be removed.
🏁 Script executed:
#!/bin/bash # Description: Check usage patterns of both methods to understand the transition strategy # Expected: Usage of both methods or migration patterns echo "=== Searching for usage of initWithBuilder method ===" rg -A 3 -B 1 "initWithBuilder.*KMCoreMessageBuilder|initWithBuilder.*ALMessageBuilder" echo -e "\n=== Searching for usage of build class factory method ===" rg -A 3 -B 1 "\[KMCoreMessage build:\]|\[ALMessage build:\]" echo -e "\n=== Checking for any deprecation markers or comments ===" rg -A 2 -B 2 "deprecated|DEPRECATED|TODO.*remove|FIXME.*remove"Length of output: 71915
Dual initializer and factory method are intentional
The new
+build:
factory method is a thin wrapper around the existing-initWithBuilder:
initializer. It allocates a builder, invokes the block, and then callsinitWithBuilder:
under the hood. Keeping both methods allows you to:
- Expose a convenient, block-based API via
+build:
.- Preserve the core initializer for internal use and backward compatibility.
If you’d like to discourage direct use of
-initWithBuilder:
, consider annotating it withNS_DEPRECATED
or marking itNS_UNAVAILABLE
; otherwise, it’s safe to leave both in place.Sources/conversation/KMCoreConversationDBService.m (4)
2-2
: LGTM: File name and imports updated consistently.The file name and import statements have been properly updated to reflect the new KMCore naming convention.
Also applies to: 9-10, 13-13
20-20
: LGTM: Database handler references updated consistently.All
KMCoreDBHandler
instances are properly initialized and used consistently throughout the file. The database operations maintain proper error handling.Also applies to: 35-35, 54-54, 74-74, 93-93, 117-117, 140-140
22-22
: LGTM: Conversation proxy type usage updated correctly.The method parameters and local variables now correctly use
KMCoreConversationProxy
type, maintaining type safety throughout the database operations.Also applies to: 37-37, 53-53
26-29
: LGTM: Error handling preserved properly.The error handling for database save operations remains intact and follows good practices with proper logging.
Also applies to: 44-50
Sources/include/KMCoreConversationClientService.h (3)
2-2
: LGTM: File name, imports, and class name updated consistently.The header file has been properly updated to use the new KMCore naming convention throughout.
Also applies to: 11-12, 15-15
18-19
: LGTM: Method signature updated with correct KMCore types.The
createConversation:withCompletion:
method signature has been properly updated to useKMCoreConversationProxy
andKMCoreConversationCreateResponse
types.
16-16
:✅ Verification successful
Verify retention of AL-prefixed types is intentional.
The
ALResponseHandler
property andALAPIResponse
in the completion block are still using the AL prefix. Please confirm if these types are intentionally excluded from the KMCore refactoring or if they should also be updated.Also applies to: 21-21
🏁 Script executed:
#!/bin/bash # Description: Check if ALResponseHandler and ALAPIResponse are being refactored elsewhere # Expected: Pattern of usage to determine if these should be renamed echo "=== Searching for ALResponseHandler usage and potential KMCore equivalent ===" rg -A 2 -B 2 "ALResponseHandler|KMCoreResponseHandler" echo -e "\n=== Searching for ALAPIResponse usage and potential KMCore equivalent ===" rg -A 2 -B 2 "ALAPIResponse|KMCoreAPIResponse" echo -e "\n=== Checking if these are defined in separate modules ===" fd -e h -e m | xargs rg -l "ALResponseHandler|ALAPIResponse" | head -10Length of output: 69173
Retention of AL-prefixed types is intentional
The investigation shows thatALResponseHandler
andALAPIResponse
are part of the shared Applozic SDK and remain intentionally unchanged across KMCore modules (conversation, message, channel, HTTP manager, core client, etc.). No renaming to KMCore–prefixed equivalents is required.Sources/conversation/KMCoreConversationProxy.m (3)
2-2
: LGTM: File name, import, and class implementation updated consistently.The file has been properly renamed and the implementation uses the correct KMCore class name.
Also applies to: 9-9, 14-14
21-23
: LGTM: Method signatures and return types updated correctly.The method signatures have been properly updated to use
KMCoreConversationProxy
types while maintaining the same functionality and object creation patterns.Also applies to: 57-57
35-42
: LGTM: Business logic and data handling preserved.The JSON parsing, data handling, and business logic remain unchanged and correct. The type safety is maintained throughout the implementation.
Also applies to: 44-55, 73-94
Sources/networkcommunication/ALVideoUploadManager.h (3)
11-11
: LGTM! Import updated correctly.The import statement has been properly updated from
ALMessage.h
toKMCoreMessage.h
as part of the systematic refactoring.
23-24
: LGTM! Property types updated consistently.Both message database service and client service property types have been correctly updated to use the new
KMCore
prefixed classes.
27-27
: LGTM! Method signature updated appropriately.The method parameter type has been correctly changed from
ALMessage *
toKMCoreMessage *
maintaining consistency with the refactoring.Sources/include/ALMQTTConversationService.h (4)
11-11
: LGTM! Import updated correctly.The import has been properly updated to use
KMCoreMessage.h
instead ofALMessage.h
.
16-16
: LGTM! Notification constant renamed appropriately.The constant has been correctly renamed from
ALChannelDidChangeGroupMuteNotification
toKMCoreChannelDidChangeGroupMuteNotification
to align with the new naming convention.
22-22
: LGTM! Protocol method signature updated.The delegate method parameter type has been correctly updated to use
KMCoreMessage *
instead ofALMessage *
.
69-69
: LGTM! Interface method signature updated.The method parameter type has been appropriately changed to
KMCoreMessage *
maintaining consistency with the refactoring effort.Sources/conversation/KMCoreConversationClientService.m (6)
2-2
: LGTM! Header comment updated correctly.The filename in the header comment has been properly updated to reflect the new
KMCoreConversationClientService.m
filename.
9-10
: LGTM! Imports updated consistently.Both import statements have been correctly updated to use the new
KMCore
prefixed header files.
18-18
: LGTM! Class implementation renamed appropriately.The class implementation has been correctly renamed from
ALConversationClientService
toKMCoreConversationClientService
.
35-36
: LGTM! Method signature updated comprehensively.The method signature has been properly updated to use
KMCoreConversationProxy
for the parameter andKMCoreConversationCreateResponse
for the completion block, maintaining consistency with the refactoring.
40-40
: LGTM! Dictionary creation method updated.The method call has been correctly updated to use
KMCoreConversationProxy
'sgetDictionaryForCreate:
method.
48-48
: LGTM! Response object handling updated consistently.Both the variable declaration and object instantiation have been properly updated to use
KMCoreConversationCreateResponse
instead of the legacy AL prefixed class.Also applies to: 53-53
Sources/networkcommunication/ALHTTPManager.m (7)
11-11
: LGTM! Imports updated systematically.The import statements have been correctly updated to use
KMCoreMessageDBService
andKMCoreMessageClientService
instead of their AL prefixed counterparts.Also applies to: 14-14
34-34
: LGTM! Variable declarations updated consistently.All variable declarations and object instantiations have been properly updated to use
KMCoreMessageDBService
andKMCoreMessage
types throughout the data reception handling logic.Also applies to: 47-47, 65-65
71-71
: LGTM! Service method calls updated appropriately.All method calls to
KMCoreMessageService
have been correctly updated, maintaining the same functionality while using the new service class names.Also applies to: 76-76, 81-81
108-108
: LGTM! Database service usage updated systematically.The instantiation and usage of
KMCoreMessageDBService
have been consistently updated across different delegate methods.Also applies to: 113-113, 151-151
160-160
: LGTM! Method signatures updated for file operations.Both upload and download method signatures have been properly updated to accept
KMCoreMessage *
parameters instead ofALMessage *
.Also applies to: 274-274
315-315
: LGTM! Client service instantiation updated.The instantiation of both
KMCoreMessageClientService
andKMCoreMessageDBService
has been correctly updated for download processing.Also applies to: 317-317
487-487
: LGTM! Database handler usage updated comprehensively.The database operations have been properly updated to use
KMCoreMessageDBService
for queries andKMCoreDBHandler
for context saving, completing the systematic refactoring.Also applies to: 496-496
Sources/include/KMCoreMessageArrayWrapper.h (2)
2-2
: LGTM! File and class renaming is consistent.The systematic renaming from
ALMessageArrayWrapper
toKMCoreMessageArrayWrapper
and corresponding import updates are correctly implemented.Also applies to: 10-10, 13-13
25-25
: LGTM! Method signatures properly updated.All method parameters and return types have been correctly updated from
ALMessage
toKMCoreMessage
, maintaining consistency with the new naming convention.Also applies to: 29-29, 33-33, 35-35
Sources/message/KMCoreMessageArrayWrapper.m (3)
2-2
: LGTM! Implementation file properly updated.The file renaming, import statements, and class implementation declaration are correctly aligned with the header file changes.
Also applies to: 9-9, 13-13, 17-17
32-32
: LGTM! Method implementations correctly updated.All method implementations properly use
KMCoreMessage
type instead ofALMessage
while preserving the original logic.Also applies to: 39-39, 50-50, 52-52, 55-55
155-156
: LGTM! Complex method logic preserved during refactoring.The
getDatePrototype:andAlMessageObject:
method andfilterOutDuplicateMessage:
method correctly use the newKMCoreMessage
type while maintaining all the original business logic for date handling and duplicate filtering.Also applies to: 234-260
Sources/corekit/ALMQTTConversationService.m (4)
12-18
: LGTM! Import statements systematically updated.All import statements have been correctly updated to use the new
KMCore
prefixed classes while maintaining the same functionality.
31-31
: LGTM! Notification constant properly renamed.The notification constant
KMCoreChannelDidChangeGroupMuteNotification
correctly follows the new naming convention.
86-86
: LGTM! Method signatures and instantiations updated correctly.Method parameters using
KMCoreMessage
and object instantiations using the new class names are properly implemented.Also applies to: 309-309, 352-352
317-318
: LGTM! Service class usage updated consistently.All service class instantiations and method calls have been updated to use the new
KMCore
prefixed classes (KMCoreMessageService
,KMCoreChannelService
) while maintaining the same method signatures and logic.Also applies to: 325-326, 334-334
Sources/include/ALUserService.h (3)
12-13
: LGTM! Import statements properly updated.Import statements for
KMCoreMessageList
,KMCoreMessage
, andKMCoreChannelService
are correctly updated to use the new naming convention.Also applies to: 21-21
30-30
: LGTM! Property type correctly updated.The
channelService
property type has been properly changed fromALChannelService *
toKMCoreChannelService *
.
50-56
: LGTM! Method signatures and documentation updated consistently.Method parameters using
KMCoreMessage
type and corresponding documentation comments have been properly updated to reflect the new class names while maintaining the same functionality.Also applies to: 159-159
Sources/message/KMCoreMessage.m (6)
2-2
: File header updated correctly.The file name in the header comment has been properly updated from
ALMessage.m
toKMCoreMessage.m
.
8-12
: Import statements systematically updated.The import statements have been correctly updated from the legacy
AL*
prefixed classes to the newKMCore*
prefixed classes:
ALMessage.h
→KMCoreMessage.h
ALChannel.h
→KMCoreChannel.h
ALChannelService.h
→KMCoreChannelService.h
This maintains consistency with the broader refactoring effort.
21-21
: Class implementation name updated correctly.The class implementation has been properly renamed from
ALMessage
toKMCoreMessage
, aligning with the new naming convention.
420-420
: Method signature updated to use new builder type.The
initWithBuilder:
method signature has been correctly updated to useKMCoreMessageBuilder
instead of the legacyALMessageBuilder
.
471-474
: Builder pattern methods updated consistently.The static factory method and its implementation have been properly updated:
- Method signature uses
KMCoreMessageBuilder
parameter- Local variable declaration uses
KMCoreMessageBuilder
- Return statement uses
KMCoreMessage
This maintains the builder pattern while using the new class names.
478-482
: Channel service usage updated to new types.The
isNotificationDisabled
method has been correctly updated to use:
KMCoreChannel
instead ofALChannel
KMCoreChannelService
instead ofALChannelService
This ensures compatibility with the refactored channel services.
Sources/JWT/user/ALUserService.m (5)
60-60
: Channel service instantiation updated.The channel service instantiation has been correctly updated to use
KMCoreChannelService
instead ofALChannelService
.
71-71
: Method parameter type updated for message iteration.The for-loop parameter has been correctly updated to use
KMCoreMessage
instead ofALMessage
, ensuring compatibility with the refactored message arrays.
240-248
: Method signature and error handling updated for new message type.The
markMessageAsRead:
method signature has been properly updated:
- Parameter type changed from
ALMessage
toKMCoreMessage
- Error message updated to reference
KMCoreMessage
class nameThis maintains consistency with the new type system while preserving error handling functionality.
286-291
: Database service usage updated consistently.The
markConversationReadInDataBaseWithMessage:
method has been correctly updated:
- Parameter type uses
KMCoreMessage
- Object instantiation uses
KMCoreChannelDBService
This ensures compatibility with the refactored database services.
455-455
: Channel service instantiation updated in unread count calculation.The channel service instantiation within the
getTotalUnreadCount
method has been correctly updated to useKMCoreChannelService
.Sources/include/ALAttachmentService.h (2)
10-12
: Import statements updated for message services.The import statements have been systematically updated to use the new
KMCore*
prefixed classes:
ALMessageDBService.h
→KMCoreMessageDBService.h
ALMessage.h
→KMCoreMessage.h
ALMessageService.h
→KMCoreMessageService.h
This ensures the header uses the correct updated service interfaces.
26-32
: Method signatures consistently updated to use KMCoreMessage.All three public method signatures have been correctly updated to use
KMCoreMessage *
instead ofALMessage *
:
sendMessageWithAttachment:withDelegate:withAttachmentDelegate:
downloadMessageAttachment:withDelegate:
downloadImageThumbnail:withDelegate:
This maintains interface consistency with the refactored message classes.
Sources/include/KMCoreRealTimeUpdate.h (5)
10-12
: Import statements updated for core classes.The import statements have been correctly updated:
- Includes
KMCoreMessage.h
instead ofALMessage.h
- Includes
KMCoreChannel.h
instead ofALChannel.h
- Retains
KMCoreUserDetail.h
(already using KMCore prefix)This ensures the protocol uses the correct updated class definitions.
17-24
: Documentation and method signatures updated for message reception.Both the documentation comments and method signature for
onMessageReceived:
andonMessageSent:
have been properly updated:
- Documentation references
KMCoreMessage
instead ofALMessage
- Method parameters use
KMCoreMessage *
typeThis maintains consistency between documentation and implementation.
31-41
: Message delivery delegate methods updated consistently.The delegate methods for message delivery have been correctly updated:
onMessageDelivered:
usesKMCoreMessage *
parameteronMessageDeliveredAndRead:withUserId:
usesKMCoreMessage *
parameter- Documentation comments reference
KMCoreMessage
classThis ensures delivery callbacks work with the new message type.
68-69
: Channel update delegate method updated.The
onChannelUpdated:
method has been correctly updated:
- Documentation references
KMCoreChannel
instead ofALChannel
- Method parameter uses
KMCoreChannel *
typeThis maintains consistency for channel update notifications.
86-86
: Channel mute documentation updated.The documentation comment for
onChannelMute:
has been updated to referenceKMCoreChannel
instead ofALChannel
, ensuring consistency with the new class names.Sources/corekit/ALAttachmentService.m (2)
11-13
: Import statements correctly updated.The import statements have been properly updated to use the new
KMCore*
prefixed classes.
75-75
: Class instantiation correctly updated.The instantiation of
KMCoreMessageClientService
is correct and consistent with the refactoring.Sources/conversation/KMCoreConversationService.m (2)
2-2
: File and class renaming completed correctly.The file has been properly renamed to
KMCoreConversationService.m
and the class implementation updated toKMCoreConversationService
. Import statements are correctly updated to useKMCore*
prefixed classes.Also applies to: 9-16
31-32
: Service instantiation correctly updated.The service instantiations have been properly updated to use
KMCoreConversationClientService
andKMCoreConversationDBService
.Sources/include/KMCoreChannelDBService.h (3)
2-2
: Comprehensive renaming executed correctly.The file has been properly renamed to
KMCoreChannelDBService.h
, and all imports have been systematically updated to useKMCore*
prefixed classes. The interface declaration is correctly updated toKMCoreChannelDBService
.Also applies to: 10-20
26-26
: Method signatures consistently updated.All method signatures have been properly updated to use
KMCore*
types instead ofAL*
types. The consistency is excellent throughout the interface.Also applies to: 30-30, 34-40
86-86
:✅ Verification successful
Return types and parameters consistently updated.
All return types and method parameters have been systematically updated to use the new
KMCore*
prefixed types. This shows excellent consistency in the refactoring effort.Also applies to: 98-100, 115-115
🏁 Script executed:
#!/bin/bash # Verify all usages of the old ALChannelDBService have been updated rg -A 2 -B 2 "ALChannelDBService" --type objc rg -A 2 -B 2 "#import.*ALChannel.*\.h" --type objcLength of output: 2939
All ALChannelDBService references removed
I ran a search (
rg ALChannelDBService
) and confirmed there are no occurrences in the library source (only in the CocoaPods umbrella in Example/Pods). The KMCore* refactor is complete—ready to merge.Sources/include/KMCoreMessageDBService.h (1)
1-116
: LGTM! Comprehensive and systematic renaming from AL to KMCore prefix.**The file has been systematically updated as part of the namespace refactoring:
- File name updated from ALMessageDBService.h to KMCoreMessageDBService.h
- All class names, protocols, and imports consistently renamed from AL* to KMCore*
- Method signatures properly updated to use the new types
- Forward declarations and property types correctly updated
The changes are consistent throughout the file and maintain the same interface structure while adopting the new naming convention.
Sources/include/KMCoreConversationService.h (1)
1-35
: LGTM! Well-structured new conversation service interface.This new header file introduces
KMCoreConversationService
as part of the namespace refactoring:
- Properly imports all KMCore* dependencies
- Provides a clean interface for conversation management operations
- Methods follow consistent naming conventions
- Integrates well with the client and database service architecture
- Consistent with the overall migration from AL* to KMCore* naming
The service interface is comprehensive, covering conversation retrieval, creation, and proxy management operations.
Sources/include/KMCoreChannelClientService.h (1)
1-161
: LGTM! Thorough and consistent renaming throughout the channel client service.The header file has been comprehensively updated as part of the AL* to KMCore* refactoring:
- File name correctly updated to KMCoreChannelClientService.h
- All import statements systematically updated to use KMCore* equivalents
- Class name properly changed to KMCoreChannelClientService
- Method signatures consistently updated to use new types in parameters and completion handlers
- Maintains the same API surface while adopting the new naming convention
The changes are systematic and maintain backward compatibility in terms of functionality while updating to the new namespace.
Sources/corekit/KommunicateClient.m (4)
55-59
: LGTM! Service initialization correctly updated to use KMCore classes.*The service setup method properly initializes the new KMCore* service classes:
KMCoreMessageService
replacesALMessageService
KMCoreMessageDBService
replacesALMessageDBService
KMCoreChannelService
replacesALChannelService
The delegate assignments remain consistent with the previous implementation.
201-224
: LGTM! Message sending method signature correctly updated.The method signature and implementation have been properly updated:
- Parameter type changed from
ALMessage*
toKMCoreMessage*
- Return type in completion handler updated to
KMCoreMessage*
- All method calls and variable usage consistent with the new types
The logic and error handling remain unchanged, maintaining the same functionality with the new type system.
247-254
: LGTM! Channel creation method properly updated to use KMCore types.*The channel creation method has been comprehensively updated:
- Parameter types updated to
KMCoreChannelInfo*
andKMCoreChannelCreateResponse*
- Local service instantiation updated to
KMCoreChannelService
- Method calls and completion handlers use the new types consistently
The implementation maintains the same logic flow while adopting the new naming convention.
309-315
: LGTM! Channel information retrieval method signature correctly updated.The method signature has been properly updated to use KMCore* types:
- Completion handler parameters updated to
KMCoreChannel*
andKMCoreChannelFeedResponse*
- Local service variable updated to
KMCoreChannelService
- Method call parameters consistent with the new types
The functionality remains identical while conforming to the new namespace.
Sources/message/KMCoreMessageServiceWrapper.m (3)
9-13
: LGTM! Clean and systematic refactoring.The import statements and class declaration have been properly updated from the AL* prefix to the KMCore* prefix. The renaming is consistent and maintains the same functionality.
Also applies to: 22-26
30-40
: Excellent consistency in method implementation updates.All
ALMessage
references have been properly renamed toKMCoreMessage
, and the service class references are correctly updated to useKMCoreMessageService
. The method logic remains unchanged, which is perfect for this refactoring effort.Also applies to: 45-57
88-93
: Database service and handler references properly updated.The
KMCoreMessageDBService
andKMCoreDBHandler
references are correctly updated from their AL* counterparts, maintaining the same functionality while aligning with the new naming convention.Also applies to: 104-104
Sources/include/KMCoreMessageClientService.h (3)
2-2
: Header file and class name properly updated.The file header and class declaration have been correctly renamed from
ALMessageClientService
toKMCoreMessageClientService
, maintaining consistency with the broader refactoring effort.Also applies to: 19-19
10-14
: Import statements and type references consistently updated.All relevant imports have been updated to use the KMCore* prefix (
KMCoreMessage
,KMCoreMessageList
,KMCoreMessageInfoResponse
), and method signatures properly reflect the new types in completion handlers.Also applies to: 27-27, 49-49
63-64
: Method parameter types and return types properly updated.The deprecated method and search methods now correctly use
KMCoreMessage
types instead ofALMessage
, ensuring type consistency across the interface.Also applies to: 80-84
Sources/include/KommunicateClient.h (3)
10-13
: Service imports and property declarations properly updated.The import statements and service property declarations have been systematically updated to use
KMCoreMessageService
,KMCoreMessageDBService
, andKMCoreChannelService
, maintaining the same functionality with the new naming convention.Also applies to: 58-61
27-27
: Delegate protocol methods consistently updated.All delegate protocol methods now properly use
KMCoreMessage
instead ofALMessage
in their signatures. The documentation comments have also been updated to reference the new type names.Also applies to: 32-32, 36-36, 40-40, 45-45, 49-49
87-87
: Public API method signatures properly maintained.All public method signatures have been updated to use the new KMCore* types (
KMCoreMessage
,KMCoreChannelInfo
,KMCoreChannelCreateResponse
, etc.) while maintaining the same method contracts and functionality.Also applies to: 91-92, 96-96, 101-101, 105-106, 117-117, 171-173, 242-242
Sources/message/KMCoreMessageClientService.m (5)
2-2
: File header and class implementation properly renamed.The file header, imports, and class implementation have been correctly updated from
ALMessageClientService
toKMCoreMessageClientService
, maintaining consistency with the header file.Also applies to: 9-9, 31-31
13-17
: Import statements systematically updated.All relevant imports have been updated to use the KMCore* prefix for message, database, channel, and conversation services, ensuring proper dependency references.
Also applies to: 20-20
231-238
: Method signatures and service instantiations properly updated.The method parameter types and service instantiations (
KMCoreDBHandler
,KMCoreMessageDBService
,KMCoreMessage
) have been consistently updated while maintaining the same functionality.Also applies to: 241-244
275-275
: Response object creation and service usage consistently updated.All response object instantiations (
KMCoreMessageList
) and service usage (KMCoreChannelService
) have been properly updated to use the new class names while preserving the original logic flow.Also applies to: 301-301, 310-310, 317-317
532-532
: Method signatures and object instantiations throughout the file properly updated.The completion handler signatures, object instantiations, and array type declarations have all been systematically updated to use
KMCoreMessage
and related types, demonstrating excellent consistency in the refactoring effort.Also applies to: 545-545, 627-627, 664-668, 726-730
Sources/include/KMCoreMessageService.h (1)
1-172
: Excellent systematic refactoring of the message service header.The renaming from
ALMessageService
toKMCoreMessageService
and all related types has been executed consistently throughout the header file. All method signatures, return types, and parameter types have been properly updated to use the newKMCore
namespace. The changes maintain the exact same functionality while establishing the new naming convention.Sources/channel/KMCoreChannelDBService.m (1)
1-1141
: Well-executed systematic refactoring of the channel database service.The implementation has been thoroughly updated from
ALChannelDBService
toKMCoreChannelDBService
with all related channel types (KMCoreChannel
,KMCoreChannelUserX
,KMCoreDBHandler
) consistently renamed throughout. The business logic remains unchanged while successfully establishing the newKMCore
namespace for channel-related operations.The retention of some
AL*
prefixed classes (likeALContactDBService
,ALContact
) appears intentional as part of this phased refactoring approach.Sources/channel/KMCoreChannelClientService.m (1)
1-1123
: Comprehensive and consistent refactoring of the channel client service.The transformation from
ALChannelClientService
toKMCoreChannelClientService
has been executed systematically throughout the implementation. All method signatures, completion handler types, and object instantiations have been properly updated to use the newKMCore
namespace (KMCoreChannel
,KMCoreChannelCreateResponse
,KMCoreChannelSyncResponse
, etc.).The network communication logic and business functionality remain completely intact, ensuring this refactoring is purely a namespace migration without any behavioral changes.
Sources/message/KMCoreMessageDBService.m (1)
1-1275
: LGTM! Systematic refactoring executed consistently.This file demonstrates a comprehensive and well-executed refactoring from the
AL
prefix to theKMCore
prefix. All class names, imports, method signatures, variable types, and documentation have been systematically updated while preserving the original functionality and logic. The changes include:
- Class name:
ALMessageDBService
→KMCoreMessageDBService
- All imports updated to use
KMCore*
prefixed classes- All method signatures and variable declarations consistently updated
- Documentation and comments updated to reflect new class names
No functional logic, control flow, or error handling has been modified, which reduces the risk of introducing bugs during this large-scale refactoring.
Sources/include/KMCoreChannelService.h (1)
1-519
: LGTM! Comprehensive header file refactoring with consistent namespace migration.This header file has been thoroughly refactored from
ALChannelService
toKMCoreChannelService
with excellent consistency:
- Interface declaration:
ALChannelService
→KMCoreChannelService
(line 29)- Imports: All imports updated to use
KMCore*
prefixed headers (lines 10-18)- Method signatures: All parameter types, return types, and completion block types consistently updated throughout
- Properties: Service properties updated to use
KMCore*
types (lines 39, 41)- Documentation: Extensive documentation updates to reference new class names in method comments
The refactoring maintains the complete API surface while transitioning to the new namespace. No functional changes were made, preserving existing behavior.
Sources/channel/KMCoreChannelService.m (8)
2-2
: LGTM: File name and imports updated consistently.The file name and import statements have been systematically updated from
AL*
toKMCore*
prefixes, maintaining consistency with the broader refactoring effort.Also applies to: 9-12, 18-18, 20-20
32-39
: LGTM: Singleton pattern updated correctly.The singleton implementation correctly uses the new
KMCoreChannelService
class name throughout the method, maintaining the same logic while updating the namespace.
54-55
: LGTM: Service dependencies updated consistently.The service instantiation correctly uses the new
KMCore*
prefixed classes for bothchannelClientService
andchannelDBService
.
59-59
: LGTM: Type declarations and method signatures updated systematically.All variable declarations, method parameters, and return types have been consistently updated from
ALChannel*
toKMCoreChannel*
and related types. The logic and functionality remain unchanged.Also applies to: 63-63, 69-69, 72-72, 78-78, 86-86, 94-94, 104-104
117-117
: LGTM: Static and instance methods updated correctly.All method implementations correctly use the new
KMCore*
types while maintaining the same business logic for channel operations.Also applies to: 124-124, 132-134, 146-147, 165-166
284-284
: LGTM: Channel creation methods updated consistently.All channel creation method signatures and completion block parameters have been systematically updated to use
KMCoreChannel
andKMCoreChannelCreateResponse
types.Also applies to: 294-294, 306-306, 308-308, 321-321, 323-323, 342-342, 345-345
386-386
: LGTM: Channel info and broadcast channel methods updated.The channel info classes and broadcast channel creation methods correctly use the new
KMCore*
prefixed types.Also applies to: 392-393, 436-436, 438-438, 454-454, 458-458
13-17
: Note: Partial migration approach with selective AL class retention.*The refactoring maintains certain
AL*
prefixed classes (ALMuteRequest
,ALAPIResponse
,ALContactService
,ALLogger
) and constants (AL_CHANNEL_MEMBER_BATCH_SIZE
, etc.), indicating this is a selective migration rather than a complete namespace change. This approach is acceptable for a phased migration strategy.Also applies to: 22-27
✅ iOS Lint Test Result |
Summary
AL
toKMCore
prefix->
ALChannel
→KMCoreChannel
->
ALDBHandler
→KMCoreDBHandler
->
ALMessage
→KMCoreMessage
->
ALConversation
→KMCoreConversation
->
ALJson
→KMCoreJson
applozickit
tocorekit
Summary by CodeRabbit