Repository navigation
feat(watch): Add an Apple Watch app - #2801
Draft
karlitschek wants to merge 3 commits into
Draft
karlitschek wants to merge 3 commits into
karlitschek wants to merge 3 commits into
Conversation
…ect file Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Signed-off-by: Frank Karlitschek <karlitschek@users.noreply.github.com>
A new watchOS app (watchOS 10 and later, TalkWatch target), embedded in the iOS app: - The conversations of the active account, with unread and mention badges, ongoing calls and a preview of the last message - A conversation shows its last messages and their reactions - Reply by dictation, Scribble or the keyboard, or with a quick reply (👍, OK, Thanks!, On my way, I'll call you later) - Tap a message to react to it - Opening a conversation marks it as read The watch has no account of its own and never gets any credentials. The iPhone sends it the conversations through WatchConnectivity (application context, updated whenever the rooms change) and does all requests to the server for it (WatchSessionController), waking up in the background if needed. Sensitive conversations don't show a preview of the last message, like in notifications. Incoming calls already show up on the watch through CallKit, where they can be declined. The watch app reuses the AppIcon.icon and the Localizable.strings of the iOS app. In debug builds, the launch arguments -TalkWatchSampleData and -TalkWatchOpenSampleConversation show example data, to try the app in the simulator without a paired iPhone. TalkWatch/** was added to the paths of the build workflow. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Signed-off-by: Frank Karlitschek <karlitschek@users.noreply.github.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Signed-off-by: Frank Karlitschek <karlitschek@users.noreply.github.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
New watchOS app (watchOS 10+,
TalkWatchtarget) embedded in the iOS app:The watch has no account of its own and never gets credentials. The iPhone sends the conversations via WatchConnectivity (application context, updated when rooms change) and does all server requests for it (
WatchSessionController), waking up in the background if needed. Sensitive conversations show no preview. Incoming calls already reach the watch through CallKit, where they can be declined. Message ids are exchanged asInt64, asIntis 32 bit on watch hardware (arm64_32).Reuses
AppIcon.iconandLocalizable.stringsof the iOS app. Debug builds accept-TalkWatchSampleDataand-TalkWatchOpenSampleConversationto try the app in the simulator without a paired iPhone.TalkWatch/**was added to the paths of the build workflow.Notes
Based on feat: Widgets, Spotlight, haptics, double tap reactions and thermal aware calls #2788 (widgets, haptics, double tap reactions, thermal aware calls). GitHub retargets this PR to
mainonce feat: Widgets, Spotlight, haptics, double tap reactions and thermal aware calls #2788 is merged.Part of a set of independent feature PRs, each can be reviewed, merged or dropped on its own. Where several of them add a switch to Settings, the later one needs a trivial rebase.
com.nextcloud.Talk.watchkitapp(and provisioning profile) before release builds can be signed.Branded builds: set
WATCH_COMPANION_APP_BUNDLE_IDENTIFIERand the bundle id of theTalkWatchtarget.Also contains a commit letting Xcode sort the widget entries of the project file (same commit in the controls/widgets PR).
Testing
UnitWatchModelsTestgeneric/platform=iOS(iPhone, iPad, Mac "Designed for iPad") and for watchOS hardware🤖 Generated with Claude Code