Skip to content

Comments

feat(mobile app): add admin mobile settings for apple watch#38911

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

feat(mobile app): add admin mobile settings for apple watch#38911
divyanshu-patil wants to merge 2 commits intoRocketChat:developfrom
divyanshu-patil:feat/watchos-quickreplies

Conversation

@divyanshu-patil
Copy link

@divyanshu-patil divyanshu-patil commented Feb 22, 2026

Proposed changes (including videos or screenshots)

added admin setting for watchos quick replies

Issue(s)

RocketChat/Rocket.Chat.ReactNative#6957

Steps to test or reproduce

Further comments

Summary by CodeRabbit

  • New Features
    • Added Apple Watch quick actions support with preset quick reply options: OK, Yes, No, On my way, Will follow up shortly.

@divyanshu-patil divyanshu-patil requested a review from a team as a code owner February 22, 2026 19:29
@dionisio-bot
Copy link
Contributor

dionisio-bot bot commented Feb 22, 2026

Looks like this PR is not ready to merge, because of the following issues:

  • This PR is missing the 'stat: QA assured' label
  • This PR is missing the required milestone or project

Please fix the issues and try again

If you have any trouble, please check the PR guidelines

@changeset-bot
Copy link

changeset-bot bot commented Feb 22, 2026

⚠️ No Changeset found

Latest commit: 5a162e1

Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.

This PR includes no changesets

When changesets are added to this PR, you'll see the packages that this PR includes changesets for and the associated semver types

Click here to learn what changesets are, and how to add one.

Click here if you're a maintainer who wants to add a changeset to this PR

@coderabbitai
Copy link
Contributor

coderabbitai bot commented Feb 22, 2026

Walkthrough

A new Apple Watch section is introduced in the mobile settings configuration, adding support for customizable quick action replies. The setting defines a public string property with default quick response options and associated internationalization labels.

Changes

Cohort / File(s) Summary
Apple Watch Quick Actions Setting
apps/meteor/server/settings/mobile.ts
Introduced new Apple_Watch settings section with Apple_Watch_Quick_Actions public string setting (default: "OK,Yes,No,On my way,Will follow up shortly") and accompanying i18n labels for UI display and documentation.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~8 minutes

Poem

🐰 Hop, hop, the watch now learns to reply!
Quick actions bound, no more to sigh,
"OK" and "Yes" dance on the wrist so small,
With rabbit-swift responses, we handle it all! ⌚✨

🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Title check ✅ Passed The title accurately describes the main change: adding admin mobile settings for Apple Watch quick replies, which aligns with the added Apple_Watch_Quick_Actions setting.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.


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.

Copy link
Contributor

@cubic-dev-ai cubic-dev-ai bot left a comment

Choose a reason for hiding this comment

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

No issues found across 2 files

Copy link
Contributor

@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

📜 Review details

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between dad0dba and 5a162e1.

📒 Files selected for processing (2)
  • apps/meteor/server/settings/mobile.ts
  • packages/i18n/src/locales/en.i18n.json
🧰 Additional context used
📓 Path-based instructions (1)
**/*.{ts,tsx,js}

📄 CodeRabbit inference engine (.cursor/rules/playwright.mdc)

**/*.{ts,tsx,js}: Write concise, technical TypeScript/JavaScript with accurate typing in Playwright tests
Avoid code comments in the implementation

Files:

  • apps/meteor/server/settings/mobile.ts
🧠 Learnings (1)
📚 Learning: 2025-11-05T20:53:57.761Z
Learnt from: sampaiodiego
Repo: RocketChat/Rocket.Chat PR: 37357
File: apps/meteor/ee/server/startup/federation.ts:39-74
Timestamp: 2025-11-05T20:53:57.761Z
Learning: In Rocket.Chat (apps/meteor/app/settings/server/CachedSettings.ts), the settings.watchMultiple() method immediately invokes its callback with current values if all requested settings exist in the store, then continues watching for subsequent changes. It does not wait for a setting to change before the first invocation.

Applied to files:

  • apps/meteor/server/settings/mobile.ts
🔇 Additional comments (1)
apps/meteor/server/settings/mobile.ts (1)

23-23: This review comment is incorrect. Setting keys in Rocket.Chat do not require registration in core-typings for type-safe access via settings.get().

The get() method in CachedSettings.ts accepts any string for the setting ID parameter (_id: ISetting['_id']), where ISetting['_id'] is simply a string type. There is no literal type union of known setting keys in core-typings, and existing settings like Force_Screen_Lock and Allow_Save_Media_to_Gallery are not registered as literal types. Type safety for the returned value comes from the generic type parameter (<T extends SettingValue>), not from key registration.

Likely an incorrect or invalid review comment.

🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@apps/meteor/server/settings/mobile.ts`:
- Around line 23-28: The setting ID and label are mismatched: you're adding a
setting via this.add('Apple_Watch_Quick_Actions', ...) while the i18n label is
Apple_Watch_Quick_Replies_Default; change the setting ID to
'Apple_Watch_Quick_Replies' in the this.add call to match the i18n key, and
update any other code/tests/migrations that reference Apple_Watch_Quick_Actions
to use Apple_Watch_Quick_Replies so terminology is consistent across the
codebase.

Comment on lines +23 to +28
await this.add('Apple_Watch_Quick_Actions', 'OK,Yes,No,On my way,Will follow up shortly', {
type: 'string',
i18nLabel: 'Apple_Watch_Quick_Replies_Default',
i18nDescription: 'Apple_Watch_Quick_Actions_Description',
public: true,
});
Copy link
Contributor

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟡 Minor

Terminology mismatch between setting ID (Quick_Actions) and i18nLabel (Quick_Replies).

The setting is called Apple_Watch_Quick_Actions but the i18nLabel references Apple_Watch_Quick_Replies_Default. Apple Watch Quick Actions and Quick Replies are distinct features. Given the PR description and the linked React Native PR both refer to "quick replies", the setting ID should be aligned:

🔧 Proposed fix
-		await this.add('Apple_Watch_Quick_Actions', 'OK,Yes,No,On my way,Will follow up shortly', {
+		await this.add('Apple_Watch_Quick_Replies', 'OK,Yes,No,On my way,Will follow up shortly', {
 			type: 'string',
-			i18nLabel: 'Apple_Watch_Quick_Replies_Default',
-			i18nDescription: 'Apple_Watch_Quick_Actions_Description',
+			i18nLabel: 'Apple_Watch_Quick_Replies',
+			i18nDescription: 'Apple_Watch_Quick_Replies_Description',
 			public: true,
 		});
📝 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
await this.add('Apple_Watch_Quick_Actions', 'OK,Yes,No,On my way,Will follow up shortly', {
type: 'string',
i18nLabel: 'Apple_Watch_Quick_Replies_Default',
i18nDescription: 'Apple_Watch_Quick_Actions_Description',
public: true,
});
await this.add('Apple_Watch_Quick_Replies', 'OK,Yes,No,On my way,Will follow up shortly', {
type: 'string',
i18nLabel: 'Apple_Watch_Quick_Replies',
i18nDescription: 'Apple_Watch_Quick_Replies_Description',
public: true,
});
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@apps/meteor/server/settings/mobile.ts` around lines 23 - 28, The setting ID
and label are mismatched: you're adding a setting via
this.add('Apple_Watch_Quick_Actions', ...) while the i18n label is
Apple_Watch_Quick_Replies_Default; change the setting ID to
'Apple_Watch_Quick_Replies' in the this.add call to match the i18n key, and
update any other code/tests/migrations that reference Apple_Watch_Quick_Actions
to use Apple_Watch_Quick_Replies so terminology is consistent across the
codebase.

@divyanshu-patil divyanshu-patil changed the title feat: add admin mobile settings for apple watch feat(mobile app): add admin mobile settings for apple watch Feb 22, 2026
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.

1 participant