Commit Graph

38 Commits

Author SHA1 Message Date
Nora Trapp
e5e9729293 Increase notification delay 2021-04-01 15:13:17 -07:00
Matthew Chen
d0cbf8cfd0 Rework dependency access. 2021-03-25 09:24:27 -03:00
Michelle Linington
5341d59ba1 Lint 2021-02-12 14:03:16 -08:00
Michelle Linington
28be656568 PR Feedback 2021-02-12 13:14:13 -08:00
Michelle Linington
b4d36dcf31 Design changes for onboarding 2021-02-12 13:14:13 -08:00
Matthew Chen
645bd76bd5 Rework app readiness. 2021-02-04 09:55:39 -03:00
Matthew Chen
737e27d1a8 Simplify logging. 2020-12-22 21:29:47 -03:00
Michelle Linington
eaef20b780 Alert user of safety number changes in group call
- Present SafetyNumberConfirmationSheet for all group members before
  joining call from lobby.
- Present SafetyNumberConfirmationSheet for newly joined participants
  with a safety number mismatch
- If the call is minimized or backgrounded, present a notification.
2020-12-08 12:59:56 -08:00
Michelle Linington
a8de171053 Adopt leftover PR feedback from #2696 2020-11-24 20:59:37 -08:00
Michelle Linington
6a8e602825 Return to call action support
Also, tweaks how we notify error messages to muted threads.
2020-11-19 16:04:22 -08:00
Nora Trapp
24d3a9e55d Don't notify for muted threads when a call starts 2020-11-19 16:04:21 -08:00
Michelle Linington
f4d60ff89c Notify the user when a group call begins 2020-11-19 16:02:22 -08:00
Matthew Chen
58fa3c3f3a Block message sends in groups with blocking migrations. 2020-11-12 17:26:44 -03:00
Matthew Chen
7c2180b666 Block message sends during blocking migrations phase. 2020-11-12 17:26:44 -03:00
Nora Trapp
17892d716c Group Calling 2020-10-15 14:49:20 -07:00
Christopher Kobusch
4715240cc1 Added custom notification sounds
* user can add custom notification sounds from Files app (aiff, wav, or caf files)
* former OWSSound enum is now named OWSStandardSound, OWSSound turned into an alias for NSUInteger
* custom sounds get IDs based on the hash of the file name
2020-09-23 14:54:23 -07:00
Matthew Chen
ad6bda8a44 Rename singleton accessors. 2020-09-17 21:11:07 -03:00
Matthew Chen
916307d85b Tweak notifications for incoming reactions. 2020-08-25 17:47:33 -03:00
Matthew Chen
f13faeba7e Tweak notifications for incoming reactions. 2020-08-25 17:47:32 -03:00
Nora Trapp
7137cf75b5 Don't use CallKit for video calls received while the app is active 2020-08-17 15:41:10 -07:00
Nora Trapp
e7ee726df8 Remove confusing mention settings 2020-08-13 13:41:31 -07:00
Matthew Chen
1bdf01c2c9 React with thumbs up. 2020-08-05 14:28:14 -03:00
Matthew Chen
1ba6d84003 React with thumbs up. 2020-08-05 14:28:14 -03:00
Nora Trapp
52583dea0e Incorporate Michelle's feedback 2020-08-05 10:21:49 -07:00
Nora Trapp
6f963c7ba5 Add mention notification settings 2020-08-04 14:09:06 -07:00
Nora Trapp
a39750113f Full suppoort for ention send + receive 2020-08-04 14:08:30 -07:00
Matthew Chen
ef2abaa8f8 Fix transaction-within-a-transaction in notifications logic. 2020-06-11 13:46:38 -03:00
Nora Trapp
b6f27bc463 Better attachment querying 2020-06-07 09:35:08 -07:00
Nora Trapp
57a810658a Goodbye iOS 10 2020-05-27 17:34:32 -07:00
Matthew Chen
9c1cf967be Notifications for errors. 2020-05-18 15:26:22 -03:00
Matthew Chen
f8b9b209ff Respond to CR. 2020-05-11 10:19:52 -03:00
Nora Trapp
bc43189760 Only clear notifications for messages that have been read 2020-04-20 10:25:31 -07:00
Nora Trapp
566e288421 Cancel stale reaction notifications when the reaction is removed or replaced 2020-04-20 10:25:31 -07:00
Nora Trapp
12f0be1a62 Receive support for delete for everyone 2020-04-13 12:49:27 -07:00
Michael Kirk
c982fd6b9a skip query - we already have the last interaction 2020-03-12 11:46:49 -06:00
Michael Kirk
f198d9037d Merge tag '3.5.0.5' 2020-02-19 19:26:05 -07:00
Michael Kirk
3a5455410e Move SignalCall out of SignalMessaging back to Signal target
partial revert of ceae3f1f3

SignalMessaging doesn't really need to know much about the SignalCall, and
since SignalCall now knows about WebRTC, keeping SignalCall in SignalMessaging
would mean moving *all* of WebRTC into SignalMessaging.

Instead, we move SignalCall back to SignalMessaging, and only expose a small
protocol thereof to SignalMessaging.
2020-02-13 11:32:36 -07:00
Nora Trapp
88ac10de05 Notification Service Extension
The NSE should only run on iOS 13.3 or later where the "filtering" entitlement
is available since our notifications don't contain any content and will often
not trigger any user visible content. We control this by setting the deployment
target to iOS 13.3.

This does not handle calls as it's currently impossible to wake the main app or
launch CallKit from within the NSE. Should we reach a point where we need to use
this extension in production the service will need to be able to differentiate
between call and non-call messages and deliver them as VOIP or Vanilla pushes as
appropriate. Alternatively, Apple may introduce some way for us to signal the
main app that a call message has been received.

This does not currently address the potential for the NSE and the main app to be
running and trying to process messages at the same time. As long as the
websocket is connected and the main app is processing messages in a timely
fashion the NSE will never be called since the service will not send pushes for
these messages, but censorship circumvention users and users where the websocket
is disconnected for some reason will legitimately receive pushes and we will
want to process those messages. How we will handle these cases requires further
thought since just terminating the NSE when the app launches is not sufficient.
We could potentially do something like terminate the NSE everytime the main app
runs the message fetcher job which should only happen if either the user
pulls-to-refresh on the conversation list or the websocket is actively connected
and receiving messsages. I plan to address this in a follow-up pull request.

Currently this code will not ever be run since the service never sends vanilla
push notifications. Eventually we will need to add logic into the main app to:
a) detect we're on iOS 13.3 or later and b) update a flag on the service telling
it to stop using VOIP pushes for non-call messages. The API for requesting this
from the service does not yet exist.
2020-01-30 11:44:41 -08:00