Skip to content
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

Open
wants to merge 3 commits into
base: main
Choose a base branch
from
Open

[ECO-5102] Updated README #166

wants to merge 3 commits into from

Conversation

maratal
Copy link
Collaborator

@maratal maratal commented Nov 29, 2024

Summary by CodeRabbit

  • Documentation
    • Enhanced the README.md for improved content and structure.
    • Expanded description of the Ably Chat SDK and its use cases.
    • Updated warning about SDK's readiness and invited early adopters for feedback.
    • Clarified installation instructions with Swift package dependency example.
    • Added sections on supported chat features, usage instructions, connection management, message handling, and room-level reactions.
    • Included code snippets for better usability.
    • Introduced a support and troubleshooting section with additional resources.
    • Rephrased contributing guidelines for clarity.
  • Chores
    • Updated .prettierignore to include README.md.

Copy link

coderabbitai bot commented Nov 29, 2024

Important

Review skipped

Review was skipped due to path filters

⛔ Files ignored due to path filters (1)
  • images/ably-chat-github-header.png is excluded by !**/*.png

CodeRabbit blocks several paths by default. You can override this behavior by explicitly including those paths in the path filters. For example, including **/dist/** will override the default block on the dist directory, by removing the pattern from both the lists.

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Walkthrough

The pull request introduces extensive modifications to the README.md file, enhancing its content and structure. Key updates include improved formatting with HTML elements, expanded descriptions of the Ably Chat SDK, updated warnings about SDK readiness, and clarified installation instructions. New sections cover supported chat features, usage instructions, connection management, and more, with added code snippets for better usability. Additionally, contributing guidelines and a support section have been rephrased and expanded, significantly improving the documentation's clarity and comprehensiveness.

Changes

Files Change Summary
README.md Enhanced formatting, expanded SDK description, updated SDK readiness warning, clarified installation instructions, added sections for chat features, usage, connection management, and support.
.prettierignore Added entry to ignore README.md for formatting purposes.

Assessment against linked issues

Objective Addressed Explanation
Create docs + update readme for chat-swift beta release (ECO-5102)

Possibly related PRs

  • Removed dedicated mocking block #162: The changes in ContentView.swift regarding the chat interface may relate to the enhanced usage instructions and chat features detailed in the README.md, as both involve the functionality of the Ably Chat SDK.
  • Updated to minimum version supporting chat v2. #164: The updates to the Package.swift and Package.resolved files to support the minimum version for chat v2 could be relevant to the installation instructions and SDK readiness mentioned in the README.md, ensuring users have the correct dependencies for the updated features.

🐇 In the meadow, where bunnies play,
The README shines bright, guiding the way.
With chat features detailed and snippets so neat,
Our SDK's ready, oh what a treat!
Join the beta, share your cheer,
Together we’ll hop, the future is near! 🌼


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?

❤️ Share
🪧 Tips

Chat

There are 3 ways to chat with CodeRabbit:

  • Review comments: Directly reply to a review comment made by CodeRabbit. Example:
    • I pushed a fix in commit <commit_id>, please review it.
    • Generate unit testing code for this file.
    • Open a follow-up GitHub issue for this discussion.
  • Files and specific lines of code (under the "Files changed" tab): Tag @coderabbitai in a new review comment at the desired location with your query. Examples:
    • @coderabbitai generate unit testing code for this file.
    • @coderabbitai modularize this function.
  • PR comments: Tag @coderabbitai in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
    • @coderabbitai gather interesting stats about this repository and render them as a table. Additionally, render a pie chart showing the language distribution in the codebase.
    • @coderabbitai read src/utils.ts and generate unit testing code.
    • @coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.
    • @coderabbitai help me debug CodeRabbit configuration file.

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)

  • @coderabbitai pause to pause the reviews on a PR.
  • @coderabbitai resume to resume the paused reviews.
  • @coderabbitai review to trigger an incremental review. This is useful when automatic reviews are disabled for the repository.
  • @coderabbitai full review to do a full review from scratch and review all the files again.
  • @coderabbitai summary to regenerate the summary of the PR.
  • @coderabbitai resolve resolve all the CodeRabbit review comments.
  • @coderabbitai configuration to show the current CodeRabbit configuration for the repository.
  • @coderabbitai help to get help.

Other keywords and placeholders

  • Add @coderabbitai ignore anywhere in the PR description to prevent this PR from being reviewed.
  • Add @coderabbitai summary to generate the high-level summary at a specific location in the PR description.
  • Add @coderabbitai anywhere in the PR title to generate the title automatically.

CodeRabbit Configuration File (.coderabbit.yaml)

  • You can programmatically configure CodeRabbit by adding a .coderabbit.yaml file to the root of your repository.
  • Please see the configuration documentation for more information.
  • If your editor has YAML language server enabled, you can add the path at the top of this file to enable auto-completion and validation: # yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json

Documentation and Community

  • Visit our Documentation for detailed information on how to use CodeRabbit.
  • Join our Discord Community to get help, request features, and share feedback.
  • Follow us on X/Twitter for updates and announcements.

Copy link

@coderabbitai coderabbitai bot left a 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 comma

Add 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 formatting

Add 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 blocks

Add 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 link

Convert 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

📥 Commits

Reviewing files that changed from the base of the PR and between 5676cac and 3146aa9.

📒 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)

README.md Outdated
Comment on lines 3 to 7
<p style="text-align: left">
<img src="https://img.shields.io/badge/development_status-Private_Beta-ab7df8" alt="Development status" />
<img src="https://badgen.net/github/license/3scale/saas-operator" alt="License" />
<img src="https://img.shields.io/badge/version-0.1.0--SNAPSHOT-2ea44f" alt="version: 0.1.0-SNAPSHOT" />
<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>
</p>
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue

Fix incorrect badge URLs

The badge URLs need to be updated:

  1. The coverage badge URL points to the Kotlin repository instead of Swift
  2. 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" />
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
<p style="text-align: left">
<img src="https://img.shields.io/badge/development_status-Private_Beta-ab7df8" alt="Development status" />
<img src="https://badgen.net/github/license/3scale/saas-operator" alt="License" />
<img src="https://img.shields.io/badge/version-0.1.0--SNAPSHOT-2ea44f" alt="version: 0.1.0-SNAPSHOT" />
<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>
</p>
<p style="text-align: left">
<img src="https://img.shields.io/badge/development_status-Private_Beta-ab7df8" alt="Development status" />
<img src="https://badgen.net/github/license/ably/ably-chat-swift" alt="License" />
<img src="https://img.shields.io/badge/version-0.1.0--SNAPSHOT-2ea44f" alt="version: 0.1.0-SNAPSHOT" />
<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>
</p>

Copy link

@coderabbitai coderabbitai bot left a 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 list

The 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

📥 Commits

Reviewing files that changed from the base of the PR and between 3146aa9 and e3907cf.

📒 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:

  1. The coverage badge URL points to the Kotlin repository instead of Swift
  2. 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:

  1. Connection management:

    • Public APIs: current, previous, error, retryIn
    • Documented: "Current connection status", "Subscribing to connection status changes"
  2. Room operations:

    • Public APIs: attach(), detach(), status properties
    • Documented: "Attaching to a room", "Detaching from a room", "Current status of a room"
  3. Messages:

    • Public APIs: Message properties and methods
    • Documented: "Subscribing to incoming messages", "Sending messages", "Retrieving message history"
  4. Presence:

    • Public APIs: Presence properties and methods
    • Documented: "Retrieving online members", "Entering the presence set", "Updating presence data"
  5. Typing indicators:

    • Public APIs: Typing properties and methods
    • Documented: "Start typing", "Stop typing", "Subscribing to typing updates"
  6. Occupancy:

    • Public APIs: Occupancy properties
    • Documented: "Subscribing to occupancy updates", "Retrieving occupancy"
  7. 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)

README.md Outdated Show resolved Hide resolved
Copy link

@coderabbitai coderabbitai bot left a 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

  1. Add missing period after "i.e." in the occupancy description
  2. 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 section

The 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

📥 Commits

Reviewing files that changed from the base of the PR and between e3907cf and 08ce80d.

📒 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)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

Successfully merging this pull request may close these issues.

1 participant