Commit Graph

31 Commits

Author SHA1 Message Date
Max Radermacher
560cefae94
Rename FeatureFlags → BuildFlags 2025-10-27 13:27:11 -05:00
Igor Solomennikov
6dd2815fde
Unify backdropColor values.
This is the color of UI layer that dims content underneath when presenting something modally (eg action sheet).

Values were taken from UIDimmingView that UIKit uses to obscure content under modally presented view controller.
2025-10-24 14:43:08 -07:00
Elaine
c64e06641f
Liquid Glass interactive sheets 2025-10-22 21:24:11 -04:00
Igor Solomennikov
65e02b1c45
Update verification code entry screen for iOS 26.
• adopt dynamic colors
• update layout code (no more PureLayout)
2025-10-06 16:46:25 -07:00
Elaine
3bb9af1c41
Fix layout issues with group call drawer 2024-10-08 17:07:40 -06:00
Elaine
a972874cb6
Call link approval details sheet 2024-09-17 11:31:51 -06:00
Elaine
34983e49cf
Flip camera button dynamic layout
Co-authored-by: Marissa Le Coz <marissa@signal.org>
2024-09-09 13:10:41 -06:00
Elaine
884e74c889
Use smoother, interruptible animation on bottom sheets 2024-08-08 16:09:58 -06:00
Elaine
ce12aa0e40
Fix a few bugs in InteractiveSheetViewController
Co-authored-by: Max Radermacher <max@signal.org>
2024-08-05 15:36:55 -06:00
Elaine
55b34b39a6
Add springing to call controls drawer 2024-07-30 10:53:22 -06:00
Marissa Le Coz
4d90fb505c
Update call drawer colors 2024-07-24 15:22:28 -04:00
Elaine
935c242cf8
Manage how sheet interactions/animations interact with timeout and UI elements
Co-authored-by: Marissa Le Coz <marissa@signal.org>
2024-07-24 10:59:11 -04:00
Elaine
2dc3fa16d0
Animate call controls height changes 2024-07-22 14:14:38 -06:00
Elaine
28d7a9bd22
Animate drawer around pivot point when not dragging 2024-07-22 13:50:24 -06:00
Elaine
ed35c95216
Update call header for controls drawer 2024-07-22 13:35:04 -06:00
Marissa Le Coz
4b45112f6c
Add crossfade to call drawer 2024-07-12 13:38:14 -04:00
Marissa Le Coz
d297e23a2e
Add call drawer foundations behind feature flag 2024-07-02 14:16:25 -04:00
Elaine
fcec78006a
Add contact details sheet to disambiguate accounts with similar profiles 2024-01-31 09:41:53 -07:00
Harry
b9aaaa6dd5
Prompt user before crashing on device transfer receiving end 2023-09-11 17:20:54 -07:00
Elaine
8f8445c5a1
Improve sheet dismissal 2023-08-30 14:55:24 -06:00
Igor Solomennikov
0686b39547 Add necessary imports to Swift files.
Those would be required for future PRs.
2023-06-13 14:46:12 -07:00
Harry
cd4ac4e588
Emoji picker improvements 2023-06-07 11:05:13 -07:00
Igor Solomennikov
c054f3de91
Remove unnecessary "@objc" in SignalUI. 2023-05-16 16:39:19 -07:00
Harry Sanabria
1e227641c9 Once reply sheet is focused and maximized, keep it maximized 2022-10-18 22:38:36 -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
Harry
88ed7a0376
Fix group call member sheet header blur effect
* Fix group call member sheet header blur effect

* pr feedback
2022-10-05 12:23:43 -07:00
Harry
29fbb192d5
Add my story privacy settings learn more
* Add my story privacy settings learn more

* light fixes for boost sheet

* PR feedback

* audit usages of InteractiveSheetViewController
2022-10-04 15:11:16 -07:00
Harry
f65493ae7c
Fix InteractiveBottomSheetController on old devices/iOS versions
* fix InteractiveBottomSheet controller

* Remove outside styled bottom sheet handle as per design request

* allow shrinking the bottom sheet after maximizing, as per design request

* tweak animation values per design request

* nits
2022-09-26 12:20:51 -07:00
Igor Solomennikov
77d1f2b5ab
Fix regression caused OWSTableSheetViewController not use all available height.
OWSTableViewSheetViewController is inherited from InteractiveSheetViewController
and has additional size calculation logic that updates current sheet size based
on UITableView's contentSize. However, there's also a "max height" constraint
that also needs updating  - this commits adds that.
2022-07-21 09:43:30 -07:00
Evan Hahn
c0c4a85d48 Fix InteractiveSheetViewController scrolling bug
Short story: we now properly decide whether the sheet is being resized
or scrolled, fixing the bug.

Long story:

Some users report that they can't scroll the forward message sheet
([example report 1][1], [example report 2][2]). This wasn't just a bug
with the forwarding sheet. It was a bug with all subclasses of
`InteractiveSheetViewController`.

When you gesture on the sheet, there are effectively two modes: "resize
the sheet mode", and "scroll the contents" mode. (See
`beginInteractiveTransitionIfNecessary` for a boolean that expresses
this.) The logic is effectively this:

    def getMode():
      if sheetHeight < maximumSheetHeight:
        # Note: there are some other ways to get this mode, e.g. by
        # grabbing the handle. But those aren't relevant for this bug.
        return "resize the sheet mode"
      else:
        return "scroll the contents mode"

Unfortunately, there was a bug in how we computed the max sheet height
if that height was larger than the height of the screen (e.g., in
landscape mode or on a shorter device). That bad height caused you to
get into "resize the sheet mode" incorrectly. This fixes that, and does
a few other cleanups.

[1]: https://github.com/signalapp/Signal-iOS/issues/5366
[2]: https://community.signalusers.org/t/beta-feedback-for-the-upcoming-ios-5-44-release/45401/3

Co-Authored-By: Igor Solomennikov <igor@signal.org>
2022-07-19 16:54:57 -05:00
Nora Trapp
0dae510d07 Add '+ New Story' button to conversation picker 2022-07-15 15:05:03 -07:00