-
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
[ECO-5102] Updated README #166
Conversation
WalkthroughThe pull request involves extensive updates to the Changes
Assessment against linked issues
Possibly related PRs
Suggested reviewers
Poem
Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media? 🪧 TipsChatThere are 3 ways to chat with CodeRabbit:
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 (
|
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: 1
🧹 Outside diff range and nitpick comments (4)
README.md (4)
44-44
: Add missing commaAdd a comma after "chat features" for better readability.
-This project is under development so we will be incrementally adding new features. +This project is under development, so we will be incrementally adding new features.🧰 Tools
🪛 LanguageTool
[uncategorized] ~44-~44: Possible missing comma found.
Context: ...ed chat features This project is under development so we will be incrementally adding new ...(AI_HYDRA_LEO_MISSING_COMMA)
50-50
: Fix abbreviation formattingAdd a period after "i.e." as it's an abbreviation.
-Chat room occupancy, i.e total number of connections and presence members. +Chat room occupancy, i.e., total number of connections and presence members.🧰 Tools
🪛 LanguageTool
[uncategorized] ~50-~50: The abbreviation “i.e.” (= that is) requires two periods.
Context: ...at participants. - Chat room occupancy, i.e total number of connections and presenc...(I_E)
72-78
: Add Swift syntax highlighting to code blocksAdd the Swift language identifier to code blocks for better syntax highlighting.
Example:
-``` +```swift let realtimeOptions = ARTClientOptions()Also applies to: 96-99, 105-110
513-513
: Format bare URL as a proper linkConvert the bare URL to a proper markdown link for better formatting and accessibility.
-Please visit http://support.ably.com/ for access to our knowledge base +Please visit [our support site](https://support.ably.com/) for access to our knowledge base🧰 Tools
🪛 Markdownlint (0.35.0)
513-513: null
Bare URL used(MD034, no-bare-urls)
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
📒 Files selected for processing (1)
README.md
(3 hunks)
🧰 Additional context used
🪛 LanguageTool
README.md
[uncategorized] ~44-~44: Possible missing comma found.
Context: ...ed chat features This project is under development so we will be incrementally adding new ...
(AI_HYDRA_LEO_MISSING_COMMA)
[grammar] ~47-~47: Possible agreement error. The noun participation seems to be uncountable; consider using: “much participation”, “a good deal of participation”.
Context: ... rooms for 1:1, 1:many, many:1 and many:many participation. - Sending and receiving chat messages....
(MANY_NN_U)
[uncategorized] ~50-~50: The abbreviation “i.e.” (= that is) requires two periods.
Context: ...at participants. - Chat room occupancy, i.e total number of connections and presenc...
(I_E)
[grammar] ~60-~60: You used an adverb (‘Ably’) instead of an adjective, or a noun (‘account’) instead of another adjective.
Context: ...need the following prerequisites: - An Ably account - You can [sign up](https://ably.co...
(A_RB_NN)
[grammar] ~63-~63: You used an adverb (‘Ably’) instead of an adjective, or a noun (‘API’) instead of another adjective.
Context: ...ignup) to the generous free tier. - An Ably API key - Use the default or create a n...
(A_RB_NN)
[typographical] ~80-~80: The word “however” is an adverb that can’t be used like a conjunction, and therefore needs to be separated from the sentence.
Context: ...he API Key directly for testing purposes, however it is strongly recommended that you use...
(HOWEVER_SENTENCE)
[style] ~144-~144: Consider a shorter alternative to avoid wordiness.
Context: ...ing: TypingOptions(timeout: 3.0))) ``` In order to use the same room but with different op...
(IN_ORDER_TO_PREMIUM)
[uncategorized] ~170-~170: Use a comma before ‘and’ if it connects two independent clauses (unless they are closely connected and short).
Context: ... any event listeners you have registered and they will begin to receive events again...
(COMMA_COMPOUND_SENTENCE)
[style] ~170-~170: ‘in the event that’ might be wordy. Consider a shorter alternative.
Context: ...they will begin to receive events again in the event that the room is re-attached. ### Releasing...
(EN_WORDINESS_PREMIUM_IN_THE_EVENT_THAT)
[style] ~176-~176: ‘completely finished’ might be wordy. Consider a shorter alternative.
Context: ...running 1:1 support chat). When you are completely finished with a room, you may release
it which...
(EN_WORDINESS_PREMIUM_COMPLETELY_FINISHED)
[uncategorized] ~182-~182: Use a comma before ‘and’ if it connects two independent clauses (unless they are closely connected and short).
Context: ...is called, the room will become unusable and you will need to get a new instance usi...
(COMMA_COMPOUND_SENTENCE)
[uncategorized] ~223-~223: Use a comma before ‘and’ if it connects two independent clauses (unless they are closely connected and short).
Context: ...nection, continuity cannot be guaranteed and you'll need to take steps to recover me...
(COMMA_COMPOUND_SENTENCE)
[uncategorized] ~243-~243: Possible missing comma found.
Context: ...ming messages To subscribe to incoming messages you create a subscription for the room ...
(AI_HYDRA_LEO_MISSING_COMMA)
[uncategorized] ~264-~264: Possible missing comma found.
Context: ... messages object also exposes the get
method which can be used to request historical...
(AI_HYDRA_LEO_MISSING_COMMA)
[style] ~327-~327: Consider shortening or rephrasing this to strengthen your wording.
Context: ...the presence data Updates allow you to make changes to the custom data associated with a prese...
(MAKE_CHANGES)
[misspelling] ~491-~491: Did you mean “side effects” (=adverse effect, unintended consequence)? Open compounds are not hyphenated.
Context: ...directly. Doing so may cause unintended side-effects in the Chat SDK. ### Channels Used Fo...
(AFFECT_EFFECT)
🪛 Markdownlint (0.35.0)
README.md
61-61: Expected: 2; Actual: 4
Unordered list indentation
(MD007, ul-indent)
64-64: Expected: 2; Actual: 4
Unordered list indentation
(MD007, ul-indent)
66-66: Expected: 2; Actual: 4
Unordered list indentation
(MD007, ul-indent)
513-513: null
Bare URL used
(MD034, no-bare-urls)
🔇 Additional comments (2)
README.md (2)
36-40
: LGTM!
The installation instructions are clear and accurate.
Line range hint 1-521
: Overall documentation quality is excellent!
The README is comprehensive, well-structured, and provides clear guidance for users. The code examples are helpful and cover all major features. The minor formatting and grammar issues identified above don't impact the overall quality of the documentation.
🧰 Tools
🪛 LanguageTool
[uncategorized] ~44-~44: Possible missing comma found.
Context: ...ed chat features This project is under development so we will be incrementally adding new ...
(AI_HYDRA_LEO_MISSING_COMMA)
[grammar] ~47-~47: Possible agreement error. The noun participation seems to be uncountable; consider using: “much participation”, “a good deal of participation”.
Context: ... rooms for 1:1, 1:many, many:1 and many:many participation. - Sending and receiving chat messages....
(MANY_NN_U)
[uncategorized] ~50-~50: The abbreviation “i.e.” (= that is) requires two periods.
Context: ...at participants. - Chat room occupancy, i.e total number of connections and presenc...
(I_E)
[grammar] ~60-~60: You used an adverb (‘Ably’) instead of an adjective, or a noun (‘account’) instead of another adjective.
Context: ...need the following prerequisites: - An Ably account - You can [sign up](https://ably.co...
(A_RB_NN)
[grammar] ~63-~63: You used an adverb (‘Ably’) instead of an adjective, or a noun (‘API’) instead of another adjective.
Context: ...ignup) to the generous free tier. - An Ably API key - Use the default or create a n...
(A_RB_NN)
[typographical] ~80-~80: The word “however” is an adverb that can’t be used like a conjunction, and therefore needs to be separated from the sentence.
Context: ...he API Key directly for testing purposes, however it is strongly recommended that you use...
(HOWEVER_SENTENCE)
[style] ~144-~144: Consider a shorter alternative to avoid wordiness.
Context: ...ing: TypingOptions(timeout: 3.0))) ``` In order to use the same room but with different op...
(IN_ORDER_TO_PREMIUM)
[uncategorized] ~170-~170: Use a comma before ‘and’ if it connects two independent clauses (unless they are closely connected and short).
Context: ... any event listeners you have registered and they will begin to receive events again...
(COMMA_COMPOUND_SENTENCE)
[style] ~170-~170: ‘in the event that’ might be wordy. Consider a shorter alternative.
Context: ...they will begin to receive events again in the event that the room is re-attached. ### Releasing...
(EN_WORDINESS_PREMIUM_IN_THE_EVENT_THAT)
[style] ~176-~176: ‘completely finished’ might be wordy. Consider a shorter alternative.
Context: ...running 1:1 support chat). When you are completely finished with a room, you may release
it which...
(EN_WORDINESS_PREMIUM_COMPLETELY_FINISHED)
[uncategorized] ~182-~182: Use a comma before ‘and’ if it connects two independent clauses (unless they are closely connected and short).
Context: ...is called, the room will become unusable and you will need to get a new instance usi...
(COMMA_COMPOUND_SENTENCE)
[uncategorized] ~223-~223: Use a comma before ‘and’ if it connects two independent clauses (unless they are closely connected and short).
Context: ...nection, continuity cannot be guaranteed and you'll need to take steps to recover me...
(COMMA_COMPOUND_SENTENCE)
[uncategorized] ~243-~243: Possible missing comma found.
Context: ...ming messages To subscribe to incoming messages you create a subscription for the room ...
(AI_HYDRA_LEO_MISSING_COMMA)
[uncategorized] ~264-~264: Possible missing comma found.
Context: ... messages object also exposes the get
method which can be used to request historical...
(AI_HYDRA_LEO_MISSING_COMMA)
[style] ~327-~327: Consider shortening or rephrasing this to strengthen your wording.
Context: ...the presence data Updates allow you to make changes to the custom data associated with a prese...
(MAKE_CHANGES)
🪛 Markdownlint (0.35.0)
61-61: Expected: 2; Actual: 4
Unordered list indentation
(MD007, ul-indent)
64-64: Expected: 2; Actual: 4
Unordered list indentation
(MD007, ul-indent)
66-66: Expected: 2; Actual: 4
Unordered list indentation
(MD007, ul-indent)
3146aa9
to
e3907cf
Compare
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: 1
🧹 Outside diff range and nitpick comments (2)
README.md (2)
47-52
: Fix grammatical issues in features listThe abbreviation "i.e." requires two periods. Also, consider using bullet points consistently.
- Chat room occupancy, i.e total number of connections and presence members. + Chat room occupancy, i.e., total number of connections and presence members.🧰 Tools
🪛 LanguageTool
[grammar] ~47-~47: Possible agreement error. The noun participation seems to be uncountable; consider using: “much participation”, “a good deal of participation”.
Context: ... rooms for 1:1, 1:many, many:1 and many:many participation. - Sending and receiving chat messages....(MANY_NN_U)
[uncategorized] ~50-~50: The abbreviation “i.e.” (= that is) requires two periods.
Context: ...at participants. - Chat room occupancy, i.e total number of connections and presenc...(I_E)
492-492
: Fix hyphenation in warning message"Side-effects" should not be hyphenated when used as a noun.
- Doing so may cause unintended side-effects in the Chat SDK. + Doing so may cause unintended side effects in the Chat SDK.🧰 Tools
🪛 LanguageTool
[misspelling] ~492-~492: Did you mean “side effects” (=adverse effect, unintended consequence)? Open compounds are not hyphenated.
Context: ...directly. Doing so may cause unintended side-effects in the Chat SDK. ### Channels Used Fo...(AFFECT_EFFECT)
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
📒 Files selected for processing (1)
README.md
(3 hunks)
🧰 Additional context used
🪛 LanguageTool
README.md
[grammar] ~47-~47: Possible agreement error. The noun participation seems to be uncountable; consider using: “much participation”, “a good deal of participation”.
Context: ... rooms for 1:1, 1:many, many:1 and many:many participation. - Sending and receiving chat messages....
(MANY_NN_U)
[uncategorized] ~50-~50: The abbreviation “i.e.” (= that is) requires two periods.
Context: ...at participants. - Chat room occupancy, i.e total number of connections and presenc...
(I_E)
[grammar] ~60-~60: You used an adverb (‘Ably’) instead of an adjective, or a noun (‘account’) instead of another adjective.
Context: ...need the following prerequisites: - An Ably account - You can [sign up](https://ably.co...
(A_RB_NN)
[grammar] ~63-~63: You used an adverb (‘Ably’) instead of an adjective, or a noun (‘API’) instead of another adjective.
Context: ...ignup) to the generous free tier. - An Ably API key - Use the default or create a n...
(A_RB_NN)
[typographical] ~80-~80: The word “however” is an adverb that can’t be used like a conjunction, and therefore needs to be separated from the sentence.
Context: ...he API Key directly for testing purposes, however it is strongly recommended that you use...
(HOWEVER_SENTENCE)
[style] ~145-~145: Consider a shorter alternative to avoid wordiness.
Context: ...ing: TypingOptions(timeout: 3.0))) ``` In order to use the same room but with different op...
(IN_ORDER_TO_PREMIUM)
[uncategorized] ~171-~171: Use a comma before ‘and’ if it connects two independent clauses (unless they are closely connected and short).
Context: ... any event listeners you have registered and they will begin to receive events again...
(COMMA_COMPOUND_SENTENCE)
[style] ~171-~171: ‘in the event that’ might be wordy. Consider a shorter alternative.
Context: ...they will begin to receive events again in the event that the room is re-attached. ### Releasing...
(EN_WORDINESS_PREMIUM_IN_THE_EVENT_THAT)
[style] ~177-~177: ‘completely finished’ might be wordy. Consider a shorter alternative.
Context: ...running 1:1 support chat). When you are completely finished with a room, you may release
it which...
(EN_WORDINESS_PREMIUM_COMPLETELY_FINISHED)
[uncategorized] ~183-~183: Use a comma before ‘and’ if it connects two independent clauses (unless they are closely connected and short).
Context: ...is called, the room will become unusable and you will need to get a new instance usi...
(COMMA_COMPOUND_SENTENCE)
[uncategorized] ~224-~224: Use a comma before ‘and’ if it connects two independent clauses (unless they are closely connected and short).
Context: ...nection, continuity cannot be guaranteed and you'll need to take steps to recover me...
(COMMA_COMPOUND_SENTENCE)
[style] ~328-~328: Consider shortening or rephrasing this to strengthen your wording.
Context: ...the presence data Updates allow you to make changes to the custom data associated with a prese...
(MAKE_CHANGES)
[misspelling] ~492-~492: Did you mean “side effects” (=adverse effect, unintended consequence)? Open compounds are not hyphenated.
Context: ...directly. Doing so may cause unintended side-effects in the Chat SDK. ### Channels Used Fo...
(AFFECT_EFFECT)
🪛 Markdownlint (0.35.0)
README.md
61-61: Expected: 2; Actual: 4
Unordered list indentation
(MD007, ul-indent)
64-64: Expected: 2; Actual: 4
Unordered list indentation
(MD007, ul-indent)
66-66: Expected: 2; Actual: 4
Unordered list indentation
(MD007, ul-indent)
514-514: null
Bare URL used
(MD034, no-bare-urls)
🔇 Additional comments (3)
README.md (3)
3-8
: Fix incorrect badge URLs
The badge URLs still need to be updated as previously noted:
- The coverage badge URL points to the Kotlin repository instead of Swift
- The license badge uses an unrelated repository's URL
- <a href="https://github.com/ably/ably-chat-kotlin/actions/workflows/coverage.yml"><img src="https://img.shields.io/static/v1?label=coverage&message=80%2B%25&color=2ea44f" alt="coverage - 80+%"></a>
+ <a href="https://github.com/ably/ably-chat-swift/actions/workflows/coverage.yml"><img src="https://img.shields.io/static/v1?label=coverage&message=80%2B%25&color=2ea44f" alt="coverage - 80+%"></a>
- <img src="https://badgen.net/github/license/3scale/saas-operator" alt="License" />
+ <img src="https://badgen.net/github/license/ably/ably-chat-swift" alt="License" />
Line range hint 467-477
: LGTM!
The example app section is well-structured and clearly distinguishes between SDK and example app requirements.
🧰 Tools
🪛 LanguageTool
[grammar] ~47-~47: Possible agreement error. The noun participation seems to be uncountable; consider using: “much participation”, “a good deal of participation”.
Context: ... rooms for 1:1, 1:many, many:1 and many:many participation. - Sending and receiving chat messages....
(MANY_NN_U)
[uncategorized] ~50-~50: The abbreviation “i.e.” (= that is) requires two periods.
Context: ...at participants. - Chat room occupancy, i.e total number of connections and presenc...
(I_E)
[grammar] ~60-~60: You used an adverb (‘Ably’) instead of an adjective, or a noun (‘account’) instead of another adjective.
Context: ...need the following prerequisites: - An Ably account - You can [sign up](https://ably.co...
(A_RB_NN)
[grammar] ~63-~63: You used an adverb (‘Ably’) instead of an adjective, or a noun (‘API’) instead of another adjective.
Context: ...ignup) to the generous free tier. - An Ably API key - Use the default or create a n...
(A_RB_NN)
[typographical] ~80-~80: The word “however” is an adverb that can’t be used like a conjunction, and therefore needs to be separated from the sentence.
Context: ...he API Key directly for testing purposes, however it is strongly recommended that you use...
(HOWEVER_SENTENCE)
[style] ~145-~145: Consider a shorter alternative to avoid wordiness.
Context: ...ing: TypingOptions(timeout: 3.0))) ``` In order to use the same room but with different op...
(IN_ORDER_TO_PREMIUM)
[uncategorized] ~171-~171: Use a comma before ‘and’ if it connects two independent clauses (unless they are closely connected and short).
Context: ... any event listeners you have registered and they will begin to receive events again...
(COMMA_COMPOUND_SENTENCE)
[style] ~171-~171: ‘in the event that’ might be wordy. Consider a shorter alternative.
Context: ...they will begin to receive events again in the event that the room is re-attached. ### Releasing...
(EN_WORDINESS_PREMIUM_IN_THE_EVENT_THAT)
[style] ~177-~177: ‘completely finished’ might be wordy. Consider a shorter alternative.
Context: ...running 1:1 support chat). When you are completely finished with a room, you may release
it which...
(EN_WORDINESS_PREMIUM_COMPLETELY_FINISHED)
[uncategorized] ~183-~183: Use a comma before ‘and’ if it connects two independent clauses (unless they are closely connected and short).
Context: ...is called, the room will become unusable and you will need to get a new instance usi...
(COMMA_COMPOUND_SENTENCE)
[uncategorized] ~224-~224: Use a comma before ‘and’ if it connects two independent clauses (unless they are closely connected and short).
Context: ...nection, continuity cannot be guaranteed and you'll need to take steps to recover me...
(COMMA_COMPOUND_SENTENCE)
[style] ~328-~328: Consider shortening or rephrasing this to strengthen your wording.
Context: ...the presence data Updates allow you to make changes to the custom data associated with a prese...
(MAKE_CHANGES)
[style] ~468-~468: Consider a shorter alternative to avoid wordiness.
Context: ...in the Example
directory. In order to allow the app to use modern SwiftUI fea...
(IN_ORDER_TO_PREMIUM)
🪛 Markdownlint (0.35.0)
61-61: Expected: 2; Actual: 4
Unordered list indentation
(MD007, ul-indent)
64-64: Expected: 2; Actual: 4
Unordered list indentation
(MD007, ul-indent)
66-66: Expected: 2; Actual: 4
Unordered list indentation
(MD007, ul-indent)
Line range hint 1-522
: Verify documentation completeness
Let's verify that all public APIs are documented:
✅ Verification successful
Let me analyze the documentation completeness by comparing the public APIs found in the codebase with what's documented in the README.
The scan shows that all major public APIs and their usage are well documented in the README:
-
Connection management:
- Public APIs:
current
,previous
,error
,retryIn
- Documented: "Current connection status", "Subscribing to connection status changes"
- Public APIs:
-
Room operations:
- Public APIs:
attach()
,detach()
, status properties - Documented: "Attaching to a room", "Detaching from a room", "Current status of a room"
- Public APIs:
-
Messages:
- Public APIs: Message properties and methods
- Documented: "Subscribing to incoming messages", "Sending messages", "Retrieving message history"
-
Presence:
- Public APIs: Presence properties and methods
- Documented: "Retrieving online members", "Entering the presence set", "Updating presence data"
-
Typing indicators:
- Public APIs: Typing properties and methods
- Documented: "Start typing", "Stop typing", "Subscribing to typing updates"
-
Occupancy:
- Public APIs: Occupancy properties
- Documented: "Subscribing to occupancy updates", "Retrieving occupancy"
-
Reactions:
- Public APIs: Reaction properties and methods
- Documented: "Sending a reaction", "Subscribing to room reactions"
The documentation in README.md comprehensively covers all the public APIs found in the codebase, with clear examples and explanations for each feature. The structure follows a logical flow from basic setup to advanced features.
🏁 Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash
# Find all public methods in Swift files and compare with documented APIs
echo "Searching for public APIs..."
rg "public (func|var|let)" -g "*.swift" -A 1
echo "Searching for documented APIs in README..."
rg "^### \w+" README.md
Length of output: 8319
🧰 Tools
🪛 LanguageTool
[grammar] ~47-~47: Possible agreement error. The noun participation seems to be uncountable; consider using: “much participation”, “a good deal of participation”.
Context: ... rooms for 1:1, 1:many, many:1 and many:many participation. - Sending and receiving chat messages....
(MANY_NN_U)
[uncategorized] ~50-~50: The abbreviation “i.e.” (= that is) requires two periods.
Context: ...at participants. - Chat room occupancy, i.e total number of connections and presenc...
(I_E)
[grammar] ~60-~60: You used an adverb (‘Ably’) instead of an adjective, or a noun (‘account’) instead of another adjective.
Context: ...need the following prerequisites: - An Ably account - You can [sign up](https://ably.co...
(A_RB_NN)
[grammar] ~63-~63: You used an adverb (‘Ably’) instead of an adjective, or a noun (‘API’) instead of another adjective.
Context: ...ignup) to the generous free tier. - An Ably API key - Use the default or create a n...
(A_RB_NN)
[typographical] ~80-~80: The word “however” is an adverb that can’t be used like a conjunction, and therefore needs to be separated from the sentence.
Context: ...he API Key directly for testing purposes, however it is strongly recommended that you use...
(HOWEVER_SENTENCE)
[style] ~145-~145: Consider a shorter alternative to avoid wordiness.
Context: ...ing: TypingOptions(timeout: 3.0))) ``` In order to use the same room but with different op...
(IN_ORDER_TO_PREMIUM)
[uncategorized] ~171-~171: Use a comma before ‘and’ if it connects two independent clauses (unless they are closely connected and short).
Context: ... any event listeners you have registered and they will begin to receive events again...
(COMMA_COMPOUND_SENTENCE)
[style] ~171-~171: ‘in the event that’ might be wordy. Consider a shorter alternative.
Context: ...they will begin to receive events again in the event that the room is re-attached. ### Releasing...
(EN_WORDINESS_PREMIUM_IN_THE_EVENT_THAT)
[style] ~177-~177: ‘completely finished’ might be wordy. Consider a shorter alternative.
Context: ...running 1:1 support chat). When you are completely finished with a room, you may release
it which...
(EN_WORDINESS_PREMIUM_COMPLETELY_FINISHED)
[uncategorized] ~183-~183: Use a comma before ‘and’ if it connects two independent clauses (unless they are closely connected and short).
Context: ...is called, the room will become unusable and you will need to get a new instance usi...
(COMMA_COMPOUND_SENTENCE)
[uncategorized] ~224-~224: Use a comma before ‘and’ if it connects two independent clauses (unless they are closely connected and short).
Context: ...nection, continuity cannot be guaranteed and you'll need to take steps to recover me...
(COMMA_COMPOUND_SENTENCE)
[style] ~328-~328: Consider shortening or rephrasing this to strengthen your wording.
Context: ...the presence data Updates allow you to make changes to the custom data associated with a prese...
(MAKE_CHANGES)
[style] ~468-~468: Consider a shorter alternative to avoid wordiness.
Context: ...in the Example
directory. In order to allow the app to use modern SwiftUI fea...
(IN_ORDER_TO_PREMIUM)
🪛 Markdownlint (0.35.0)
61-61: Expected: 2; Actual: 4
Unordered list indentation
(MD007, ul-indent)
64-64: Expected: 2; Actual: 4
Unordered list indentation
(MD007, ul-indent)
66-66: Expected: 2; Actual: 4
Unordered list indentation
(MD007, ul-indent)
e3907cf
to
08ce80d
Compare
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: 0
🧹 Outside diff range and nitpick comments (3)
README.md (3)
46-49
: Fix formatting in features list
- Add missing period after "i.e." in the occupancy description
- Consider rephrasing "participation" to improve readability
- Chat room occupancy, i.e total number of connections and presence members. + Chat room occupancy, i.e., total number of connections and presence members.🧰 Tools
🪛 LanguageTool
[grammar] ~46-~46: Possible agreement error. The noun participation seems to be uncountable; consider using: “much participation”, “a good deal of participation”.
Context: ... rooms for 1:1, 1:many, many:1 and many:many participation. - Sending and receiving chat messages....(MANY_NN_U)
[uncategorized] ~49-~49: The abbreviation “i.e.” (= that is) requires two periods.
Context: ...at participants. - Chat room occupancy, i.e total number of connections and presenc...(I_E)
59-67
: Fix list indentation in prerequisites sectionThe nested list items should use consistent 2-space indentation for better readability.
🧰 Tools
🪛 LanguageTool
[grammar] ~59-~59: You used an adverb (‘Ably’) instead of an adjective, or a noun (‘account’) instead of another adjective.
Context: ...need the following prerequisites: - An Ably account - You can [sign up](https://ably.co...(A_RB_NN)
[grammar] ~62-~62: You used an adverb (‘Ably’) instead of an adjective, or a noun (‘API’) instead of another adjective.
Context: ...ignup) to the generous free tier. - An Ably API key - Use the default or create a n...(A_RB_NN)
🪛 Markdownlint (0.35.0)
60-60: Expected: 2; Actual: 4
Unordered list indentation(MD007, ul-indent)
63-63: Expected: 2; Actual: 4
Unordered list indentation(MD007, ul-indent)
65-65: Expected: 2; Actual: 4
Unordered list indentation(MD007, ul-indent)
491-491
: Fix hyphenation in "side effects"Remove the hyphen from "side-effects" as it should be written as "side effects".
- **Warning**: You should not attempt to change the state of a channel directly. Doing so may cause unintended side-effects in the Chat SDK. + **Warning**: You should not attempt to change the state of a channel directly. Doing so may cause unintended side effects in the Chat SDK.🧰 Tools
🪛 LanguageTool
[misspelling] ~491-~491: Did you mean “side effects” (=adverse effect, unintended consequence)? Open compounds are not hyphenated.
Context: ...directly. Doing so may cause unintended side-effects in the Chat SDK. ### Channels Used Fo...(AFFECT_EFFECT)
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
📒 Files selected for processing (2)
.prettierignore
(1 hunks)README.md
(3 hunks)
✅ Files skipped from review due to trivial changes (1)
- .prettierignore
🧰 Additional context used
🪛 LanguageTool
README.md
[grammar] ~46-~46: Possible agreement error. The noun participation seems to be uncountable; consider using: “much participation”, “a good deal of participation”.
Context: ... rooms for 1:1, 1:many, many:1 and many:many participation. - Sending and receiving chat messages....
(MANY_NN_U)
[uncategorized] ~49-~49: The abbreviation “i.e.” (= that is) requires two periods.
Context: ...at participants. - Chat room occupancy, i.e total number of connections and presenc...
(I_E)
[grammar] ~59-~59: You used an adverb (‘Ably’) instead of an adjective, or a noun (‘account’) instead of another adjective.
Context: ...need the following prerequisites: - An Ably account - You can [sign up](https://ably.co...
(A_RB_NN)
[grammar] ~62-~62: You used an adverb (‘Ably’) instead of an adjective, or a noun (‘API’) instead of another adjective.
Context: ...ignup) to the generous free tier. - An Ably API key - Use the default or create a n...
(A_RB_NN)
[typographical] ~79-~79: The word “however” is an adverb that can’t be used like a conjunction, and therefore needs to be separated from the sentence.
Context: ...he API Key directly for testing purposes, however it is strongly recommended that you use...
(HOWEVER_SENTENCE)
[style] ~144-~144: Consider a shorter alternative to avoid wordiness.
Context: ...ing: TypingOptions(timeout: 3.0))) ``` In order to use the same room but with different op...
(IN_ORDER_TO_PREMIUM)
[uncategorized] ~170-~170: Use a comma before ‘and’ if it connects two independent clauses (unless they are closely connected and short).
Context: ... any event listeners you have registered and they will begin to receive events again...
(COMMA_COMPOUND_SENTENCE)
[style] ~170-~170: ‘in the event that’ might be wordy. Consider a shorter alternative.
Context: ...they will begin to receive events again in the event that the room is re-attached. ### Releasing...
(EN_WORDINESS_PREMIUM_IN_THE_EVENT_THAT)
[style] ~176-~176: ‘completely finished’ might be wordy. Consider a shorter alternative.
Context: ...running 1:1 support chat). When you are completely finished with a room, you may release
it which...
(EN_WORDINESS_PREMIUM_COMPLETELY_FINISHED)
[uncategorized] ~182-~182: Use a comma before ‘and’ if it connects two independent clauses (unless they are closely connected and short).
Context: ...is called, the room will become unusable and you will need to get a new instance usi...
(COMMA_COMPOUND_SENTENCE)
[uncategorized] ~223-~223: Use a comma before ‘and’ if it connects two independent clauses (unless they are closely connected and short).
Context: ...nection, continuity cannot be guaranteed and you'll need to take steps to recover me...
(COMMA_COMPOUND_SENTENCE)
[style] ~327-~327: Consider shortening or rephrasing this to strengthen your wording.
Context: ...the presence data Updates allow you to make changes to the custom data associated with a prese...
(MAKE_CHANGES)
[misspelling] ~491-~491: Did you mean “side effects” (=adverse effect, unintended consequence)? Open compounds are not hyphenated.
Context: ...directly. Doing so may cause unintended side-effects in the Chat SDK. ### Channels Used Fo...
(AFFECT_EFFECT)
🪛 Markdownlint (0.35.0)
README.md
60-60: Expected: 2; Actual: 4
Unordered list indentation
(MD007, ul-indent)
63-63: Expected: 2; Actual: 4
Unordered list indentation
(MD007, ul-indent)
65-65: Expected: 2; Actual: 4
Unordered list indentation
(MD007, ul-indent)
513-513: null
Bare URL used
(MD034, no-bare-urls)
🔇 Additional comments (3)
README.md (3)
4-6
: Fix incorrect badge URLs
The license badge URL still points to an unrelated repository (3scale/saas-operator
).
- <img src="https://badgen.net/github/license/3scale/saas-operator" alt="License" />
+ <img src="https://badgen.net/github/license/ably/ably-chat-swift" alt="License" />
513-514
: Fix support links formatting
The bare URL should be properly formatted as a Markdown link.
- Please visit http://support.ably.com/ for access to our knowledge base and to ask for any assistance. You can also view
- the community reported [Github issues](https://github.com/ably/ably-chat-swift/issues) or raise one yourself.
+ Please visit [our support site](http://support.ably.com/) for access to our knowledge base and to ask for any assistance. You can also view
+ the community reported [GitHub issues](https://github.com/ably/ably-chat-swift/issues) or raise one yourself.
🧰 Tools
🪛 Markdownlint (0.35.0)
513-513: null
Bare URL used
(MD034, no-bare-urls)
Line range hint 1-522
: Documentation is comprehensive and well-structured
The README provides clear instructions, good examples, and covers all major features of the SDK. The minor formatting issues don't impact the overall quality and usefulness of the documentation.
🧰 Tools
🪛 LanguageTool
[grammar] ~46-~46: Possible agreement error. The noun participation seems to be uncountable; consider using: “much participation”, “a good deal of participation”.
Context: ... rooms for 1:1, 1:many, many:1 and many:many participation. - Sending and receiving chat messages....
(MANY_NN_U)
[uncategorized] ~49-~49: The abbreviation “i.e.” (= that is) requires two periods.
Context: ...at participants. - Chat room occupancy, i.e total number of connections and presenc...
(I_E)
[grammar] ~59-~59: You used an adverb (‘Ably’) instead of an adjective, or a noun (‘account’) instead of another adjective.
Context: ...need the following prerequisites: - An Ably account - You can [sign up](https://ably.co...
(A_RB_NN)
[grammar] ~62-~62: You used an adverb (‘Ably’) instead of an adjective, or a noun (‘API’) instead of another adjective.
Context: ...ignup) to the generous free tier. - An Ably API key - Use the default or create a n...
(A_RB_NN)
[typographical] ~79-~79: The word “however” is an adverb that can’t be used like a conjunction, and therefore needs to be separated from the sentence.
Context: ...he API Key directly for testing purposes, however it is strongly recommended that you use...
(HOWEVER_SENTENCE)
[style] ~144-~144: Consider a shorter alternative to avoid wordiness.
Context: ...ing: TypingOptions(timeout: 3.0))) ``` In order to use the same room but with different op...
(IN_ORDER_TO_PREMIUM)
[uncategorized] ~170-~170: Use a comma before ‘and’ if it connects two independent clauses (unless they are closely connected and short).
Context: ... any event listeners you have registered and they will begin to receive events again...
(COMMA_COMPOUND_SENTENCE)
[style] ~170-~170: ‘in the event that’ might be wordy. Consider a shorter alternative.
Context: ...they will begin to receive events again in the event that the room is re-attached. ### Releasing...
(EN_WORDINESS_PREMIUM_IN_THE_EVENT_THAT)
[style] ~176-~176: ‘completely finished’ might be wordy. Consider a shorter alternative.
Context: ...running 1:1 support chat). When you are completely finished with a room, you may release
it which...
(EN_WORDINESS_PREMIUM_COMPLETELY_FINISHED)
[uncategorized] ~182-~182: Use a comma before ‘and’ if it connects two independent clauses (unless they are closely connected and short).
Context: ...is called, the room will become unusable and you will need to get a new instance usi...
(COMMA_COMPOUND_SENTENCE)
[uncategorized] ~223-~223: Use a comma before ‘and’ if it connects two independent clauses (unless they are closely connected and short).
Context: ...nection, continuity cannot be guaranteed and you'll need to take steps to recover me...
(COMMA_COMPOUND_SENTENCE)
[style] ~327-~327: Consider shortening or rephrasing this to strengthen your wording.
Context: ...the presence data Updates allow you to make changes to the custom data associated with a prese...
(MAKE_CHANGES)
[style] ~467-~467: Consider a shorter alternative to avoid wordiness.
Context: ...in the Example
directory. In order to allow the app to use modern SwiftUI fea...
(IN_ORDER_TO_PREMIUM)
🪛 Markdownlint (0.35.0)
60-60: Expected: 2; Actual: 4
Unordered list indentation
(MD007, ul-indent)
63-63: Expected: 2; Actual: 4
Unordered list indentation
(MD007, ul-indent)
65-65: Expected: 2; Actual: 4
Unordered list indentation
(MD007, ul-indent)
baa95b3
to
83ee75e
Compare
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: 0
🧹 Outside diff range and nitpick comments (2)
README.md (2)
46-49
: Fix grammatical issues
- Consider rephrasing "participation" to improve readability
- Add missing period in the abbreviation "i.e."
-rooms for 1:1, 1:many, many:1 and many:many participation. +rooms supporting 1:1, 1:many, many:1 and many:many communication. -Chat room occupancy, i.e total number +Chat room occupancy, i.e. total number🧰 Tools
🪛 LanguageTool
[grammar] ~46-~46: Possible agreement error. The noun participation seems to be uncountable; consider using: “much participation”, “a good deal of participation”.
Context: ... rooms for 1:1, 1:many, many:1 and many:many participation. - Sending and receiving chat messages....(MANY_NN_U)
[uncategorized] ~49-~49: The abbreviation “i.e.” (= that is) requires two periods.
Context: ...at participants. - Chat room occupancy, i.e total number of connections and presenc...(I_E)
491-491
: Fix hyphenation in compound wordThe term "side-effects" should not be hyphenated.
-**Warning**: You should not attempt to change the state of a channel directly. Doing so may cause unintended side-effects in the Chat SDK. +**Warning**: You should not attempt to change the state of a channel directly. Doing so may cause unintended side effects in the Chat SDK.🧰 Tools
🪛 LanguageTool
[misspelling] ~491-~491: Did you mean “side effects” (=adverse effect, unintended consequence)? Open compounds are not hyphenated.
Context: ...directly. Doing so may cause unintended side-effects in the Chat SDK. ### Channels Used Fo...(AFFECT_EFFECT)
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
⛔ Files ignored due to path filters (1)
images/ably-chat-github-header.png
is excluded by!**/*.png
📒 Files selected for processing (1)
README.md
(3 hunks)
🧰 Additional context used
🪛 LanguageTool
README.md
[grammar] ~46-~46: Possible agreement error. The noun participation seems to be uncountable; consider using: “much participation”, “a good deal of participation”.
Context: ... rooms for 1:1, 1:many, many:1 and many:many participation. - Sending and receiving chat messages....
(MANY_NN_U)
[uncategorized] ~49-~49: The abbreviation “i.e.” (= that is) requires two periods.
Context: ...at participants. - Chat room occupancy, i.e total number of connections and presenc...
(I_E)
[grammar] ~59-~59: You used an adverb (‘Ably’) instead of an adjective, or a noun (‘account’) instead of another adjective.
Context: ...need the following prerequisites: - An Ably account - You can [sign up](https://ably.co...
(A_RB_NN)
[grammar] ~62-~62: You used an adverb (‘Ably’) instead of an adjective, or a noun (‘API’) instead of another adjective.
Context: ...ignup) to the generous free tier. - An Ably API key - Use the default or create a n...
(A_RB_NN)
[typographical] ~79-~79: The word “however” is an adverb that can’t be used like a conjunction, and therefore needs to be separated from the sentence.
Context: ...he API Key directly for testing purposes, however it is strongly recommended that you use...
(HOWEVER_SENTENCE)
[style] ~144-~144: Consider a shorter alternative to avoid wordiness.
Context: ...ing: TypingOptions(timeout: 3.0))) ``` In order to use the same room but with different op...
(IN_ORDER_TO_PREMIUM)
[uncategorized] ~170-~170: Use a comma before ‘and’ if it connects two independent clauses (unless they are closely connected and short).
Context: ... any event listeners you have registered and they will begin to receive events again...
(COMMA_COMPOUND_SENTENCE)
[style] ~170-~170: ‘in the event that’ might be wordy. Consider a shorter alternative.
Context: ...they will begin to receive events again in the event that the room is re-attached. ### Releasing...
(EN_WORDINESS_PREMIUM_IN_THE_EVENT_THAT)
[style] ~176-~176: ‘completely finished’ might be wordy. Consider a shorter alternative.
Context: ...running 1:1 support chat). When you are completely finished with a room, you may release
it which...
(EN_WORDINESS_PREMIUM_COMPLETELY_FINISHED)
[uncategorized] ~182-~182: Use a comma before ‘and’ if it connects two independent clauses (unless they are closely connected and short).
Context: ...is called, the room will become unusable and you will need to get a new instance usi...
(COMMA_COMPOUND_SENTENCE)
[uncategorized] ~223-~223: Use a comma before ‘and’ if it connects two independent clauses (unless they are closely connected and short).
Context: ...nection, continuity cannot be guaranteed and you'll need to take steps to recover me...
(COMMA_COMPOUND_SENTENCE)
[style] ~327-~327: Consider shortening or rephrasing this to strengthen your wording.
Context: ...the presence data Updates allow you to make changes to the custom data associated with a prese...
(MAKE_CHANGES)
[misspelling] ~491-~491: Did you mean “side effects” (=adverse effect, unintended consequence)? Open compounds are not hyphenated.
Context: ...directly. Doing so may cause unintended side-effects in the Chat SDK. ### Channels Used Fo...
(AFFECT_EFFECT)
🪛 Markdownlint (0.35.0)
README.md
60-60: Expected: 2; Actual: 4
Unordered list indentation
(MD007, ul-indent)
63-63: Expected: 2; Actual: 4
Unordered list indentation
(MD007, ul-indent)
65-65: Expected: 2; Actual: 4
Unordered list indentation
(MD007, ul-indent)
513-513: null
Bare URL used
(MD034, no-bare-urls)
🔇 Additional comments (4)
README.md (4)
4-6
: Fix incorrect badge URLs
The license badge URL still points to an unrelated repository (3scale/saas-operator
).
- <img src="https://badgen.net/github/license/3scale/saas-operator" alt="License" />
+ <img src="https://badgen.net/github/license/ably/ably-chat-swift" alt="License" />
71-77
: Add missing import statements
The code example should show the required imports for better clarity.
+import Ably
+import AblyChat
+
let realtimeOptions = ARTClientOptions()
150-152
: Use Swift-appropriate terminology
Replace JavaScript Promise terminology with Swift-appropriate terms.
-If a `get` call is currently in progress for the room and `release` is called, the `get` call will reject.
+If a `get` call is currently in progress for the room and `release` is called, the `get` call will fail.
513-514
: Fix support links formatting
The support URL should be properly formatted as a Markdown link.
-Please visit http://support.ably.com/ for access to our knowledge base and to ask for any assistance. You can also view
-the community reported [Github issues](https://github.com/ably/ably-chat-kotlin/issues) or raise one yourself.
+Please visit [our support site](http://support.ably.com/) for access to our knowledge base and to ask for any assistance. You can also view
+the community reported [Github issues](https://github.com/ably/ably-chat-swift/issues) or raise one yourself.
🧰 Tools
🪛 Markdownlint (0.35.0)
513-513: null
Bare URL used
(MD034, no-bare-urls)
83ee75e
to
3b557c3
Compare
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: 0
🧹 Outside diff range and nitpick comments (2)
README.md (2)
497-503
: Clarify shared channel usageThe table shows that Messages, Presence, and Occupancy share the same channel. Consider adding a note explaining why these features share a channel for better understanding.
43-43
: Fix grammatical and typographical issuesA few minor issues need attention:
- Missing comma after "features" (line 43)
- Missing period in "i.e." abbreviation (line 49)
- "side-effects" should be "side effects" (line 491)
-This project is under development so we will be incrementally adding new features +This project is under development, so we will be incrementally adding new features -Chat room occupancy, i.e total number +Chat room occupancy, i.e., total number -unintended side-effects +unintended side effectsAlso applies to: 49-49, 491-491
🧰 Tools
🪛 LanguageTool
[uncategorized] ~43-~43: Possible missing comma found.
Context: ...ed chat features This project is under development so we will be incrementally adding new ...(AI_HYDRA_LEO_MISSING_COMMA)
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
📒 Files selected for processing (1)
README.md
(3 hunks)
🧰 Additional context used
🪛 LanguageTool
README.md
[uncategorized] ~43-~43: Possible missing comma found.
Context: ...ed chat features This project is under development so we will be incrementally adding new ...
(AI_HYDRA_LEO_MISSING_COMMA)
[grammar] ~46-~46: Possible agreement error. The noun participation seems to be uncountable; consider using: “much participation”, “a good deal of participation”.
Context: ... rooms for 1:1, 1:many, many:1 and many:many participation. - Sending and receiving chat messages....
(MANY_NN_U)
[uncategorized] ~49-~49: The abbreviation “i.e.” (= that is) requires two periods.
Context: ...at participants. - Chat room occupancy, i.e total number of connections and presenc...
(I_E)
[grammar] ~59-~59: You used an adverb (‘Ably’) instead of an adjective, or a noun (‘account’) instead of another adjective.
Context: ...need the following prerequisites: - An Ably account - You can [sign up](https://ably.co...
(A_RB_NN)
[grammar] ~62-~62: You used an adverb (‘Ably’) instead of an adjective, or a noun (‘API’) instead of another adjective.
Context: ...ignup) to the generous free tier. - An Ably API key - Use the default or create a n...
(A_RB_NN)
[typographical] ~79-~79: The word “however” is an adverb that can’t be used like a conjunction, and therefore needs to be separated from the sentence.
Context: ...he API Key directly for testing purposes, however it is strongly recommended that you use...
(HOWEVER_SENTENCE)
[uncategorized] ~83-~83: Possible missing comma found.
Context: ...en) in production environments. To use Chat you must also set a [clientId
](https:...
(AI_HYDRA_LEO_MISSING_COMMA)
[style] ~144-~144: Consider a shorter alternative to avoid wordiness.
Context: ...ing: TypingOptions(timeout: 3.0))) ``` In order to use the same room but with different op...
(IN_ORDER_TO_PREMIUM)
[uncategorized] ~170-~170: Use a comma before ‘and’ if it connects two independent clauses (unless they are closely connected and short).
Context: ... any event listeners you have registered and they will begin to receive events again...
(COMMA_COMPOUND_SENTENCE)
[style] ~170-~170: ‘in the event that’ might be wordy. Consider a shorter alternative.
Context: ...they will begin to receive events again in the event that the room is re-attached. ### Releasing...
(EN_WORDINESS_PREMIUM_IN_THE_EVENT_THAT)
[style] ~176-~176: ‘completely finished’ might be wordy. Consider a shorter alternative.
Context: ...running 1:1 support chat). When you are completely finished with a room, you may release
it which...
(EN_WORDINESS_PREMIUM_COMPLETELY_FINISHED)
[uncategorized] ~176-~176: Possible missing comma found.
Context: ...finished with a room, you may release
it which allows the underlying resources t...
(AI_HYDRA_LEO_MISSING_COMMA)
[uncategorized] ~182-~182: Use a comma before ‘and’ if it connects two independent clauses (unless they are closely connected and short).
Context: ...is called, the room will become unusable and you will need to get a new instance usi...
(COMMA_COMPOUND_SENTENCE)
[uncategorized] ~223-~223: Use a comma before ‘and’ if it connects two independent clauses (unless they are closely connected and short).
Context: ...nection, continuity cannot be guaranteed and you'll need to take steps to recover me...
(COMMA_COMPOUND_SENTENCE)
[uncategorized] ~243-~243: Possible missing comma found.
Context: ...ming messages To subscribe to incoming messages you create a subscription for the room ...
(AI_HYDRA_LEO_MISSING_COMMA)
[style] ~327-~327: Consider shortening or rephrasing this to strengthen your wording.
Context: ...the presence data Updates allow you to make changes to the custom data associated with a prese...
(MAKE_CHANGES)
[uncategorized] ~381-~381: It seems likely that a singular genitive (’s) apostrophe is missing.
Context: ...s to start will reset the timer, so the clients typing status will remain active. ### ...
(AI_HYDRA_LEO_APOSTROPHE_S_XS)
[misspelling] ~491-~491: Did you mean “side effects” (=adverse effect, unintended consequence)? Open compounds are not hyphenated.
Context: ...directly. Doing so may cause unintended side-effects in the Chat SDK. ### Channels Used Fo...
(AFFECT_EFFECT)
🪛 Markdownlint (0.35.0)
README.md
60-60: Expected: 2; Actual: 4
Unordered list indentation
(MD007, ul-indent)
63-63: Expected: 2; Actual: 4
Unordered list indentation
(MD007, ul-indent)
65-65: Expected: 2; Actual: 4
Unordered list indentation
(MD007, ul-indent)
513-513: null
Bare URL used
(MD034, no-bare-urls)
🔇 Additional comments (3)
README.md (3)
4-6
: Fix incorrect badge URLs
The license badge URL still points to an unrelated repository (3scale/saas-operator
).
- <img src="https://badgen.net/github/license/3scale/saas-operator" alt="License" />
+ <img src="https://badgen.net/github/license/ably/ably-chat-swift" alt="License" />
513-514
: Fix support links formatting
The support URL should be properly formatted as a Markdown link.
-Please visit http://support.ably.com/ for access to our knowledge base and to ask for any assistance. You can also view
-the community reported [Github issues](https://github.com/ably/ably-chat-swift/issues) or raise one yourself.
+Please visit [our support site](http://support.ably.com/) for access to our knowledge base and to ask for any assistance. You can also view
+the community reported [GitHub issues](https://github.com/ably/ably-chat-swift/issues) or raise one yourself.
🧰 Tools
🪛 Markdownlint (0.35.0)
513-513: null
Bare URL used
(MD034, no-bare-urls)
71-77
: 🛠️ Refactor suggestion
Add import statements to the code example
The initialization example should show the required imports for better clarity.
+import Ably
+import AblyChat
+
let realtimeOptions = ARTClientOptions()
realtimeOptions.key = "<API_KEY>"
realtimeOptions.clientId = "<clientId>"
let realtime = ARTRealtime(options: realtimeOptions)
let chatClient = DefaultChatClient(realtime: realtime, clientOptions: nil)
Likely invalid or redundant comment.
3b557c3
to
82c0f54
Compare
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: 0
🧹 Outside diff range and nitpick comments (3)
README.md (3)
46-49
: Fix grammatical issues in the features listThere are a few grammatical issues in the features list:
- The phrase "many:many participation" would read better as "many-to-many participation"
- The abbreviation "i.e" should be "i.e." (with a period) and followed by a comma
-rooms for 1:1, 1:many, many:1 and many:many participation. +rooms for 1:1, 1:many, many:1 and many-to-many participation. -Chat room occupancy, i.e total number +Chat room occupancy, i.e., total number🧰 Tools
🪛 LanguageTool
[grammar] ~46-~46: Possible agreement error. The noun participation seems to be uncountable; consider using: “much participation”, “a good deal of participation”.
Context: ... rooms for 1:1, 1:many, many:1 and many:many participation. - Sending and receiving chat messages....(MANY_NN_U)
[uncategorized] ~49-~49: The abbreviation “i.e.” (= that is) requires two periods.
Context: ...at participants. - Chat room occupancy, i.e total number of connections and presenc...(I_E)
82-84
: Improve sentence structureThe sentence using "however" should be restructured for better readability.
-You can use [basic authentication](https://ably.com/docs/auth/basic) i.e. the API Key directly for testing purposes, however it is strongly recommended that you use [token authentication](https://ably.com/docs/auth/token) in production environments. +You can use [basic authentication](https://ably.com/docs/auth/basic) i.e., the API Key directly for testing purposes. However, it is strongly recommended that you use [token authentication](https://ably.com/docs/auth/token) in production environments.🧰 Tools
🪛 LanguageTool
[typographical] ~82-~82: The word “however” is an adverb that can’t be used like a conjunction, and therefore needs to be separated from the sentence.
Context: ...he API Key directly for testing purposes, however it is strongly recommended that you use...(HOWEVER_SENTENCE)
469-469
: Consider adding example app features overviewConsider adding a brief overview of what features the example app demonstrates, to help users understand what they can learn from it.
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
📒 Files selected for processing (1)
README.md
(3 hunks)
🧰 Additional context used
🪛 LanguageTool
README.md
[grammar] ~46-~46: Possible agreement error. The noun participation seems to be uncountable; consider using: “much participation”, “a good deal of participation”.
Context: ... rooms for 1:1, 1:many, many:1 and many:many participation. - Sending and receiving chat messages....
(MANY_NN_U)
[uncategorized] ~49-~49: The abbreviation “i.e.” (= that is) requires two periods.
Context: ...at participants. - Chat room occupancy, i.e total number of connections and presenc...
(I_E)
[grammar] ~59-~59: You used an adverb (‘Ably’) instead of an adjective, or a noun (‘account’) instead of another adjective.
Context: ...need the following prerequisites: - An Ably account - You can [sign up](https://ably.co...
(A_RB_NN)
[grammar] ~62-~62: You used an adverb (‘Ably’) instead of an adjective, or a noun (‘API’) instead of another adjective.
Context: ...ignup) to the generous free tier. - An Ably API key - Use the default or create a n...
(A_RB_NN)
[typographical] ~82-~82: The word “however” is an adverb that can’t be used like a conjunction, and therefore needs to be separated from the sentence.
Context: ...he API Key directly for testing purposes, however it is strongly recommended that you use...
(HOWEVER_SENTENCE)
[style] ~147-~147: Consider a shorter alternative to avoid wordiness.
Context: ...ing: TypingOptions(timeout: 3.0))) ``` In order to use the same room but with different op...
(IN_ORDER_TO_PREMIUM)
[uncategorized] ~173-~173: Use a comma before ‘and’ if it connects two independent clauses (unless they are closely connected and short).
Context: ... any event listeners you have registered and they will begin to receive events again...
(COMMA_COMPOUND_SENTENCE)
[style] ~173-~173: ‘in the event that’ might be wordy. Consider a shorter alternative.
Context: ...they will begin to receive events again in the event that the room is re-attached. ### Releasing...
(EN_WORDINESS_PREMIUM_IN_THE_EVENT_THAT)
[style] ~179-~179: ‘completely finished’ might be wordy. Consider a shorter alternative.
Context: ...running 1:1 support chat). When you are completely finished with a room, you may release
it which...
(EN_WORDINESS_PREMIUM_COMPLETELY_FINISHED)
[uncategorized] ~185-~185: Use a comma before ‘and’ if it connects two independent clauses (unless they are closely connected and short).
Context: ...is called, the room will become unusable and you will need to get a new instance usi...
(COMMA_COMPOUND_SENTENCE)
[uncategorized] ~226-~226: Use a comma before ‘and’ if it connects two independent clauses (unless they are closely connected and short).
Context: ...nection, continuity cannot be guaranteed and you'll need to take steps to recover me...
(COMMA_COMPOUND_SENTENCE)
[style] ~330-~330: Consider shortening or rephrasing this to strengthen your wording.
Context: ...the presence data Updates allow you to make changes to the custom data associated with a prese...
(MAKE_CHANGES)
[misspelling] ~494-~494: Did you mean “side effects” (=adverse effect, unintended consequence)? Open compounds are not hyphenated.
Context: ...directly. Doing so may cause unintended side-effects in the Chat SDK. ### Channels Used Fo...
(AFFECT_EFFECT)
🪛 Markdownlint (0.35.0)
README.md
60-60: Expected: 2; Actual: 4
Unordered list indentation
(MD007, ul-indent)
63-63: Expected: 2; Actual: 4
Unordered list indentation
(MD007, ul-indent)
65-65: Expected: 2; Actual: 4
Unordered list indentation
(MD007, ul-indent)
516-516: null
Bare URL used
(MD034, no-bare-urls)
🔇 Additional comments (4)
README.md (4)
4-6
: Fix incorrect badge URLs
The license badge URL still points to an unrelated repository (3scale/saas-operator
). Update it to point to this repository.
- <img src="https://badgen.net/github/license/3scale/saas-operator" alt="License" />
+ <img src="https://badgen.net/github/license/ably/ably-chat-swift" alt="License" />
516-517
: Fix support links
The support URL should be properly formatted as a Markdown link.
-Please visit http://support.ably.com/ for access to our knowledge base and to ask for any assistance. You can also view
-the community reported [Github issues](https://github.com/ably/ably-chat-swift/issues) or raise one yourself.
+Please visit [our support site](http://support.ably.com/) for access to our knowledge base and to ask for any assistance. You can also view
+the community reported [GitHub issues](https://github.com/ably/ably-chat-swift/issues) or raise one yourself.
🧰 Tools
🪛 Markdownlint (0.35.0)
516-516: null
Bare URL used
(MD034, no-bare-urls)
Line range hint 1-524
: Overall documentation looks great!
The README is comprehensive, well-structured, and provides clear guidance for users. The identified issues are minor and once addressed, this will be an excellent documentation resource for the SDK.
🧰 Tools
🪛 LanguageTool
[grammar] ~46-~46: Possible agreement error. The noun participation seems to be uncountable; consider using: “much participation”, “a good deal of participation”.
Context: ... rooms for 1:1, 1:many, many:1 and many:many participation. - Sending and receiving chat messages....
(MANY_NN_U)
[uncategorized] ~49-~49: The abbreviation “i.e.” (= that is) requires two periods.
Context: ...at participants. - Chat room occupancy, i.e total number of connections and presenc...
(I_E)
[grammar] ~59-~59: You used an adverb (‘Ably’) instead of an adjective, or a noun (‘account’) instead of another adjective.
Context: ...need the following prerequisites: - An Ably account - You can [sign up](https://ably.co...
(A_RB_NN)
[grammar] ~62-~62: You used an adverb (‘Ably’) instead of an adjective, or a noun (‘API’) instead of another adjective.
Context: ...ignup) to the generous free tier. - An Ably API key - Use the default or create a n...
(A_RB_NN)
[typographical] ~82-~82: The word “however” is an adverb that can’t be used like a conjunction, and therefore needs to be separated from the sentence.
Context: ...he API Key directly for testing purposes, however it is strongly recommended that you use...
(HOWEVER_SENTENCE)
[style] ~147-~147: Consider a shorter alternative to avoid wordiness.
Context: ...ing: TypingOptions(timeout: 3.0))) ``` In order to use the same room but with different op...
(IN_ORDER_TO_PREMIUM)
[uncategorized] ~173-~173: Use a comma before ‘and’ if it connects two independent clauses (unless they are closely connected and short).
Context: ... any event listeners you have registered and they will begin to receive events again...
(COMMA_COMPOUND_SENTENCE)
[style] ~173-~173: ‘in the event that’ might be wordy. Consider a shorter alternative.
Context: ...they will begin to receive events again in the event that the room is re-attached. ### Releasing...
(EN_WORDINESS_PREMIUM_IN_THE_EVENT_THAT)
[style] ~179-~179: ‘completely finished’ might be wordy. Consider a shorter alternative.
Context: ...running 1:1 support chat). When you are completely finished with a room, you may release
it which...
(EN_WORDINESS_PREMIUM_COMPLETELY_FINISHED)
[uncategorized] ~185-~185: Use a comma before ‘and’ if it connects two independent clauses (unless they are closely connected and short).
Context: ...is called, the room will become unusable and you will need to get a new instance usi...
(COMMA_COMPOUND_SENTENCE)
[uncategorized] ~226-~226: Use a comma before ‘and’ if it connects two independent clauses (unless they are closely connected and short).
Context: ...nection, continuity cannot be guaranteed and you'll need to take steps to recover me...
(COMMA_COMPOUND_SENTENCE)
[style] ~330-~330: Consider shortening or rephrasing this to strengthen your wording.
Context: ...the presence data Updates allow you to make changes to the custom data associated with a prese...
(MAKE_CHANGES)
[style] ~470-~470: Consider a shorter alternative to avoid wordiness.
Context: ...in the Example
directory. In order to allow the app to use modern SwiftUI fea...
(IN_ORDER_TO_PREMIUM)
🪛 Markdownlint (0.35.0)
60-60: Expected: 2; Actual: 4
Unordered list indentation
(MD007, ul-indent)
63-63: Expected: 2; Actual: 4
Unordered list indentation
(MD007, ul-indent)
65-65: Expected: 2; Actual: 4
Unordered list indentation
(MD007, ul-indent)
38-38
: Verify version number consistency
The package version in the installation example should match the version badge shown at the top of the README (which shows 0.1.0-SNAPSHOT).
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.
Looks good, just need to sort out the linting issue and then I'll resolve that conversation
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: 0
🧹 Outside diff range and nitpick comments (3)
README.md (3)
46-51
: Fix grammatical issues in features listPlease address the following:
- Add period after "i.e." in "i.e total number"
- Consider consistent formatting for list items (all items should end with periods)
-Chat room occupancy, i.e total number of connections and presence members. +Chat room occupancy, i.e., total number of connections and presence members.🧰 Tools
🪛 LanguageTool
[grammar] ~46-~46: Possible agreement error. The noun participation seems to be uncountable; consider using: “much participation”, “a good deal of participation”.
Context: ... rooms for 1:1, 1:many, many:1 and many:many participation. - Sending and receiving chat messages....(MANY_NN_U)
[uncategorized] ~49-~49: The abbreviation “i.e.” (= that is) requires two periods.
Context: ...at participants. - Chat room occupancy, i.e total number of connections and presenc...(I_E)
498-498
: Fix hyphenation in warning message"side-effects" should be "side effects" as it's an open compound.
-**Warning**: You should not attempt to change the state of a channel directly. Doing so may cause unintended side-effects in the Chat SDK. +**Warning**: You should not attempt to change the state of a channel directly. Doing so may cause unintended side effects in the Chat SDK.🧰 Tools
🪛 LanguageTool
[misspelling] ~498-~498: Did you mean “side effects” (=adverse effect, unintended consequence)? Open compounds are not hyphenated.
Context: ...directly. Doing so may cause unintended side-effects in the Chat SDK. ### Channels Used Fo...(AFFECT_EFFECT)
504-510
: Consider enhancing the channels tableThe table shows that Messages, Presence, and Occupancy all use the same channel. Consider adding a note explaining why these features share the same channel and how they interact.
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
📒 Files selected for processing (1)
README.md
(3 hunks)
🧰 Additional context used
🪛 LanguageTool
README.md
[grammar] ~46-~46: Possible agreement error. The noun participation seems to be uncountable; consider using: “much participation”, “a good deal of participation”.
Context: ... rooms for 1:1, 1:many, many:1 and many:many participation. - Sending and receiving chat messages....
(MANY_NN_U)
[uncategorized] ~49-~49: The abbreviation “i.e.” (= that is) requires two periods.
Context: ...at participants. - Chat room occupancy, i.e total number of connections and presenc...
(I_E)
[grammar] ~59-~59: You used an adverb (‘Ably’) instead of an adjective, or a noun (‘account’) instead of another adjective.
Context: ...need the following prerequisites: - An Ably account - You can [sign up](https://ably.com...
(A_RB_NN)
[grammar] ~63-~63: You used an adverb (‘Ably’) instead of an adjective, or a noun (‘API’) instead of another adjective.
Context: ...ignup) to the generous free tier. - An Ably API key - Use the default or create a new...
(A_RB_NN)
[typographical] ~83-~83: The word “however” is an adverb that can’t be used like a conjunction, and therefore needs to be separated from the sentence.
Context: ...he API Key directly for testing purposes, however it is strongly recommended that you use...
(HOWEVER_SENTENCE)
[uncategorized] ~87-~87: Possible missing comma found.
Context: ...en) in production environments. To use Chat you must also set a [clientId
](https:...
(AI_HYDRA_LEO_MISSING_COMMA)
[style] ~148-~148: Consider a shorter alternative to avoid wordiness.
Context: ...ing: TypingOptions(timeout: 3.0))) ``` In order to use the same room but with different op...
(IN_ORDER_TO_PREMIUM)
[uncategorized] ~174-~174: Use a comma before ‘and’ if it connects two independent clauses (unless they are closely connected and short).
Context: ... any event listeners you have registered and they will begin to receive events again...
(COMMA_COMPOUND_SENTENCE)
[style] ~174-~174: ‘in the event that’ might be wordy. Consider a shorter alternative.
Context: ...they will begin to receive events again in the event that the room is re-attached. ### Releasing...
(EN_WORDINESS_PREMIUM_IN_THE_EVENT_THAT)
[style] ~180-~180: ‘completely finished’ might be wordy. Consider a shorter alternative.
Context: ...running 1:1 support chat). When you are completely finished with a room, you may release
it which...
(EN_WORDINESS_PREMIUM_COMPLETELY_FINISHED)
[uncategorized] ~180-~180: Possible missing comma found.
Context: ...finished with a room, you may release
it which allows the underlying resources t...
(AI_HYDRA_LEO_MISSING_COMMA)
[uncategorized] ~186-~186: Use a comma before ‘and’ if it connects two independent clauses (unless they are closely connected and short).
Context: ...is called, the room will become unusable and you will need to get a new instance usi...
(COMMA_COMPOUND_SENTENCE)
[uncategorized] ~227-~227: Use a comma before ‘and’ if it connects two independent clauses (unless they are closely connected and short).
Context: ...nection, continuity cannot be guaranteed and you'll need to take steps to recover me...
(COMMA_COMPOUND_SENTENCE)
[uncategorized] ~229-~229: Possible missing comma found.
Context: ...an subscribeToDiscontinuities
method. Here you can register a listener that will b...
(AI_HYDRA_LEO_MISSING_COMMA)
[uncategorized] ~247-~247: Possible missing comma found.
Context: ...ming messages To subscribe to incoming messages you create a subscription for the room ...
(AI_HYDRA_LEO_MISSING_COMMA)
[uncategorized] ~268-~268: Possible missing comma found.
Context: ... messages object also exposes the get
method which can be used to request historical...
(AI_HYDRA_LEO_MISSING_COMMA)
[style] ~331-~331: Consider shortening or rephrasing this to strengthen your wording.
Context: ...the presence data Updates allow you to make changes to the custom data associated with a prese...
(MAKE_CHANGES)
[uncategorized] ~385-~385: It seems likely that a singular genitive (’s) apostrophe is missing.
Context: ...s to start will reset the timer, so the clients typing status will remain active. ### ...
(AI_HYDRA_LEO_APOSTROPHE_S_XS)
[misspelling] ~498-~498: Did you mean “side effects” (=adverse effect, unintended consequence)? Open compounds are not hyphenated.
Context: ...directly. Doing so may cause unintended side-effects in the Chat SDK. ### Channels Used Fo...
(AFFECT_EFFECT)
🪛 Markdownlint (0.35.0)
README.md
520-520: null
Bare URL used
(MD034, no-bare-urls)
🔇 Additional comments (3)
README.md (3)
3-7
: Fix incorrect badge URLs
The badge URLs need to be updated:
- The license badge URL points to an unrelated repository (
3scale/saas-operator
) - Consider adding a coverage badge that points to the correct workflow
- <img src="https://badgen.net/github/license/3scale/saas-operator" alt="License" />
+ <img src="https://badgen.net/github/license/ably/ably-chat-swift" alt="License" />
72-81
: Enhance code example with additional context
Consider adding:
- A note about importing both
Ably
andAblyChat
packages - Clarification about whether users need to explicitly add ably-cocoa to their Package.swift
520-521
: Fix support links
- The bare URL should be properly formatted as a Markdown link
- Consider making the GitHub issues link more descriptive
-Please visit http://support.ably.com/ for access to our knowledge base and to ask for any assistance.
+Please visit [our support site](http://support.ably.com/) for access to our knowledge base and to ask for any assistance.
🧰 Tools
🪛 Markdownlint (0.35.0)
520-520: null
Bare URL used
(MD034, no-bare-urls)
0b0fc36
to
f955260
Compare
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: 0
🧹 Outside diff range and nitpick comments (2)
README.md (2)
43-44
: Fix grammatical issues in features list
- Add a period after "chat features"
- Fix the abbreviation "i.e." to include both periods
-This project is under development so we will be incrementally adding new chat features +This project is under development so we will be incrementally adding new chat features. -Chat room occupancy, i.e total number of connections +Chat room occupancy, i.e., total number of connectionsAlso applies to: 49-49
🧰 Tools
🪛 LanguageTool
[uncategorized] ~43-~43: Possible missing comma found.
Context: ...ed chat features This project is under development so we will be incrementally adding new ...(AI_HYDRA_LEO_MISSING_COMMA)
180-180
: Improve readability with proper punctuationAdd missing commas in the following sentences:
- "When you are completely finished with a room, you may
release
it, which allows..."- "To subscribe to incoming messages, you create..."
- "The messages object also exposes the
get
method, which can..."Also applies to: 247-247, 268-268
🧰 Tools
🪛 LanguageTool
[style] ~180-~180: ‘completely finished’ might be wordy. Consider a shorter alternative.
Context: ...running 1:1 support chat). When you are completely finished with a room, you mayrelease
it which...(EN_WORDINESS_PREMIUM_COMPLETELY_FINISHED)
[uncategorized] ~180-~180: Possible missing comma found.
Context: ...finished with a room, you mayrelease
it which allows the underlying resources t...(AI_HYDRA_LEO_MISSING_COMMA)
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
⛔ Files ignored due to path filters (1)
images/ably-chat-github-header.png
is excluded by!**/*.png
📒 Files selected for processing (1)
README.md
(3 hunks)
🧰 Additional context used
🪛 LanguageTool
README.md
[uncategorized] ~43-~43: Possible missing comma found.
Context: ...ed chat features This project is under development so we will be incrementally adding new ...
(AI_HYDRA_LEO_MISSING_COMMA)
[grammar] ~46-~46: Possible agreement error. The noun participation seems to be uncountable; consider using: “much participation”, “a good deal of participation”.
Context: ... rooms for 1:1, 1:many, many:1 and many:many participation. - Sending and receiving chat messages....
(MANY_NN_U)
[uncategorized] ~49-~49: The abbreviation “i.e.” (= that is) requires two periods.
Context: ...at participants. - Chat room occupancy, i.e total number of connections and presenc...
(I_E)
[grammar] ~59-~59: You used an adverb (‘Ably’) instead of an adjective, or a noun (‘account’) instead of another adjective.
Context: ...need the following prerequisites: - An Ably account - You can [sign up](https://ably.com...
(A_RB_NN)
[grammar] ~63-~63: You used an adverb (‘Ably’) instead of an adjective, or a noun (‘API’) instead of another adjective.
Context: ...ignup) to the generous free tier. - An Ably API key - Use the default or create a new...
(A_RB_NN)
[typographical] ~83-~83: The word “however” is an adverb that can’t be used like a conjunction, and therefore needs to be separated from the sentence.
Context: ...he API Key directly for testing purposes, however it is strongly recommended that you use...
(HOWEVER_SENTENCE)
[style] ~148-~148: Consider a shorter alternative to avoid wordiness.
Context: ...ing: TypingOptions(timeout: 3.0))) ``` In order to use the same room but with different op...
(IN_ORDER_TO_PREMIUM)
[uncategorized] ~174-~174: Use a comma before ‘and’ if it connects two independent clauses (unless they are closely connected and short).
Context: ... any event listeners you have registered and they will begin to receive events again...
(COMMA_COMPOUND_SENTENCE)
[style] ~174-~174: ‘in the event that’ might be wordy. Consider a shorter alternative.
Context: ...they will begin to receive events again in the event that the room is re-attached. ### Releasing...
(EN_WORDINESS_PREMIUM_IN_THE_EVENT_THAT)
[style] ~180-~180: ‘completely finished’ might be wordy. Consider a shorter alternative.
Context: ...running 1:1 support chat). When you are completely finished with a room, you may release
it which...
(EN_WORDINESS_PREMIUM_COMPLETELY_FINISHED)
[uncategorized] ~180-~180: Possible missing comma found.
Context: ...finished with a room, you may release
it which allows the underlying resources t...
(AI_HYDRA_LEO_MISSING_COMMA)
[uncategorized] ~186-~186: Use a comma before ‘and’ if it connects two independent clauses (unless they are closely connected and short).
Context: ...is called, the room will become unusable and you will need to get a new instance usi...
(COMMA_COMPOUND_SENTENCE)
[uncategorized] ~227-~227: Use a comma before ‘and’ if it connects two independent clauses (unless they are closely connected and short).
Context: ...nection, continuity cannot be guaranteed and you'll need to take steps to recover me...
(COMMA_COMPOUND_SENTENCE)
[uncategorized] ~247-~247: Possible missing comma found.
Context: ...ming messages To subscribe to incoming messages you create a subscription for the room ...
(AI_HYDRA_LEO_MISSING_COMMA)
[uncategorized] ~268-~268: Possible missing comma found.
Context: ... messages object also exposes the get
method which can be used to request historical...
(AI_HYDRA_LEO_MISSING_COMMA)
[style] ~331-~331: Consider shortening or rephrasing this to strengthen your wording.
Context: ...the presence data Updates allow you to make changes to the custom data associated with a prese...
(MAKE_CHANGES)
[uncategorized] ~385-~385: It seems likely that a singular genitive (’s) apostrophe is missing.
Context: ...s to start will reset the timer, so the clients typing status will remain active. ### ...
(AI_HYDRA_LEO_APOSTROPHE_S_XS)
[misspelling] ~498-~498: Did you mean “side effects” (=adverse effect, unintended consequence)? Open compounds are not hyphenated.
Context: ...directly. Doing so may cause unintended side-effects in the Chat SDK. ### Channels Used Fo...
(AFFECT_EFFECT)
🪛 Markdownlint (0.35.0)
README.md
520-520: null
Bare URL used
(MD034, no-bare-urls)
🔇 Additional comments (3)
README.md (3)
4-6
: Fix incorrect badge URLs
The badge URLs need to be updated:
- The license badge URL points to an unrelated repository (3scale/saas-operator)
- <img src="https://badgen.net/github/license/3scale/saas-operator" alt="License" />
+ <img src="https://badgen.net/github/license/ably/ably-chat-swift" alt="License" />
520-521
: Fix support links
- The bare URL should be properly formatted as a Markdown link
-Please visit http://support.ably.com/ for access to our knowledge base and to ask for any assistance. You can also view
-the community reported [Github issues](https://github.com/ably/ably-chat-kotlin/issues) or raise one yourself.
+Please visit [our support site](http://support.ably.com/) for access to our knowledge base and to ask for any assistance. You can also view
+the community reported [Github issues](https://github.com/ably/ably-chat-swift/issues) or raise one yourself.
🧰 Tools
🪛 Markdownlint (0.35.0)
520-520: null
Bare URL used
(MD034, no-bare-urls)
Line range hint 1-528
: Overall documentation quality is excellent
The README is comprehensive, well-structured, and provides clear guidance on using the SDK. The examples are clear and the technical details are accurate.
🧰 Tools
🪛 LanguageTool
[uncategorized] ~43-~43: Possible missing comma found.
Context: ...ed chat features This project is under development so we will be incrementally adding new ...
(AI_HYDRA_LEO_MISSING_COMMA)
[grammar] ~46-~46: Possible agreement error. The noun participation seems to be uncountable; consider using: “much participation”, “a good deal of participation”.
Context: ... rooms for 1:1, 1:many, many:1 and many:many participation. - Sending and receiving chat messages....
(MANY_NN_U)
[uncategorized] ~49-~49: The abbreviation “i.e.” (= that is) requires two periods.
Context: ...at participants. - Chat room occupancy, i.e total number of connections and presenc...
(I_E)
[grammar] ~59-~59: You used an adverb (‘Ably’) instead of an adjective, or a noun (‘account’) instead of another adjective.
Context: ...need the following prerequisites: - An Ably account - You can [sign up](https://ably.com...
(A_RB_NN)
[grammar] ~63-~63: You used an adverb (‘Ably’) instead of an adjective, or a noun (‘API’) instead of another adjective.
Context: ...ignup) to the generous free tier. - An Ably API key - Use the default or create a new...
(A_RB_NN)
[typographical] ~83-~83: The word “however” is an adverb that can’t be used like a conjunction, and therefore needs to be separated from the sentence.
Context: ...he API Key directly for testing purposes, however it is strongly recommended that you use...
(HOWEVER_SENTENCE)
[style] ~148-~148: Consider a shorter alternative to avoid wordiness.
Context: ...ing: TypingOptions(timeout: 3.0))) ``` In order to use the same room but with different op...
(IN_ORDER_TO_PREMIUM)
[uncategorized] ~174-~174: Use a comma before ‘and’ if it connects two independent clauses (unless they are closely connected and short).
Context: ... any event listeners you have registered and they will begin to receive events again...
(COMMA_COMPOUND_SENTENCE)
[style] ~174-~174: ‘in the event that’ might be wordy. Consider a shorter alternative.
Context: ...they will begin to receive events again in the event that the room is re-attached. ### Releasing...
(EN_WORDINESS_PREMIUM_IN_THE_EVENT_THAT)
[style] ~180-~180: ‘completely finished’ might be wordy. Consider a shorter alternative.
Context: ...running 1:1 support chat). When you are completely finished with a room, you may release
it which...
(EN_WORDINESS_PREMIUM_COMPLETELY_FINISHED)
[uncategorized] ~180-~180: Possible missing comma found.
Context: ...finished with a room, you may release
it which allows the underlying resources t...
(AI_HYDRA_LEO_MISSING_COMMA)
[uncategorized] ~186-~186: Use a comma before ‘and’ if it connects two independent clauses (unless they are closely connected and short).
Context: ...is called, the room will become unusable and you will need to get a new instance usi...
(COMMA_COMPOUND_SENTENCE)
[uncategorized] ~227-~227: Use a comma before ‘and’ if it connects two independent clauses (unless they are closely connected and short).
Context: ...nection, continuity cannot be guaranteed and you'll need to take steps to recover me...
(COMMA_COMPOUND_SENTENCE)
[uncategorized] ~247-~247: Possible missing comma found.
Context: ...ming messages To subscribe to incoming messages you create a subscription for the room ...
(AI_HYDRA_LEO_MISSING_COMMA)
[uncategorized] ~268-~268: Possible missing comma found.
Context: ... messages object also exposes the get
method which can be used to request historical...
(AI_HYDRA_LEO_MISSING_COMMA)
[style] ~331-~331: Consider shortening or rephrasing this to strengthen your wording.
Context: ...the presence data Updates allow you to make changes to the custom data associated with a prese...
(MAKE_CHANGES)
[uncategorized] ~385-~385: It seems likely that a singular genitive (’s) apostrophe is missing.
Context: ...s to start will reset the timer, so the clients typing status will remain active. ### ...
(AI_HYDRA_LEO_APOSTROPHE_S_XS)
[style] ~474-~474: Consider a shorter alternative to avoid wordiness.
Context: ...in the Example
directory. In order to allow the app to use modern SwiftUI fea...
(IN_ORDER_TO_PREMIUM)
👍 |
f955260
to
917c94c
Compare
@lawrence-forooghian I've updated this PR (removed reference to |
917c94c
to
49360b6
Compare
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: 0
🧹 Outside diff range and nitpick comments (3)
README.md (3)
43-51
: Improve readability with consistent punctuationThe features list has inconsistent punctuation. Some items end with periods while others don't.
- This project is under development so we will be incrementally adding new features. At this stage, you'll find APIs for the following chat + This project is under development, so we will be incrementally adding new features. At this stage, you'll find APIs for the following chat features: - - Chat rooms for 1:1, 1:many, many:1 and many:many participation. - - Sending and receiving chat messages. - - Online status aka presence of chat participants. - - Chat room occupancy, i.e total number of connections and presence members. - - Typing indicators - - Room-level reactions (ephemeral at this stage) + - Chat rooms for 1:1, 1:many, many:1 and many:many participation + - Sending and receiving chat messages + - Online status (aka presence of chat participants) + - Chat room occupancy (i.e., total number of connections and presence members) + - Typing indicators + - Room-level reactions (ephemeral at this stage)🧰 Tools
🪛 LanguageTool
[uncategorized] ~43-~43: Possible missing comma found.
Context: ...ed chat features This project is under development so we will be incrementally adding new ...(AI_HYDRA_LEO_MISSING_COMMA)
[grammar] ~46-~46: Possible agreement error. The noun participation seems to be uncountable; consider using: “much participation”, “a good deal of participation”.
Context: ... rooms for 1:1, 1:many, many:1 and many:many participation. - Sending and receiving chat messages....(MANY_NN_U)
[uncategorized] ~49-~49: The abbreviation “i.e.” (= that is) requires two periods.
Context: ...at participants. - Chat room occupancy, i.e total number of connections and presenc...(I_E)
72-81
: Enhance code example with error handlingThe initialization example would benefit from error handling to demonstrate best practices.
import Ably import AblyChat let realtimeOptions = ARTClientOptions() realtimeOptions.key = "<API_KEY>" realtimeOptions.clientId = "<clientId>" -let realtime = ARTRealtime(options: realtimeOptions) -let chatClient = DefaultChatClient(realtime: realtime, clientOptions: nil) +do { + let realtime = ARTRealtime(options: realtimeOptions) + let chatClient = DefaultChatClient(realtime: realtime, clientOptions: nil) + // Additional setup... +} catch { + print("Failed to initialize chat client: \(error)") +}
508-515
: Consider adding explanation for shared channelsThe table shows that Messages, Presence, and Occupancy features share the same channel (
<roomId>::$chat::$chatMessages
). It would be helpful to explain why these features are grouped together and any implications this might have.
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
⛔ Files ignored due to path filters (1)
images/ably-chat-github-header.png
is excluded by!**/*.png
📒 Files selected for processing (1)
README.md
(3 hunks)
🧰 Additional context used
🪛 LanguageTool
README.md
[uncategorized] ~43-~43: Possible missing comma found.
Context: ...ed chat features This project is under development so we will be incrementally adding new ...
(AI_HYDRA_LEO_MISSING_COMMA)
[grammar] ~46-~46: Possible agreement error. The noun participation seems to be uncountable; consider using: “much participation”, “a good deal of participation”.
Context: ... rooms for 1:1, 1:many, many:1 and many:many participation. - Sending and receiving chat messages....
(MANY_NN_U)
[uncategorized] ~49-~49: The abbreviation “i.e.” (= that is) requires two periods.
Context: ...at participants. - Chat room occupancy, i.e total number of connections and presenc...
(I_E)
[grammar] ~59-~59: You used an adverb (‘Ably’) instead of an adjective, or a noun (‘account’) instead of another adjective.
Context: ...need the following prerequisites: - An Ably account - You can [sign up](https://ably.com...
(A_RB_NN)
[grammar] ~63-~63: You used an adverb (‘Ably’) instead of an adjective, or a noun (‘API’) instead of another adjective.
Context: ...ignup) to the generous free tier. - An Ably API key - Use the default or create a new...
(A_RB_NN)
[typographical] ~83-~83: The word “however” is an adverb that can’t be used like a conjunction, and therefore needs to be separated from the sentence.
Context: ...he API Key directly for testing purposes, however it is strongly recommended that you use...
(HOWEVER_SENTENCE)
[uncategorized] ~87-~87: Possible missing comma found.
Context: ...en) in production environments. To use Chat you must also set a [clientId
](https:...
(AI_HYDRA_LEO_MISSING_COMMA)
[style] ~148-~148: Consider a shorter alternative to avoid wordiness.
Context: ...ing: TypingOptions(timeout: 3.0))) ``` In order to use the same room but with different op...
(IN_ORDER_TO_PREMIUM)
[uncategorized] ~174-~174: Use a comma before ‘and’ if it connects two independent clauses (unless they are closely connected and short).
Context: ... any event listeners you have registered and they will begin to receive events again...
(COMMA_COMPOUND_SENTENCE)
[style] ~174-~174: ‘in the event that’ might be wordy. Consider a shorter alternative.
Context: ...they will begin to receive events again in the event that the room is re-attached. ### Releasing...
(EN_WORDINESS_PREMIUM_IN_THE_EVENT_THAT)
[style] ~180-~180: ‘completely finished’ might be wordy. Consider a shorter alternative.
Context: ...running 1:1 support chat). When you are completely finished with a room, you may release
it which...
(EN_WORDINESS_PREMIUM_COMPLETELY_FINISHED)
[uncategorized] ~180-~180: Possible missing comma found.
Context: ...finished with a room, you may release
it which allows the underlying resources t...
(AI_HYDRA_LEO_MISSING_COMMA)
[uncategorized] ~186-~186: Use a comma before ‘and’ if it connects two independent clauses (unless they are closely connected and short).
Context: ...is called, the room will become unusable and you will need to get a new instance usi...
(COMMA_COMPOUND_SENTENCE)
[uncategorized] ~231-~231: Use a comma before ‘and’ if it connects two independent clauses (unless they are closely connected and short).
Context: ...nection, continuity cannot be guaranteed and you'll need to take steps to recover me...
(COMMA_COMPOUND_SENTENCE)
[uncategorized] ~233-~233: Possible missing comma found.
Context: ...an subscribeToDiscontinuities
method. Here you can register a listener that will b...
(AI_HYDRA_LEO_MISSING_COMMA)
[uncategorized] ~251-~251: Possible missing comma found.
Context: ...ming messages To subscribe to incoming messages you create a subscription for the room ...
(AI_HYDRA_LEO_MISSING_COMMA)
[uncategorized] ~272-~272: Possible missing comma found.
Context: ... messages object also exposes the get
method which can be used to request historical...
(AI_HYDRA_LEO_MISSING_COMMA)
[style] ~335-~335: Consider shortening or rephrasing this to strengthen your wording.
Context: ...the presence data Updates allow you to make changes to the custom data associated with a prese...
(MAKE_CHANGES)
[uncategorized] ~389-~389: It seems likely that a singular genitive (’s) apostrophe is missing.
Context: ...s to start will reset the timer, so the clients typing status will remain active. ### ...
(AI_HYDRA_LEO_APOSTROPHE_S_XS)
[misspelling] ~502-~502: Did you mean “side effects” (=adverse effect, unintended consequence)? Open compounds are not hyphenated.
Context: ...directly. Doing so may cause unintended side-effects in the Chat SDK. ### Channels Used Fo...
(AFFECT_EFFECT)
🪛 Markdownlint (0.35.0)
README.md
524-524: null
Bare URL used
(MD034, no-bare-urls)
🔇 Additional comments (3)
README.md (3)
4-6
: Fix incorrect badge URLs
The license badge URL still points to an unrelated repository (3scale/saas-operator
).
- <img src="https://badgen.net/github/license/3scale/saas-operator" alt="License" />
+ <img src="https://badgen.net/github/license/ably/ably-chat-swift" alt="License" />
524-525
: Fix support links formatting
The support URL should be properly formatted as a markdown link.
-Please visit http://support.ably.com/ for access to our knowledge base and to ask for any assistance. You can also view
-the community reported [Github issues](https://github.com/ably/ably-chat-swift/issues) or raise one yourself.
+Please visit [our support site](http://support.ably.com/) for access to our knowledge base and to ask for any assistance. You can also view
+the community reported [GitHub issues](https://github.com/ably/ably-chat-swift/issues) or raise one yourself.
🧰 Tools
🪛 Markdownlint (0.35.0)
524-524: null
Bare URL used
(MD034, no-bare-urls)
Line range hint 1-532
: Overall documentation quality is good
The README is comprehensive and well-structured, providing clear guidance on using the SDK. The code examples are helpful and the feature documentation is thorough.
🧰 Tools
🪛 LanguageTool
[uncategorized] ~43-~43: Possible missing comma found.
Context: ...ed chat features This project is under development so we will be incrementally adding new ...
(AI_HYDRA_LEO_MISSING_COMMA)
[grammar] ~46-~46: Possible agreement error. The noun participation seems to be uncountable; consider using: “much participation”, “a good deal of participation”.
Context: ... rooms for 1:1, 1:many, many:1 and many:many participation. - Sending and receiving chat messages....
(MANY_NN_U)
[uncategorized] ~49-~49: The abbreviation “i.e.” (= that is) requires two periods.
Context: ...at participants. - Chat room occupancy, i.e total number of connections and presenc...
(I_E)
[grammar] ~59-~59: You used an adverb (‘Ably’) instead of an adjective, or a noun (‘account’) instead of another adjective.
Context: ...need the following prerequisites: - An Ably account - You can [sign up](https://ably.com...
(A_RB_NN)
[grammar] ~63-~63: You used an adverb (‘Ably’) instead of an adjective, or a noun (‘API’) instead of another adjective.
Context: ...ignup) to the generous free tier. - An Ably API key - Use the default or create a new...
(A_RB_NN)
[typographical] ~83-~83: The word “however” is an adverb that can’t be used like a conjunction, and therefore needs to be separated from the sentence.
Context: ...he API Key directly for testing purposes, however it is strongly recommended that you use...
(HOWEVER_SENTENCE)
[uncategorized] ~87-~87: Possible missing comma found.
Context: ...en) in production environments. To use Chat you must also set a [clientId
](https:...
(AI_HYDRA_LEO_MISSING_COMMA)
[style] ~148-~148: Consider a shorter alternative to avoid wordiness.
Context: ...ing: TypingOptions(timeout: 3.0))) ``` In order to use the same room but with different op...
(IN_ORDER_TO_PREMIUM)
[uncategorized] ~174-~174: Use a comma before ‘and’ if it connects two independent clauses (unless they are closely connected and short).
Context: ... any event listeners you have registered and they will begin to receive events again...
(COMMA_COMPOUND_SENTENCE)
[style] ~174-~174: ‘in the event that’ might be wordy. Consider a shorter alternative.
Context: ...they will begin to receive events again in the event that the room is re-attached. ### Releasing...
(EN_WORDINESS_PREMIUM_IN_THE_EVENT_THAT)
[style] ~180-~180: ‘completely finished’ might be wordy. Consider a shorter alternative.
Context: ...running 1:1 support chat). When you are completely finished with a room, you may release
it which...
(EN_WORDINESS_PREMIUM_COMPLETELY_FINISHED)
[uncategorized] ~180-~180: Possible missing comma found.
Context: ...finished with a room, you may release
it which allows the underlying resources t...
(AI_HYDRA_LEO_MISSING_COMMA)
[uncategorized] ~186-~186: Use a comma before ‘and’ if it connects two independent clauses (unless they are closely connected and short).
Context: ...is called, the room will become unusable and you will need to get a new instance usi...
(COMMA_COMPOUND_SENTENCE)
[uncategorized] ~231-~231: Use a comma before ‘and’ if it connects two independent clauses (unless they are closely connected and short).
Context: ...nection, continuity cannot be guaranteed and you'll need to take steps to recover me...
(COMMA_COMPOUND_SENTENCE)
[uncategorized] ~233-~233: Possible missing comma found.
Context: ...an subscribeToDiscontinuities
method. Here you can register a listener that will b...
(AI_HYDRA_LEO_MISSING_COMMA)
[uncategorized] ~251-~251: Possible missing comma found.
Context: ...ming messages To subscribe to incoming messages you create a subscription for the room ...
(AI_HYDRA_LEO_MISSING_COMMA)
[uncategorized] ~272-~272: Possible missing comma found.
Context: ... messages object also exposes the get
method which can be used to request historical...
(AI_HYDRA_LEO_MISSING_COMMA)
[style] ~335-~335: Consider shortening or rephrasing this to strengthen your wording.
Context: ...the presence data Updates allow you to make changes to the custom data associated with a prese...
(MAKE_CHANGES)
[uncategorized] ~389-~389: It seems likely that a singular genitive (’s) apostrophe is missing.
Context: ...s to start will reset the timer, so the clients typing status will remain active. ### ...
(AI_HYDRA_LEO_APOSTROPHE_S_XS)
[style] ~478-~478: Consider a shorter alternative to avoid wordiness.
Context: ...in the Example
directory. In order to allow the app to use modern SwiftUI fea...
(IN_ORDER_TO_PREMIUM)
49360b6
to
6472e96
Compare
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: 0
🧹 Outside diff range and nitpick comments (2)
README.md (2)
9-10
: Improve readability of chat room typesConsider using consistent formatting for chat room types.
-Ably Chat is a set of purpose-built APIs for a host of chat features enabling you to create 1:1, 1:Many, Many:1 and Many:Many chat rooms for -any scale. +Ably Chat is a set of purpose-built APIs for a host of chat features enabling you to create 1:1, 1:many, many:1, and many:many chat rooms for +any scale.
524-525
: Format support URL as a proper Markdown linkThe support URL should be formatted as a Markdown link for consistency and better accessibility.
-Please visit http://support.ably.com/ for access to our knowledge base and to ask for any assistance. You can also view +Please visit [our support site](http://support.ably.com/) for access to our knowledge base and to ask for any assistance. You can also view🧰 Tools
🪛 Markdownlint (0.35.0)
524-524: null
Bare URL used(MD034, no-bare-urls)
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
⛔ Files ignored due to path filters (1)
images/ably-chat-github-header.png
is excluded by!**/*.png
📒 Files selected for processing (1)
README.md
(3 hunks)
🧰 Additional context used
🪛 LanguageTool
README.md
[grammar] ~46-~46: Possible agreement error. The noun participation seems to be uncountable; consider using: “much participation”, “a good deal of participation”.
Context: ... rooms for 1:1, 1:many, many:1 and many:many participation. - Sending and receiving chat messages....
(MANY_NN_U)
[uncategorized] ~49-~49: The abbreviation “i.e.” (= that is) requires two periods.
Context: ...at participants. - Chat room occupancy, i.e total number of connections and presenc...
(I_E)
[grammar] ~59-~59: You used an adverb (‘Ably’) instead of an adjective, or a noun (‘account’) instead of another adjective.
Context: ...need the following prerequisites: - An Ably account - You can [sign up](https://ably.com...
(A_RB_NN)
[grammar] ~63-~63: You used an adverb (‘Ably’) instead of an adjective, or a noun (‘API’) instead of another adjective.
Context: ...ignup) to the generous free tier. - An Ably API key - Use the default or create a new...
(A_RB_NN)
[typographical] ~83-~83: The word “however” is an adverb that can’t be used like a conjunction, and therefore needs to be separated from the sentence.
Context: ...he API Key directly for testing purposes, however it is strongly recommended that you use...
(HOWEVER_SENTENCE)
[style] ~148-~148: Consider a shorter alternative to avoid wordiness.
Context: ...ing: TypingOptions(timeout: 3.0))) ``` In order to use the same room but with different op...
(IN_ORDER_TO_PREMIUM)
[uncategorized] ~174-~174: Use a comma before ‘and’ if it connects two independent clauses (unless they are closely connected and short).
Context: ... any event listeners you have registered and they will begin to receive events again...
(COMMA_COMPOUND_SENTENCE)
[style] ~174-~174: ‘in the event that’ might be wordy. Consider a shorter alternative.
Context: ...they will begin to receive events again in the event that the room is re-attached. ### Releasing...
(EN_WORDINESS_PREMIUM_IN_THE_EVENT_THAT)
[style] ~180-~180: ‘completely finished’ might be wordy. Consider a shorter alternative.
Context: ...running 1:1 support chat). When you are completely finished with a room, you may release
it which...
(EN_WORDINESS_PREMIUM_COMPLETELY_FINISHED)
[uncategorized] ~186-~186: Use a comma before ‘and’ if it connects two independent clauses (unless they are closely connected and short).
Context: ...is called, the room will become unusable and you will need to get a new instance usi...
(COMMA_COMPOUND_SENTENCE)
[uncategorized] ~231-~231: Use a comma before ‘and’ if it connects two independent clauses (unless they are closely connected and short).
Context: ...nection, continuity cannot be guaranteed and you'll need to take steps to recover me...
(COMMA_COMPOUND_SENTENCE)
[style] ~335-~335: Consider shortening or rephrasing this to strengthen your wording.
Context: ...the presence data Updates allow you to make changes to the custom data associated with a prese...
(MAKE_CHANGES)
[misspelling] ~502-~502: Did you mean “side effects” (=adverse effect, unintended consequence)? Open compounds are not hyphenated.
Context: ...directly. Doing so may cause unintended side-effects in the Chat SDK. ### Channels Used Fo...
(AFFECT_EFFECT)
🪛 Markdownlint (0.35.0)
README.md
524-524: null
Bare URL used
(MD034, no-bare-urls)
🔇 Additional comments (4)
README.md (4)
35-39
: LGTM!
The installation instructions are clear and well-formatted.
202-207
: Clarify error handling in the status check example
The try
keyword suggests potential errors, but there's no explanation of what errors might occur or how to handle them.
Consider either:
- Adding error handling example, or
- Explaining what errors might occur
Line range hint 477-486
: LGTM!
The example app section provides clear instructions and platform requirements.
🧰 Tools
🪛 LanguageTool
[grammar] ~46-~46: Possible agreement error. The noun participation seems to be uncountable; consider using: “much participation”, “a good deal of participation”.
Context: ... rooms for 1:1, 1:many, many:1 and many:many participation. - Sending and receiving chat messages....
(MANY_NN_U)
[uncategorized] ~49-~49: The abbreviation “i.e.” (= that is) requires two periods.
Context: ...at participants. - Chat room occupancy, i.e total number of connections and presenc...
(I_E)
[grammar] ~59-~59: You used an adverb (‘Ably’) instead of an adjective, or a noun (‘account’) instead of another adjective.
Context: ...need the following prerequisites: - An Ably account - You can [sign up](https://ably.com...
(A_RB_NN)
[grammar] ~63-~63: You used an adverb (‘Ably’) instead of an adjective, or a noun (‘API’) instead of another adjective.
Context: ...ignup) to the generous free tier. - An Ably API key - Use the default or create a new...
(A_RB_NN)
[typographical] ~83-~83: The word “however” is an adverb that can’t be used like a conjunction, and therefore needs to be separated from the sentence.
Context: ...he API Key directly for testing purposes, however it is strongly recommended that you use...
(HOWEVER_SENTENCE)
[style] ~148-~148: Consider a shorter alternative to avoid wordiness.
Context: ...ing: TypingOptions(timeout: 3.0))) ``` In order to use the same room but with different op...
(IN_ORDER_TO_PREMIUM)
[uncategorized] ~174-~174: Use a comma before ‘and’ if it connects two independent clauses (unless they are closely connected and short).
Context: ... any event listeners you have registered and they will begin to receive events again...
(COMMA_COMPOUND_SENTENCE)
[style] ~174-~174: ‘in the event that’ might be wordy. Consider a shorter alternative.
Context: ...they will begin to receive events again in the event that the room is re-attached. ### Releasing...
(EN_WORDINESS_PREMIUM_IN_THE_EVENT_THAT)
[style] ~180-~180: ‘completely finished’ might be wordy. Consider a shorter alternative.
Context: ...running 1:1 support chat). When you are completely finished with a room, you may release
it which...
(EN_WORDINESS_PREMIUM_COMPLETELY_FINISHED)
[uncategorized] ~186-~186: Use a comma before ‘and’ if it connects two independent clauses (unless they are closely connected and short).
Context: ...is called, the room will become unusable and you will need to get a new instance usi...
(COMMA_COMPOUND_SENTENCE)
[uncategorized] ~231-~231: Use a comma before ‘and’ if it connects two independent clauses (unless they are closely connected and short).
Context: ...nection, continuity cannot be guaranteed and you'll need to take steps to recover me...
(COMMA_COMPOUND_SENTENCE)
[style] ~335-~335: Consider shortening or rephrasing this to strengthen your wording.
Context: ...the presence data Updates allow you to make changes to the custom data associated with a prese...
(MAKE_CHANGES)
[style] ~478-~478: Consider a shorter alternative to avoid wordiness.
Context: ...in the Example
directory. In order to allow the app to use modern SwiftUI fea...
(IN_ORDER_TO_PREMIUM)
5-5
:
Fix incorrect license badge URL
The license badge URL is pointing to an unrelated repository (3scale/saas-operator).
- <img src="https://badgen.net/github/license/3scale/saas-operator" alt="License" />
+ <img src="https://badgen.net/github/license/ably/ably-chat-swift" alt="License" />
Likely invalid or redundant comment.
6472e96
to
189d5d7
Compare
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: 0
🧹 Outside diff range and nitpick comments (3)
README.md (3)
49-49
: Fix abbreviation formattingThe abbreviation "i.e" should include periods: "i.e."
🧰 Tools
🪛 LanguageTool
[uncategorized] ~49-~49: The abbreviation “i.e.” (= that is) requires two periods.
Context: ...at participants. - Chat room occupancy, i.e total number of connections and presenc...(I_E)
35-39
: Consider adding Swift version requirementWhile Xcode version requirement is mentioned, it would be helpful to specify the minimum Swift version required for the package.
267-268
: Consider adding error handling examplesThe message sending example could benefit from error handling patterns to demonstrate how to handle common failure scenarios.
Example:
do { let message = try await room.messages.send(params: .init(text: "hello")) // Handle success } catch let error as ChatError { // Handle specific chat errors } catch { // Handle other errors }
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
⛔ Files ignored due to path filters (1)
images/ably-chat-github-header.png
is excluded by!**/*.png
📒 Files selected for processing (1)
README.md
(3 hunks)
🧰 Additional context used
🪛 LanguageTool
README.md
[grammar] ~46-~46: Possible agreement error. The noun participation seems to be uncountable; consider using: “much participation”, “a good deal of participation”.
Context: ... rooms for 1:1, 1:many, many:1 and many:many participation. - Sending and receiving chat messages....
(MANY_NN_U)
[uncategorized] ~49-~49: The abbreviation “i.e.” (= that is) requires two periods.
Context: ...at participants. - Chat room occupancy, i.e total number of connections and presenc...
(I_E)
[grammar] ~59-~59: You used an adverb (‘Ably’) instead of an adjective, or a noun (‘account’) instead of another adjective.
Context: ...need the following prerequisites: - An Ably account - You can [sign up](https://ably.com...
(A_RB_NN)
[grammar] ~63-~63: You used an adverb (‘Ably’) instead of an adjective, or a noun (‘API’) instead of another adjective.
Context: ...ignup) to the generous free tier. - An Ably API key - Use the default or create a new...
(A_RB_NN)
[typographical] ~83-~83: The word “however” is an adverb that can’t be used like a conjunction, and therefore needs to be separated from the sentence.
Context: ...he API Key directly for testing purposes, however it is strongly recommended that you use...
(HOWEVER_SENTENCE)
[style] ~148-~148: Consider a shorter alternative to avoid wordiness.
Context: ...ing: TypingOptions(timeout: 3.0))) ``` In order to use the same room but with different op...
(IN_ORDER_TO_PREMIUM)
[uncategorized] ~174-~174: Use a comma before ‘and’ if it connects two independent clauses (unless they are closely connected and short).
Context: ... any event listeners you have registered and they will begin to receive events again...
(COMMA_COMPOUND_SENTENCE)
[style] ~174-~174: ‘in the event that’ might be wordy. Consider a shorter alternative.
Context: ...they will begin to receive events again in the event that the room is re-attached. ### Releasing...
(EN_WORDINESS_PREMIUM_IN_THE_EVENT_THAT)
[style] ~180-~180: ‘completely finished’ might be wordy. Consider a shorter alternative.
Context: ...running 1:1 support chat). When you are completely finished with a room, you may release
it which...
(EN_WORDINESS_PREMIUM_COMPLETELY_FINISHED)
[uncategorized] ~186-~186: Use a comma before ‘and’ if it connects two independent clauses (unless they are closely connected and short).
Context: ...is called, the room will become unusable and you will need to get a new instance usi...
(COMMA_COMPOUND_SENTENCE)
[uncategorized] ~231-~231: Use a comma before ‘and’ if it connects two independent clauses (unless they are closely connected and short).
Context: ...nection, continuity cannot be guaranteed and you'll need to take steps to recover me...
(COMMA_COMPOUND_SENTENCE)
[uncategorized] ~233-~233: Possible missing comma found.
Context: ...an subscribeToDiscontinuities
method. Here you can register a listener that will b...
(AI_HYDRA_LEO_MISSING_COMMA)
[uncategorized] ~251-~251: Possible missing comma found.
Context: ...ming messages To subscribe to incoming messages you create a subscription for the room ...
(AI_HYDRA_LEO_MISSING_COMMA)
[style] ~335-~335: Consider shortening or rephrasing this to strengthen your wording.
Context: ...the presence data Updates allow you to make changes to the custom data associated with a prese...
(MAKE_CHANGES)
[uncategorized] ~389-~389: It seems likely that a singular genitive (’s) apostrophe is missing.
Context: ...s to start will reset the timer, so the clients typing status will remain active. ### ...
(AI_HYDRA_LEO_APOSTROPHE_S_XS)
[misspelling] ~502-~502: Did you mean “side effects” (=adverse effect, unintended consequence)? Open compounds are not hyphenated.
Context: ...directly. Doing so may cause unintended side-effects in the Chat SDK. ### Channels Used Fo...
(AFFECT_EFFECT)
🪛 Markdownlint (0.35.0)
README.md
524-524: null
Bare URL used
(MD034, no-bare-urls)
🔇 Additional comments (2)
README.md (2)
4-6
: Fix incorrect badge URLs
The badge URLs need to be updated to point to the correct repository.
524-525
: Fix support links formatting
The bare URL should be properly formatted as a Markdown link.
🧰 Tools
🪛 Markdownlint (0.35.0)
524-524: null
Bare URL used
(MD034, no-bare-urls)
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.
looks great
Summary by CodeRabbit
README.md
for improved content and structure.