Commit Graph

320 Commits

Author SHA1 Message Date
Sasha Weiss
966b6cacdb
Support isSMS for messages restored from Backups 2024-09-23 17:42:11 -07:00
Harry
6fe99bd69b
Add support for versioned DM expire timer updates 2024-08-22 14:02:03 -07:00
Max Radermacher
07baa170f7
Remove “collection” concept from database types 2024-08-20 18:22:00 -05:00
Pete Walters
6649b4d4fd
Add archived payment message types 2024-07-11 09:34:37 -05:00
Harry
bb083ca39c
Fold SignalCoreKit into SignalServiceKit
Co-authored-by: Adam Sharp <sharplet@signal.org>
2024-06-26 08:44:41 -07:00
Sasha Weiss
a28a18158a
Add clientUuid field to attachments 2024-06-17 11:56:26 -07:00
Max Radermacher
c1f486a48d
Remove TestModel from the database 2024-06-07 14:05:13 -05:00
Sasha Weiss
0f4289fc73
Replace interaction anyRemove with InteractionDeleteManager 2024-06-04 14:51:52 -07:00
Adam Sharp
0f41ad1d74
Fix codegen formatting 2024-05-28 10:45:10 -04:00
Sasha Weiss
47c6f80c27
Track which field is missing in SDSError.missingRequiredField 2024-05-16 12:38:13 -07:00
Max Radermacher
661935a210
Simplify & speed up sds_codegen.sh 2024-04-16 19:34:47 -05:00
Max Radermacher
85735f952e
Fix SignalServiceKit/src path in sds_codegen 2024-04-15 19:58:19 -05:00
Jordan Rose
b0de59f2e2 Remove required from every init that is not dynamically dispatched
This included:
- Removing unavailable inits wholesale if no longer `required`
- Marking a few classes `final` so they could continue using
  `Self(...)` rather than `OWSWhatever(...)`
2024-04-01 15:27:20 -07:00
Max Radermacher
5d0aaf00b0
Reformat all Python files 2024-03-29 12:53:58 -05:00
Max Radermacher
e10faa8593
Remove src/ prefix from SignalServiceKit files 2024-03-27 12:22:52 -05:00
Max Radermacher
42c704a4e3
Remove some debug/verbose lines 2024-03-19 19:24:54 -05:00
Ehren Kret
616aaa4c89 remove SignalMessaging framework 2024-03-12 03:35:34 -05:00
Max Radermacher
0a24b7b357
Clean up recipient searches 2024-03-07 11:57:45 -06:00
Max Radermacher
d95dd27225
Fix a bunch of syntax errors in the codegen script 2024-02-29 16:38:16 -06:00
Max Radermacher
d24c370cb1
Convert OWSUserProfile to SDSCodableModel 2024-01-24 17:14:10 -06:00
Max Radermacher
b0ee1e0091
Remove some unused sds config values 2024-01-09 13:20:42 -06:00
Harry
5da3a3a498
Stop using TSIncomingMessage.sourceDeviceId 2023-12-19 11:16:26 -08:00
Harry
0c53ff88fa
Rename TSOutgoingMessage.isFromLinkedDevice->wasNotCreatedLocally 2023-12-15 09:36:46 -08:00
Harry
ecbb1057c9
[MOB] Payments activation request in chat 2023-08-24 15:38:13 -07:00
Harry
2ac759408a
[MOB] Payment messages in chat 2023-08-24 13:55:39 -07:00
Pete Walters
82e51fe9cd
Add support for saving edit message drafts. 2023-07-07 15:38:35 -05:00
Max Radermacher
7e66ad45dd
Remove unused fragment files
They appear to be unused since 7927bc1afe.
2023-06-30 14:50:35 -05:00
Max Radermacher
3b1ad7f781 Remove unused SDS codegen property order values 2023-06-30 11:45:51 -05:00
Max Radermacher
5acabbe61f
Prepare interactions for modern recipient merging 2023-06-28 11:58:44 -05:00
Pete Walters
f58b6947ce
Funnel read crashes into the recovery flow 2023-06-02 11:48:51 -05:00
Max Radermacher
62965f6781
Convert TSThread.anyRemove to ThreadRemover 2023-05-10 14:03:08 -07:00
Max Radermacher
2a06e06f1a Remove TODOs from generated SDS files 2023-05-05 14:52:48 -07:00
Max Radermacher
2437083a68 Don’t mark SDS enumerate blocks as escaping 2023-05-05 14:52:48 -07:00
Max Radermacher
fcb5b60ec3 Remove anyRemoveAllWithoutInstantation 2023-05-05 14:52:48 -07:00
Max Radermacher
f575d64378 Simplify batching when removing all db objects 2023-05-05 14:52:48 -07:00
Max Radermacher
78224f3d31 Clean up sds_codegen script output 2023-05-05 14:52:48 -07:00
Pete Walters
cf37a8b1f9
Edit Message DB changes & conversation edit filtering 2023-05-03 17:22:10 -05:00
Sasha Weiss
5d7241d038
Add parsing support for the pni capability 2023-03-24 10:07:39 -07:00
george-signal
5fe81c0ad3
Show video duratioin in All Media. 2023-02-03 16:00:46 -08:00
Evan Hahn
6e97ff3c8f
Gifting: add PayPal support 2023-01-18 16:38:57 -06:00
Sasha Weiss
ee4799b506 One-time donations via PayPal 2022-12-01 14:39:03 -08:00
Evan Hahn
a941c82c14
Prefer isEmpty with strings
This change may improve performance slightly but should have no other
user impact.

`myString.isEmpty` is faster than `myString.count == 0` or equivalent,
because computing `count` may require iterating over the string.

I tried to fix all occurrences of this.

Tested this by sending a message in a group and doing a full
re-registration, just in case I broke something there.
2022-11-01 17:53:46 -05:00
Max Radermacher
9db9d94085
Handle isComplete during incoming contact syncs 2022-10-19 09:29:52 -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
Evan Hahn
349681ff85
Attempt to recover corrupted databases
If a user's database is corrupted, we now try to fix it. I recommend
reviewing `DatabaseRecovery` to see how this works, and
`DatabaseRecoveryViewController` for the bulk of the UI.
2022-10-06 16:42:19 -05:00
Nora Trapp
96d8abac67 PR Feedback 2022-09-22 14:53:29 -07:00
Nora Trapp
c8dc629351 Show active group stories in the conversation picker 2022-09-22 14:53:29 -07:00
Nora Trapp
9776699137 Sync when contacts become unregistered 2022-09-15 14:09:03 -07:00
Sasha Weiss
569cdb2aad
Durable jobs for leaving groups 2022-08-26 13:13:23 -07:00
Evan Hahn
48c3c08c10 Fix vertical_parameter_alignment SwiftLint violations
This fixes violations of [SwiftLint's `vertical_parameter_alignment`
rule][0]. This should have no user impact.

[0]: https://realm.github.io/SwiftLint/vertical_parameter_alignment.html
2022-08-18 10:37:09 -05:00