Skip to content

feat: WatchOS Quick Replies#6957

Draft
divyanshu-patil wants to merge 2 commits intoRocketChat:developfrom
divyanshu-patil:feat/watchos-quickreplies
Draft

feat: WatchOS Quick Replies#6957
divyanshu-patil wants to merge 2 commits intoRocketChat:developfrom
divyanshu-patil:feat/watchos-quickreplies

Conversation

@divyanshu-patil
Copy link

@divyanshu-patil divyanshu-patil commented Jan 30, 2026

Proposed changes

Issue(s)

How to test or reproduce

Screenshots

watchos.quick.replies.mp4

Types of changes

  • Bugfix (non-breaking change which fixes an issue)
  • Improvement (non-breaking change which improves a current function)
  • New feature (non-breaking change which adds functionality)
  • Documentation update (if none of the other choices apply)

Checklist

  • I have read the CONTRIBUTING doc
  • I have signed the CLA
  • Lint and unit tests pass locally with my changes
  • I have added tests that prove my fix is effective or that my feature works (if applicable)
  • I have added necessary documentation (if applicable)
  • Any dependent changes have been merged and published in downstream modules

Further comments

@coderabbitai
Copy link
Contributor

coderabbitai bot commented Jan 30, 2026

Important

Review skipped

Draft detected.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

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

  • 🔍 Trigger a full review
✨ Finishing touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment

Tip

🧪 Unit Test Generation v2 is now available!

We have significantly improved our unit test generation capabilities.

To enable: Add this to your .coderabbit.yaml configuration:

reviews:
  finishing_touches:
    unit_tests:
      enabled: true

Try it out by using the @coderabbitai generate unit tests command on your code files or under ✨ Finishing Touches on the walkthrough!

Have feedback? Share your thoughts on our Discord thread!


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.


@interface RCT_EXTERN_MODULE(WatchBridge, NSObject)

RCT_EXTERN_METHOD(
Copy link
Member

Choose a reason for hiding this comment

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

We should not write old arch anymore.
Please migrate it to turbo modules.

import WatchConnectivity

@objc(WatchBridge)
final class WatchBridge: NSObject {
Copy link
Member

Choose a reason for hiding this comment

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

I think you can make it more simple than this.
Instead of relying on this native module, we rename this one to WatchModule.

Also, everything is going to be done relying on MMKV.
Similar to WatchModule.getCertificate, you'll create WatchModule.getQuickReplies to read from MMKV.

On WatchConnection, you'll create a new method getQuickReplies as well.

WatchConnection.getQuickReplies will be read on the Watch app for the composer.
When a quick reply is tapped, it should send the message automatically.

}

const UserPreferencesView = ({ navigation }: IUserPreferencesViewProps): JSX.Element => {
const [quickreplies, setQuickreplies] = useUserPreferences<string[]>(WATCHOS_QUICKREPLIES, []);
Copy link
Member

Choose a reason for hiding this comment

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

Suggested change
const [quickreplies, setQuickreplies] = useUserPreferences<string[]>(WATCHOS_QUICKREPLIES, []);
const [quickReplies, setQuickReplies] = useUserPreferences<string[]>(WATCHOS_QUICKREPLIES, []);

}

const UserPreferencesView = ({ navigation }: IUserPreferencesViewProps): JSX.Element => {
const [quickreplies, setQuickreplies] = useUserPreferences<string[]>(WATCHOS_QUICKREPLIES, []);
Copy link
Member

Choose a reason for hiding this comment

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

Create a setting on Admin/Mobile like ScreenLock section.

Admin should look like this:

  • Apple Watch
    • Quick actions: string

The string should be comma separated and the default ones should be:

  • OK
  • Yes
  • No
  • On my way
  • Will follow up shortly

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants