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

Release/0.1.0 #93

Merged
merged 3 commits into from
Jan 15, 2025
Merged

Release/0.1.0 #93

merged 3 commits into from
Jan 15, 2025

Conversation

ttypic
Copy link
Collaborator

@ttypic ttypic commented Dec 16, 2024

Summary by CodeRabbit

  • New Features

    • Introduced the initial beta release of the Ably Chat SDK for Android (version 0.1.0) with key chat functionalities including various chat room configurations, messaging capabilities, online presence indicators, typing indicators, and ephemeral reactions.
  • Documentation

    • Added a CHANGELOG.md file documenting the release.
    • Updated README.md with new versioning information and clarified installation instructions.
  • Chores

    • Updated project versioning in gradle.properties to reflect stable release.
    • Incremented ably dependency version in gradle/libs.versions.toml from 1.2.46 to 1.2.48.

@ttypic ttypic requested review from sacOO7 and umair-ably December 16, 2024 09:32
Copy link

coderabbitai bot commented Dec 16, 2024

Walkthrough

This pull request marks the initial beta release (version 0.1.0) of the Ably Chat SDK for Android. The changes primarily involve updating version information across multiple configuration files, including CHANGELOG.md, README.md, gradle.properties, and gradle/libs.versions.toml. The modifications transition the project from a snapshot version to a stable release version, documenting the SDK's initial features such as chat room configurations, messaging, presence indicators, and room-level reactions.

Changes

File Change Summary
CHANGELOG.md Added initial release entry for version 0.1.0
README.md Updated version badge and installation instructions from snapshot to stable release
gradle.properties Changed VERSION_NAME from 0.1.0-SNAPSHOT to 0.1.0
gradle/libs.versions.toml Updated Ably dependency from version 1.2.46 to 1.2.48
chat-android/src/main/java/com/ably/chat/EventTypes.kt Modified message action mappings by removing obsolete entries and adding a new action for message summaries

Possibly related PRs

  • [ECO-5139] feat: switched API to v2 #67: The changes in this PR involve modifications to the ChatApi.kt and EventTypes.kt files, which are relevant to the message handling features introduced in the main PR, particularly regarding message actions and their mappings.
  • fix: latestAction -> action renaming + test #85: This PR focuses on renaming the latestAction property to action in the Message class and related files, which directly relates to the changes in message handling and action tracking in the main PR.

Suggested reviewers

  • sacOO7
  • AndyTWF

Poem

🐰 A bunny's tale of code so bright,
Version zero-point-one takes flight!
From snapshot dreams to stable release,
Our SDK hops with newfound peace 🚀
Chat features bloom, connections gleam! 📱


📜 Recent review details

Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between a97bb4e and 6793646.

📒 Files selected for processing (2)
  • chat-android/src/main/java/com/ably/chat/EventTypes.kt (1 hunks)
  • gradle/libs.versions.toml (1 hunks)
🚧 Files skipped from review as they are similar to previous changes (1)
  • gradle/libs.versions.toml
⏰ Context from checks skipped due to timeout of 90000ms (2)
  • GitHub Check: coverage
  • GitHub Check: check
🔇 Additional comments (1)
chat-android/src/main/java/com/ably/chat/EventTypes.kt (1)

40-42: Verify the removal of annotation actions.

The addition of MESSAGE_SUMMARY looks good, but I notice that several message actions have been removed (MESSAGE_UNSET, ANNOTATION_CREATE, ANNOTATION_DELETE). Let's verify that these removals don't cause issues elsewhere in the codebase.

If these actions were part of the public API, please ensure that:

  1. The removal is documented in the changelog as a breaking change
  2. Migration guidance is provided for users who might be using these actions
✅ Verification successful

Removal of message actions is safe to proceed

The removed actions (MESSAGE_UNSET, ANNOTATION_CREATE, ANNOTATION_DELETE) are not referenced anywhere in the codebase. All existing code consistently uses only the currently supported message actions. The addition of MESSAGE_SUMMARY and removal of unused actions aligns well with the beta release.

🏁 Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Description: Search for any remaining references to the removed message actions
# to ensure they're not being used elsewhere in the codebase

echo "Searching for references to removed message actions..."

# Search for MESSAGE_UNSET references
rg "MESSAGE_UNSET|message\.unset" -t kotlin -t java

# Search for annotation-related actions
rg "ANNOTATION_(CREATE|DELETE)|annotation\.(create|delete)" -t kotlin -t java

# Search for potential imports of these constants
rg "import.*MessageAction" -t kotlin -t java -A 5

Length of output: 3913


Script:

#!/bin/bash
# Description: Deep dive into MessageAction usage and enum patterns

# Check for any usage patterns of removed actions
echo "Checking MessageAction usage patterns..."
ast-grep --pattern 'MessageAction.$_' 

# Look for any enum entries or constants with similar names
echo -e "\nChecking for similar enum entries..."
rg "enum.*\{[^}]*ANNOTATION|enum.*\{[^}]*UNSET" -A 10

# Look for any test cases or comments mentioning these actions
echo -e "\nChecking for related test cases or comments..."
rg "(?i)(annotation|unset).*test|test.*(annotation|unset)" --type kotlin --type java

Length of output: 2212


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 generate docstrings to generate docstrings for this PR. (Beta)
  • @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.

@github-actions github-actions bot temporarily deployed to staging/pull/93/dokka December 16, 2024 09:33 Inactive
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

🧹 Nitpick comments (2)
CHANGELOG.md (2)

5-6: Fix grammar in the release description.

Add the missing article "the" for better readability.

-Initial beta release of the Ably Chat SDK for Android. It includes following chat
+Initial beta release of the Ably Chat SDK for Android. It includes the following chat
🧰 Tools
🪛 LanguageTool

[uncategorized] ~5-~5: You might be missing the article “the” here.
Context: ... Ably Chat SDK for Android. It includes following chat features: - Chat rooms for 1:1, 1...

(AI_EN_LECTOR_MISSING_DETERMINER_THE)


1-13: Consider enhancing the changelog with additional sections.

For better clarity and completeness, consider adding:

  1. A "Breaking Changes" section (even if just to indicate "None")
  2. A "Dependencies" section mentioning the Ably dependency update from 1.2.46 to 1.2.47

This helps users understand compatibility implications of the release.

🧰 Tools
🪛 LanguageTool

[uncategorized] ~5-~5: You might be missing the article “the” here.
Context: ... Ably Chat SDK for Android. It includes following chat features: - Chat rooms for 1:1, 1...

(AI_EN_LECTOR_MISSING_DETERMINER_THE)


[grammar] ~8-~8: 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] ~11-~11: 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)

📜 Review details

Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 1f0de95 and 8fb7f1c.

📒 Files selected for processing (4)
  • CHANGELOG.md (1 hunks)
  • README.md (2 hunks)
  • gradle.properties (1 hunks)
  • gradle/libs.versions.toml (1 hunks)
🧰 Additional context used
🪛 LanguageTool
README.md

[grammar] ~57-~57: You used an adverb (‘Ably’) instead of an adjective, or a noun (‘Chat’) instead of another adjective.
Context: ...hannel-metadata`. ## Installation The Ably Chat SDK is available on the Maven Central R...

(A_RB_NN)


[uncategorized] ~71-~71: Although a hyphen is possible, it is not necessary in a compound modifier in which the first word is an adverb that ends in ‘ly’.
Context: ...-android:0.1.0") ``` ### Dependency on ably-android Certain functionalities are powered by...

(HYPHENATED_LY_ADVERB_ADJECTIVE)


[uncategorized] ~73-~73: Although a hyphen is possible, it is not necessary in a compound modifier in which the first word is an adverb that ends in ‘ly’.
Context: ...ain functionalities are powered by the ably-android lib...

(HYPHENATED_LY_ADVERB_ADJECTIVE)


[uncategorized] ~74-~74: Although a hyphen is possible, it is not necessary in a compound modifier in which the first word is an adverb that ends in ‘ly’.
Context: ...github.com/ably/ably-java) library. The ably-android library is included as an api dependen...

(HYPHENATED_LY_ADVERB_ADJECTIVE)

CHANGELOG.md

[uncategorized] ~5-~5: You might be missing the article “the” here.
Context: ... Ably Chat SDK for Android. It includes following chat features: - Chat rooms for 1:1, 1...

(AI_EN_LECTOR_MISSING_DETERMINER_THE)


[grammar] ~8-~8: 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] ~11-~11: 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)

🔇 Additional comments (5)
gradle.properties (1)

21-21: LGTM: Version update for initial beta release.

The version change from 0.1.0-SNAPSHOT to 0.1.0 is appropriate for the initial beta release.

gradle/libs.versions.toml (1)

5-5: Verify the Ably SDK version update.

The Ably SDK version has been updated to 1.2.47. Let's verify this version:

✅ Verification successful

Ably SDK version 1.2.47 is up-to-date and secure

The version update to 1.2.47 is verified to be the latest available version on Maven Central, and no security vulnerabilities were found for this package.

🏁 Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Description: Check for latest versions and security advisories for ably-android

# Check Maven Central for latest versions
curl -s "https://search.maven.org/solrsearch/select?q=g:io.ably+AND+a:ably-android&rows=1&wt=json" | jq -r '.response.docs[0].latestVersion'

# Check for security advisories
gh api graphql -f query='
{
  securityVulnerabilities(first: 5, ecosystem: MAVEN, package: "io.ably:ably-android") {
    nodes {
      advisory {
        summary
        severity
        publishedAt
      }
      vulnerableVersionRange
      firstPatchedVersion {
        identifier
      }
    }
  }
}'

Length of output: 505

README.md (2)

6-6: LGTM: Version badge update.

The version badge has been correctly updated to reflect the initial beta release version.


61-63: LGTM: Installation instructions update.

The installation instructions have been updated with explicit version numbers for both Groovy and Kotlin Script build configurations.

Also applies to: 67-69

CHANGELOG.md (1)

1-3: LGTM! Header and version information are well-formatted.

The version number, link format, and date are correctly structured following changelog best practices.

Copy link

github-actions bot commented Dec 16, 2024

Code Coverage

File Coverage [63.16%]
chat-android/src/main/java/com/ably/chat/EventTypes.kt 63.16%
Total Project Coverage 85.88%

@ttypic ttypic requested a review from AndyTWF December 16, 2024 09:38
Copy link
Contributor

@sacOO7 sacOO7 left a comment

Choose a reason for hiding this comment

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

I have left few comments,
otherwise LGTM

@github-actions github-actions bot temporarily deployed to staging/pull/93/dokka January 6, 2025 13:56 Inactive
@github-actions github-actions bot temporarily deployed to staging/pull/93/dokka January 7, 2025 12:01 Inactive
@github-actions github-actions bot temporarily deployed to staging/pull/93/dokka January 7, 2025 15:22 Inactive
@github-actions github-actions bot temporarily deployed to staging/pull/93/dokka January 14, 2025 13:37 Inactive
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

🧹 Nitpick comments (3)
CHANGELOG.md (2)

5-6: Add "the" before "following".

The introduction text needs a minor grammatical correction.

-Initial release of the Ably Chat SDK for Android. It includes following chat
+Initial release of the Ably Chat SDK for Android. It includes the following chat
🧰 Tools
🪛 LanguageTool

[uncategorized] ~5-~5: You might be missing the article “the” here.
Context: ... Ably Chat SDK for Android. It includes following chat features: - Chat rooms for 1:1, 1...

(AI_EN_LECTOR_MISSING_DETERMINER_THE)


8-13: Consider standardizing the feature list format.

The feature list could benefit from consistent punctuation and formatting:

  • Some items end with periods while others don't
  • Inconsistent use of "aka" vs "i.e."
-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 (presence) of chat participants
+- Chat room occupancy (total number of connections and presence members)
+- Typing indicators
+- Room-level reactions (ephemeral at this stage - reactions are sent and received in real-time without persistence)
🧰 Tools
🪛 LanguageTool

[grammar] ~8-~8: 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)

README.md (1)

55-57: Consider adding a note about version ranges.

The installation instructions are clear, but it might be helpful to add information about version compatibility and ranges.

Add a note about version compatibility, for example:

 ```groovy
 implementation 'com.ably.chat:chat-android:0.1.0'

+Note: You can use version ranges like 0.1.+ to automatically use the latest patch version.



Also applies to: 61-63

</blockquote></details>

</blockquote></details>

<details>
<summary>📜 Review details</summary>

**Configuration used: CodeRabbit UI**
**Review profile: CHILL**
**Plan: Pro**

<details>
<summary>📥 Commits</summary>

Reviewing files that changed from the base of the PR and between 8fb7f1c151cc96cfa9fce3a4688cef4a277ff73e and a97bb4ea73791f749bcbadc4eb3196f86c6b8c0c.

</details>

<details>
<summary>📒 Files selected for processing (4)</summary>

* `CHANGELOG.md` (1 hunks)
* `README.md` (2 hunks)
* `gradle.properties` (1 hunks)
* `gradle/libs.versions.toml` (1 hunks)

</details>

<details>
<summary>🚧 Files skipped from review as they are similar to previous changes (2)</summary>

* gradle.properties
* gradle/libs.versions.toml

</details>

<details>
<summary>🧰 Additional context used</summary>

<details>
<summary>🪛 LanguageTool</summary>

<details>
<summary>CHANGELOG.md</summary>

[uncategorized] ~5-~5: You might be missing the article “the” here.
Context: ... Ably Chat SDK for Android. It includes following chat features:  - Chat rooms for 1:1, 1...

(AI_EN_LECTOR_MISSING_DETERMINER_THE)

---

[grammar] ~8-~8: 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)

</details>
<details>
<summary>README.md</summary>

[grammar] ~51-~51: You used an adverb (‘Ably’) instead of an adjective, or a noun (‘Chat’) instead of another adjective.
Context: ...hannel-metadata`.  ## Installation  The Ably Chat SDK is available on the Maven Central R...

(A_RB_NN)

---

[uncategorized] ~65-~65: Although a hyphen is possible, it is not necessary in a compound modifier in which the first word is an adverb that ends in ‘ly’.
Context: ...-android:0.1.0") ```  ### Dependency on ably-android  Key functionality such as sending and ...

(HYPHENATED_LY_ADVERB_ADJECTIVE)

---

[uncategorized] ~67-~67: Although a hyphen is possible, it is not necessary in a compound modifier in which the first word is an adverb that ends in ‘ly’.
Context: ...d receiving messages is powered by the [ably-android](https://github.com/ably/ably-java) lib...

(HYPHENATED_LY_ADVERB_ADJECTIVE)

---

[uncategorized] ~68-~68: Although a hyphen is possible, it is not necessary in a compound modifier in which the first word is an adverb that ends in ‘ly’.
Context: ...github.com/ably/ably-java) library. The `ably-android` library is included as an api dependen...

(HYPHENATED_LY_ADVERB_ADJECTIVE)

</details>

</details>

</details>

<details>
<summary>🔇 Additional comments (2)</summary><blockquote>

<details>
<summary>README.md (2)</summary>

`5-5`: **LGTM! Version badge updated correctly.**

The version badge has been properly updated to reflect the 0.1.0 release.

---

`67-68`: **LGTM! Clear dependency explanation.**

The explanation about the ably-android dependency is clear and matches the previously discussed wording in the past review comments.

<details>
<summary>🧰 Tools</summary>

<details>
<summary>🪛 LanguageTool</summary>

[uncategorized] ~67-~67: Although a hyphen is possible, it is not necessary in a compound modifier in which the first word is an adverb that ends in ‘ly’.
Context: ...d receiving messages is powered by the [ably-android](https://github.com/ably/ably-java) lib...

(HYPHENATED_LY_ADVERB_ADJECTIVE)

---

[uncategorized] ~68-~68: Although a hyphen is possible, it is not necessary in a compound modifier in which the first word is an adverb that ends in ‘ly’.
Context: ...github.com/ably/ably-java) library. The `ably-android` library is included as an api dependen...

(HYPHENATED_LY_ADVERB_ADJECTIVE)

</details>

</details>

</details>

</blockquote></details>

</details>

<!-- This is an auto-generated comment by CodeRabbit for review status -->

Copy link
Contributor

@sacOO7 sacOO7 left a comment

Choose a reason for hiding this comment

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

Seems build is failing

@sacOO7 sacOO7 self-requested a review January 14, 2025 13:48
Copy link
Contributor

@sacOO7 sacOO7 left a comment

Choose a reason for hiding this comment

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

Approving the pr for now.
You can merge once build issues are fixed

@ttypic ttypic merged commit 0a791f6 into main Jan 15, 2025
4 checks passed
@ttypic ttypic deleted the release/0.1.0 branch January 15, 2025 10:37
This was referenced Jan 22, 2025
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.

3 participants