Commit Graph

36 Commits

Author SHA1 Message Date
Igor Solomennikov
d2b0b6f460
Tweak spacing / alignment in modal activity indicator screen. 2026-04-23 11:05:25 -07:00
Igor Solomennikov
2aad9f98d2
Add animations when presenting/dismissing modal activity indicator screen. 2026-04-13 16:34:41 -07:00
Igor Solomennikov
207fcdd757
Fix modal activity indicator not dark in media editor.
Present modal activity indicator VC in dark mode if presenter is in forced dark mode.
2026-04-10 16:59:16 -07:00
Igor Solomennikov
036dc1ff1c
Modernize modal activity indicator view controller.
• new look.
• use custom CircularProgressView instead of UIActivityIndicator.
• add support for displaying a text message.
2026-04-10 13:25:14 -07:00
Max Radermacher
7f0e73ab16
Run swiftformat . using v0.59.0 2026-01-28 14:16:20 -06:00
Sasha Weiss
d267ec8305
Run swiftformat . 2025-12-30 11:34:05 -08:00
Sasha Weiss
4c6614668d
Asyncify UsernameQuerier, use ActionSheetDisplayableError 2025-11-20 09:59:42 -08:00
Sasha Weiss
4a45dc95b8
Add SubscriptionConfigMgr, use to populate Backups-related remote values 2025-10-23 16:09:03 -07:00
Igor Solomennikov
bcae1b32b4
Use headline font instead of body.semibold(). 2025-10-20 15:43:35 -05:00
Max Radermacher
22e3ff20a1
Privatify wasCancelled setter 2025-08-18 13:27:23 -04:00
Max Radermacher
0fd5dd9b53
Asyncify Paypal monthly donations 2025-06-16 13:23:39 -05:00
Max Radermacher
f0c8c0dfa6
Explicitly annotate modal methods as @MainActor 2025-06-11 13:10:44 -05:00
Sasha Weiss
5cbc74315a
Add presentAndPropagateResult to ModalActivityIndicator 2025-05-01 17:05:20 -07:00
Max Radermacher
cd3da630a5
Asyncify ModalActivityIndicatorVC’s cancellations 2025-04-21 21:33:49 -05:00
Ehren Kret
5ea36cd91b enable internal imports by default 2024-09-29 20:03:17 -05:00
Max Radermacher
5a5cac24f4
Add basic support for creating Call Links 2024-06-17 12:15:42 -05:00
Sasha Weiss
41d2a3d1b2
Informational UX for delete syncs 2024-06-11 16:39:22 -07:00
Ehren Kret
98063956b0 disallow swift code to call weak timer selector methods 2024-04-27 05:24:46 -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
27b6a62be8
Reformat ModalActivityIndicatorViewController 2024-04-01 15:28:51 -05:00
Jordan Rose
2727a70b90 Make AtomicValue's lock-sharing explicit
Also:
- Remove AtomicUInt's @objc, it's no longer used from ObjC
- Remove Codable conformances, they would implicitly use shared locks
  and weren't used in practice
2024-03-27 10:57:32 -07:00
Ehren Kret
d4e17730f3 remove import SignalMessaging statements 2024-03-12 03:35:34 -05:00
Igor Solomennikov
0e9d511d1d
SignalUI cleanup.
• convert ObjC code from UIView+SignalUI to Swift.
• separate code from UIView+SignalUI to smaller files by functionality.
2023-06-23 14:36:21 -07:00
Harry
f728457039
Update build target to iOS 13.0 2023-06-08 16:21:20 -07:00
Igor Solomennikov
f22ae21b54
Convert SignalApp to Swift. 2023-05-16 16:48:06 -07:00
Igor Solomennikov
c054f3de91
Remove unnecessary "@objc" in SignalUI. 2023-05-16 16:39:19 -07:00
Igor Solomennikov
6dd3d9a6f2
Convert all convenience methods in UIFont+OWS to Swift. 2023-04-18 17:14:51 -07:00
Evan Hahn
227340ce92 Account data report: show loading spinner
I recommend reviewing this with whitespace changes disabled because a
lot of stuff was indented but not otherwise changed.
2023-03-29 15:53:18 -05:00
Evan Hahn
60ace0a8dc
Dismissing spinner shouldn't require callback
This is a minor change that should have no user impact.

We had a bunch of calls like this:

    modalActivityIndicator.dismiss {}

This makes the parameter optional, so you can do this:

    modalActivityIndicator.dismiss()
2023-01-20 18:11:55 -06:00
Max Radermacher
49d7896f8e
Update “Find by Number/Username” to latest designs
Some changes:

- Convert most of the code to Swift.

- Update the search result section headers to “Find by Number”/“Find by
  Username” instead of “Phone number search”/“Username search”.

- Remove “New message to:” from the rows & update the icons.

- Don’t look up phone numbers until the user taps the row. As a result,
  there’s no “No user found. Invite via SMS?” row.

- Restore the invite via SMS feature if the user can’t be found. If a
  number appears unregistered, we’ll offer to send an SMS.

- Start showing search results after 3 digits (approximately).

- Show potentially-invalid phone numbers to avoid results that disappear
  if you happen to type a digit incorrectly.
2022-11-04 13:40:13 -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
4d55d95869 Autofix SwiftLint whitespace issues
I recommend reviewing this with whitespace changes disabled.
2022-09-15 16:37:44 +00:00
Evan Hahn
29c0ddf60e Fix violations of SwiftLint's attributes rule
_I recommend reviewing this with whitespace changes disabled._

Most of these were `@objc` being on the same line, which I fixed with [a
silly script][1]—probably could've used `sed` if I were wiser. The rest
were manual fixes.

See [the SwiftLint documentation for this rule][0].

[0]: https://realm.github.io/SwiftLint/attributes.html
[1]: https://gist.github.com/EvanHahn-Signal/d353c93fa269c82b96baca0a1086521f
2022-05-14 09:07:42 -05:00
Igor Solomennikov
dc19eb835f Fix "the the" in comments. 2022-04-27 20:16:45 -07:00
Matthew Chen
25f015d8bc Add SignalUI framework target. 2021-10-19 09:39:53 -03:00
Matthew Chen
c416609108 Add SignalUI framework target. 2021-10-19 09:39:53 -03:00