Commit Graph

31 Commits

Author SHA1 Message Date
Max Radermacher
5b448444bb
Insert events for missed calls while offline 2024-05-29 14:15:32 -05:00
Max Radermacher
13f85596d7
Handle call offers in the NSE when possible 2024-05-29 12:19:48 -05:00
Max Radermacher
17ab8a1e66
Simplify CallMessageHandler 2024-05-29 11:55:42 -05:00
Max Radermacher
3eec477bf1
Process some missed call events more quickly 2024-05-24 14:16:55 -05:00
Sasha Weiss
df99ce0055
Post a Calls Tab notification when marking unended group calls as ended 2024-04-18 15:33:08 -07:00
Max Radermacher
2b85069f8e
Don’t use inheritance with CallService 2024-04-16 19:36:24 -05:00
Max Radermacher
d2cc64ccf9
Clean up CallService object initialization 2024-04-02 12:20:57 -05:00
Max Radermacher
5e8f359c59
Use async/await in group call update code 2024-03-19 17:55:18 -05:00
Max Radermacher
76e0e865ad
Swiftify CallMessageHandler 2024-03-19 17:53:35 -05:00
Ehren Kret
d4e17730f3 remove import SignalMessaging statements 2024-03-12 03:35:34 -05:00
Pete Walters
2cfb45fed6
GroupsV2MessageProcessor formatting/cleanup 2024-02-27 16:25:17 -06:00
Sasha Weiss
d963bfdc03
Use same log prefix for all group call peek operations 2024-02-26 17:13:38 -07:00
Jim Gustafson
3a88e287fa Remove legacy call message fields 2024-01-05 11:27:57 -08:00
Sasha Weiss
c99f5ef58b
Group call event sync message support 2023-11-22 10:19:51 -05:00
Max Radermacher
dc6057f69c
Remove some remote configs that aren’t needed 2023-11-15 19:04:09 -06:00
Sasha Weiss
883cd6a976
Rename LightweightCallManager to LightweightGroupCallManager 2023-10-12 14:48:43 -07:00
Max Radermacher
53b3dac1e5
[ServiceId] Update calling code 2023-08-23 23:47:14 -05:00
Igor Solomennikov
488bb72de7
Remove unnecessary "@objc" in Share Ext and NSE. 2023-05-16 16:35:42 -07:00
Harry
8f8e74e2b5
Update message processor suspension-related behavior
* use set of enums for message suspensions

* Update meaning of isDrainingPendingEnvelopes

* rename messageProcessorDidFlushQueue -> ...DidDrainQueue
2023-03-16 14:23:10 -07:00
Jordan Rose
55c34c38d0 Discard incoming rings for too-large groups
This shouldn't happen under normal circumstances, but a custom client
could send unwanted rings to large groups.
2022-12-07 16:21:23 -08:00
Jim Gustafson
fb4d3f4495
Update to RingRTC v2.22.0
Co-authored-by: Jordan Rose <jrose@signal.org>
2022-11-29 15:43:16 -06:00
Jordan Rose
c0e87c6c43 Handle opaque rings in the NSE, using the new RingRTC APIs 2022-11-07 09:48:53 -08:00
Jordan Rose
55af998815 Use RingRTC to validate 1:1 call offer messages in the NSE
This avoids an issue where the NSE might decide to wake up the main
app to respond to an Offer, but then the RingRTC in the main app
decides the ring has already expired. We've been careful about
exposing new RingRTC APIs to the NSE because we don't want to dirty
too much memory, but this particular one should be safe.
2022-11-01 16:56:29 -07:00
Evan Hahn
370ff654e7
Change license to AGPL
Change license to AGPL

This commit:

- Updates the `LICENSE` file

- Start every file with something like:

      // Copyright YEAR_FIRST_PUBLISHED Signal Messenger, LLC
      // SPDX-License-Identifier: AGPL-3.0-only

---

First, I removed existing license headers with this Ruby 3.1.2 script:

    require 'set'

    EXTENSIONS_TO_CHECK = Set['.h', '.hpp', '.cpp', '.m', '.mm', '.pch', '.swift']

    same = 0
    different = 0

    all_files = `git ls-files`.lines.map { |line| line.strip }
    all_files.each do |relative_path|
      if relative_path == 'Pods'
        next
      end

      unless EXTENSIONS_TO_CHECK.include? File.extname(relative_path)
        next
      end

      path = File.expand_path(relative_path)

      contents = File.read(path)
      new_contents = contents.sub(/\/\/\n\/\/  Copyright .*\n\/\/\n\n/, '')

      if contents == new_contents
        same += 1
      else
        different += 1
      end

      File.write(path, new_contents)
    end

    puts "updated #{different} file(s), left #{same} untouched"

I'm sure this script could be improved, but it worked well enough.

Then, I created `Scripts/lint/lint-license-headers` and ran it to auto-
fix a lot of files. This changed the mode of some files, but I think
that's actually desirable. For example,
`SignalServiceKit/src/Util/AppContext.m` previously had a mode of
`0755/-rwxr-xr-x`, and it's now `0644/-rw-r--r--`.

Then I fixed some stragglers and updated the precommit script.

See [a similar change in the Desktop app][0].

[0]: 8bfaf598af
2022-10-13 08:25:37 -05:00
Jordan Rose
2ffeec159a Temporarily disable NSE->app handoff of "urgent" opaque CallMessages
Until the main app actually handles these (they are
group-call-ring-related), iOS will think we're trying to abuse the
handoff mechanism to perform non-calling work, and start throttling
relayed messages. Just disable that for now, to be re-enabled soon.
2022-08-23 14:43:11 -07:00
Jordan Rose
9819c92464 Add groupRings and maxGroupRingSize to RemoteConfig 2022-08-17 17:59:19 -07:00
Sasha Weiss
ac05bfc690
Add the concept of a correlation ID to NSE logging 2022-08-03 10:33:15 -07:00
Michelle Linington
259cf01376 Lint 2022-03-04 14:16:29 -08:00
Michelle Linington
0fccce9c13 Bug fixes and queue management:
- Move NSE notification waiter to be the very last thing we wait on.
  This ensures that notifications enqueued while the message manager
  handles messages make it to UserNotifications
- Current call can now be accessed off the main thread
- All group call message handling occurs off the main thread
2022-03-04 14:16:29 -08:00
Michelle Linington
05ea13c8c9 LightweightCallManager will now post NSE group call alerts 2022-03-04 14:16:29 -08:00
Matthew Chen
8472571d0a Rename NSE. 2021-10-28 11:40:26 -03:00