-
Notifications
You must be signed in to change notification settings - Fork 1
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
Add presence to RealtimeChannelProtocol
#212
Closed
Closed
Changes from all commits
Commits
File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,98 @@ | ||
import Ably | ||
import AblyChat | ||
|
||
final class MockRealtimePresence: RealtimePresenceProtocol { | ||
var syncComplete: Bool { | ||
fatalError("Not implemented") | ||
} | ||
|
||
func get(_: @escaping ARTPresenceMessagesCallback) { | ||
fatalError("Not implemented") | ||
} | ||
|
||
func get(_: ARTRealtimePresenceQuery, callback _: @escaping ARTPresenceMessagesCallback) { | ||
fatalError("Not implemented") | ||
} | ||
|
||
func enter(_: Any?) { | ||
fatalError("Not implemented") | ||
} | ||
|
||
func enter(_: Any?, callback _: ARTCallback? = nil) { | ||
fatalError("Not implemented") | ||
} | ||
|
||
func update(_: Any?) { | ||
fatalError("Not implemented") | ||
} | ||
|
||
func update(_: Any?, callback _: ARTCallback? = nil) { | ||
fatalError("Not implemented") | ||
} | ||
|
||
func leave(_: Any?) { | ||
fatalError("Not implemented") | ||
} | ||
|
||
func leave(_: Any?, callback _: ARTCallback? = nil) { | ||
fatalError("Not implemented") | ||
} | ||
|
||
func enterClient(_: String, data _: Any?) { | ||
fatalError("Not implemented") | ||
} | ||
|
||
func enterClient(_: String, data _: Any?, callback _: ARTCallback? = nil) { | ||
fatalError("Not implemented") | ||
} | ||
|
||
func updateClient(_: String, data _: Any?) { | ||
fatalError("Not implemented") | ||
} | ||
|
||
func updateClient(_: String, data _: Any?, callback _: ARTCallback? = nil) { | ||
fatalError("Not implemented") | ||
} | ||
|
||
func leaveClient(_: String, data _: Any?) { | ||
fatalError("Not implemented") | ||
} | ||
|
||
func leaveClient(_: String, data _: Any?, callback _: ARTCallback? = nil) { | ||
fatalError("Not implemented") | ||
} | ||
|
||
func subscribe(_: @escaping ARTPresenceMessageCallback) -> ARTEventListener? { | ||
fatalError("Not implemented") | ||
} | ||
|
||
func subscribe(attachCallback _: ARTCallback?, callback _: @escaping ARTPresenceMessageCallback) -> ARTEventListener? { | ||
fatalError("Not implemented") | ||
} | ||
|
||
func subscribe(_: ARTPresenceAction, callback _: @escaping ARTPresenceMessageCallback) -> ARTEventListener? { | ||
fatalError("Not implemented") | ||
} | ||
|
||
func subscribe(_: ARTPresenceAction, onAttach _: ARTCallback?, callback _: @escaping ARTPresenceMessageCallback) -> ARTEventListener? { | ||
fatalError("Not implemented") | ||
} | ||
|
||
func unsubscribe() { | ||
fatalError("Not implemented") | ||
} | ||
|
||
func unsubscribe(_: ARTEventListener) { | ||
fatalError("Not implemented") | ||
} | ||
|
||
func unsubscribe(_: ARTPresenceAction, listener _: ARTEventListener) { | ||
fatalError("Not implemented") | ||
} | ||
|
||
func history(_: @escaping ARTPaginatedPresenceCallback) {} | ||
|
||
func history(_: ARTRealtimeHistoryQuery?, callback _: @escaping ARTPaginatedPresenceCallback) throws { | ||
fatalError("Not implemented") | ||
} | ||
} | ||
Comment on lines
+4
to
+98
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 🛠️ Refactor suggestion Improve mock implementation consistency and documentation. Issues found:
Consider these improvements:
/// A mock implementation of RealtimePresenceProtocol for testing purposes.
/// This mock currently throws fatalError for all methods as they are not yet implemented.
final class MockRealtimePresence: RealtimePresenceProtocol {
- func history(_: @escaping ARTPaginatedPresenceCallback) {}
+ func history(_: @escaping ARTPaginatedPresenceCallback) {
+ fatalError("Not implemented")
+ }
- fatalError("Not implemented")
+ fatalError("MockRealtimePresence.syncComplete is not implemented") |
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
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.
Fix protocol conformance for
ARTRealtimeChannel
.The pipeline is failing with the error: "
type 'ARTRealtimeChannel' does not conform to protocol 'RealtimeChannelProtocol'
". This is likely becauseARTRealtimeChannel
is missing required members ofRealtimeChannelProtocol
, specifically thepresence
property of typeany RealtimePresenceProtocol
. To resolve this, you need to ensure thatARTRealtimeChannel
provides an implementation for thepresence
property that conforms toRealtimePresenceProtocol
.Apply this diff to fix the issue:
Ensure that
self.presence
correctly returns an instance conforming toRealtimePresenceProtocol
. This should satisfy the protocol requirements and fix the pipeline failure.🧰 Tools
🪛 GitHub Actions: Check
[error] 7-7: type 'ARTRealtimeChannel' does not conform to protocol 'RealtimeChannelProtocol'