Skip to content

feat: Point out hidden features with tips - #2802

Draft
karlitschek wants to merge 5 commits into
feat/haptics-reactions-widgets-call-adaptationfrom
feat/feature-tips
Draft

karlitschek wants to merge 5 commits into
feat/haptics-reactions-widgets-call-adaptationfrom
feat/feature-tips

Conversation

@karlitschek

Copy link
Copy Markdown
Member

Depends on #2791 (gesture reactions) and #2795 (raise to listen). Their commits are included here through a merge, so this branch builds. Only the last commit, feat: Point out hidden features with tips, is new. Please review and merge after those two; the diff shrinks once they are in.

Uses TipKit (iOS 17+) for small one-time hints about features that are easy to miss:

Tip Where When
Double tap to react Chat a message from somebody else is visible
Raise to listen / long press to transcribe Chat a voice message from somebody else is visible
Hold to talk Call, at the mute button after the microphone was muted for the first time
React with your hands Call the camera recognizes hand gestures
Add Talk to your Home Screen Conversation list from the third time the app is opened

A tip disappears for good once it was closed or the feature was used. At most one tip is shown per day (displayFrequency(.daily)), and none during UI tests.

Notes

Testing

  • App and all extensions build for the simulator (Xcode 27.1), unit tests of the included features pass
  • The combined branch with all features also builds in Release for generic/platform=iOS and for watchOS hardware
  • Not yet tried by hand, hence the draft.

馃 Generated with Claude Code

karlitschek and others added 5 commits October 25, 2026 21:13
On iOS 17 and later, the system recognizes hand gestures in front of
the camera (thumbs up, two hands forming a heart, a peace sign, ...)
and renders an effect into the video. Until now only people seeing
the video noticed. The matching call reaction is now sent as well, so
it shows up for everyone, like a reaction picked from the menu:

  馃憤 thumbs up, 馃憥 thumbs down, 鉂わ笍 heart, 馃帀 balloons/confetti/
  fireworks, 馃ぉ lasers, 馃槬 rain

Reactions are only sent when the server allows them, while the camera
is enabled, and at most every two seconds. Gestures are enabled by
default (NSCameraReactionEffectGesturesEnabledDefault) and can be
turned off by the user in the Video Effects of Control Center. When
picking a camera format, formats supporting reactions and Center Stage
are preferred over others with the same resolution.

On devices with Center Stage (e.g. iPad), the call menu gets a Center
Stage toggle. The cooperative control mode is used, so it can still be
changed in Control Center as well.

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>
Holding the phone to the ear while a voice message plays already
switched it to the earpiece. Now, when the newest message in the open
chat is a voice message from somebody else, raising the phone to the
ear also starts playing it, like in Messages. The proximity sensor is
only enabled while there is such a message to listen to, so the screen
does not turn off for nothing, and never while the app is inactive or
in a call. It can be turned off in Settings ("Raise to listen") and is
only offered on iPhone.

When a voice message has finished, the next one is played right away
if it is the next message (system messages in between are skipped).
A message started at the ear keeps playing through the earpiece.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Signed-off-by: Frank Karlitschek <karlitschek@users.noreply.github.com>
Signed-off-by: Frank Karlitschek <karlitschek@users.noreply.github.com>
Uses TipKit (iOS 17 and later) for small one-time hints about
features that are easy to miss:

- Double tap a message to react (chat)
- Raise the phone to the ear / long press to transcribe (chat, when a
  voice message from somebody else is visible)
- Hold the microphone button or space bar to talk (call, after the
  microphone was muted for the first time)
- Hand gestures send reactions (call, when the camera recognizes them)
- Add the widgets to the Home Screen (conversation list, from the
  third time the app is opened)

A tip disappears for good once it was closed or the feature was used.
At most one tip is shown per day, and none during UI tests.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Signed-off-by: Frank Karlitschek <karlitschek@users.noreply.github.com>
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