Commit Graph

50 Commits

Author SHA1 Message Date
Max Radermacher
560cefae94
Rename FeatureFlags → BuildFlags 2025-10-27 13:27:11 -05:00
Igor Solomennikov
57b2c97688
Clean up use of linking text view.
• define new shared color - "link" for both UIColor and Color.
• set default color (UIColor.Signal.link) for links in LinkingTextView.
• do not set "UIColor.clear" as underline color for links. just omitting underline style does the job.
2025-10-25 00:30:20 -07:00
Elaine
a7755d518b
Fix width on iPad forward contact picker 2025-10-22 16:03:55 -04:00
Igor Solomennikov
bcae1b32b4
Use headline font instead of body.semibold(). 2025-10-20 15:43:35 -05:00
Elaine
42aa7cc648
Update bar button placement and behavior 2025-10-06 19:54:17 -04:00
Igor Solomennikov
af48dd5186
Workaround for dysfunctional UIKeyboardLayoutGuide on iOS 15.
• bring back keyboard frame tracking to OWSViewController if running on iOS 15.
• add our own layout guide to OWSViewController that is updated based on keyboard frame notifications on iOS 15; on newer iOS versions it's a proxy to view.keyboardLayoutGuide.
• use OWSViewController.keyboardLayoutGuide where needed.
• in media composer screen (not OWSVIewController subclass) we already track keyboard frame - use that to position bottom toolbar on iOS 15.

I have also discovered that profile avatar editing screen was somewhat broken on older (15, 16) iOS versions. Fixed that here.
2025-10-02 10:12:45 -07:00
Igor Solomennikov
89901f8a70
Fix crash presenting username education screen. 2025-09-29 21:39:07 -05:00
Igor Solomennikov
ac2a39c09a
Remove keyboard frame tracking from OWSViewController.
Let individual view controllers do the layout using (relatively) new UIView.keyboardLayoutGuide.
2025-09-23 12:03:32 -07:00
Igor Solomennikov
f4bd82dc34
Use solid color for "selected" background color of UITableViewCell.
revious color was semi-opaque black which meant the resulting color of a selected UITableViewCell's background was not something referenced in the code. Therefore it wasn't easily possible to re-use the color for non-UITableViewCell elements (e.g. creating UIButton whose colors should match UITableView's colors). With the opaque colors final color of the background of a selected cell is known and can be referenced directly.

Also removed Theme.tableCell2MultiSelectedBackgroundColor - use one color for both "single" and "multiple" selection modes.

Fix Calls tab not setting UITableViewCell properly to use custom cell background color in multi-select mode.
2025-09-16 15:34:05 -07:00
Elaine
6379569a97
Fix header and footer height calculations 2025-09-15 18:34:42 -04:00
Igor Solomennikov
138e2c39b5
Use 'primary fill' as background color for selected row in lists. 2025-09-10 21:24:11 -07:00
Sasha Weiss
7acf25d22b
Re-add configuring cell backgrounds to OWSTableItem.configureCell 2025-08-29 13:26:25 -07:00
sashaweiss-signal
8446c03ebb Remove noisy debug log line 2025-08-27 14:03:24 -07:00
Elaine
971d0f6e60
Use native styles for OWSTableViewController2 2025-08-26 20:26:57 -04:00
Elaine
571a8456b4
Remove custom header/footer size canary 2025-08-25 11:34:12 -04:00
Elaine
b3faea8696
Add SDK check with iOS 26 checks 2025-08-13 12:02:27 -04:00
Elaine
cca707a194
Update table max width calculation again lol 2025-08-11 16:36:12 -04:00
Elaine
819c16297f
Update table max width calculation 2025-08-09 13:53:13 -04:00
Elaine
eb6c9d7aac
Update iOS 26 navigation bar style 2025-07-25 17:05:54 -04:00
Elaine
c9a4e0dbfe
Remove OWSTableViewController 2025-07-09 23:07:28 -04:00
Elaine
7aa5ccbe56
Update app colors 2024-11-05 15:02:19 -07:00
Elaine
317226629c
Allow call link name to be edited in-call 2024-10-01 16:49:11 -06:00
Adam Sharp
b89c8f1556
Avoid a couple more owsFailDebug assertions 2024-09-23 10:58:48 -04:00
Sasha Weiss
7bbc063135
Avoid a few owsFailDebugs 2024-09-20 13:31:02 -07:00
Elaine
bd3413b3eb
Sync Nicknames with Storage Service 2024-04-08 17:35:31 -06:00
Elaine
0887f70f1e
Streamline using a text view in a table view 2024-03-26 10:55:28 -06:00
Max Radermacher
8910fc4d5b
Move around files in SignalUI/ and the share ext 2024-03-25 14:22:28 -05:00
Igor Solomennikov
2b43b1fef9
Convert OWSTableViewController and related classes to Swift.
Also convert OWSTableContents, OWSTableSection and OWSTableItem to Swift.

The only subclass of OWSTableViewController was DebugUITableViewController which has to be converted to Swift as well.

I also changed OWSTableViewController to be a subclass of OWSViewController (more modern and all in Swift) instead of OWSViewControllerObjc.
2023-05-08 19:33:03 -07:00
Igor Solomennikov
6dd3d9a6f2
Convert all convenience methods in UIFont+OWS to Swift. 2023-04-18 17:14:51 -07:00
Max Radermacher
a4c8f8bd7a
Fix assorted layout issues with PIN setup views 2023-04-12 20:10:58 -07:00
Sasha Weiss
e4bf99aee6
Dynamic updates when possible in username selection 2023-02-07 09:45:58 -08:00
Max Radermacher
015803297a
Add .notAllowed to editingAuthorization for iPad 2023-02-01 11:33:37 -08:00
Sasha Weiss
b5807284e8
Add tappable "Learn More" link to username selection explanation text 2023-01-27 16:01:43 -08:00
Sasha Weiss
1126c98f19
"Select a username" UX 2023-01-26 11:38:21 -08:00
Harry
33e686319c
Use iOS 13+ UINavigationBarAppearance for navbar styling
* Use iOS 13+ UINavigationBarAppearance for navbar styling

* various individual view controller navbar style tweaks and fixes

* Remove unused navigation bar styles

* rename 'default' style blur

* Apply blur style to the UIVisualEffectView generated by UINavigationBarAppearance

* Use iOS 12 navbar blur method on iOS 13 since its bugged

* Fix on iOS 15, use old method on iOS 14

* PR comment nits

* explicitly invalidate KVO observers
2022-12-13 16:17:41 -08:00
Max Radermacher
f111a7f162
Swiftify DomainFrontingCountryViewController
Also:
* Remove OWSTableViewController2.useNewStyle
* Remove useThemeBackgroundColors
* Remove unused table view bg/cell colors
2022-12-06 12:53:45 -08:00
Harry
520faa95df
Refactor OWSNavigationController
* make shouldCancelNavigationBack a var

* rename OWSNavigationView->OWSNavigationChildController

* forward delegate calls to OWSNavigationController

* apply theme and style to OWSNavigationBar consistently

fix themeing on gif picker controller

* Use topPinned navbar position. Size the blur effect view using the background view

* Use fade animation when hiding the navigation bar

* fix issues with reduced transparency setting

* pr feedback
2022-11-03 16:40:47 -07:00
Harry
c745f9a6ae
Refactor OWSViewController
* Remove the useless shouldUseTheme

* Remove the useless shouldBottomViewReserveSpaceForKeyboard

* Add ViewControllerLifecycle

* Use more sensible constraints for keyboard layouts

* Consistent theme updates. themeDidChange is what you subclass, applyTheme is each class' internal application of theme changes, if needed

* Add app lifecycle hooks

* pr feedback

* pass through touches on the keyboard layout view(s)

* fix lint
2022-11-03 13:12:13 -07:00
Nora Trapp
5be184dc21 Add the ability to view all your signal connections 2022-10-18 13:39:00 -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
e4316d3a39
A bunch of story fixes
* Hide story video duration tooltip when changing selection

* update story row swipe action title font

* Update tab bar icons

* Fix ghost safe area shown when cancelling an interactive dismiss of a chat view

* Use forced dark theme background color for cell selection in story info sheet

* Exclude hidden story contexts from conversation picker

* remove unused asset

* pr feedback
2022-10-12 09:54:50 -07:00
Harry
1710bf98d1
Fix iOS 16 UITextView sizing issue in OWSTableViewController2
* Fix iOS 16 UITextView sizing issue in OWSTableViewController2

* remove iOS 16 check, add iOS 17 canary check
2022-09-21 13:28:11 -07:00
Nora Trapp
86be80dbd7 Add story info sheet 2022-09-12 10:36:15 -07:00
Max Radermacher
03944b813d Remove tableViewStyle 2022-07-28 16:28:33 -07:00
Evan Hahn
d0c7de494a Computed accessors shold always be in the same order
`get`, then `set`. This fixes violations of [SwiftLint's
`computed_accessors_order` rule][0].

A very mechanical change.

[0]: https://realm.github.io/SwiftLint/computed_accessors_order.html
2022-06-24 09:35:07 -07:00
Nora Trapp
7bd167f815
Initial story sending support
* Little fix for context menu

* Add 'My Stories' section to stories tab

* Add new story thread types

* Show stories in conversation picker

* Support for sending stories

* Update story list when sending stories

* Add basic 'My Stories' view controller

* Initial stories settings screens

* Consolidate TSPrivateStoryThread and TSMyStoryThread into one class

* Require an explicit read transaction to initialize an outgoing message

* Fix linting

* Allow enabling group story from internal settings

* Fix tests

* PR Feedback
2022-06-10 22:28:03 -04:00
Igor Solomennikov
dc19eb835f Fix "the the" in comments. 2022-04-27 20:16:45 -07:00
Dimitris Apostolou
62724cf0be Fix typos 2022-03-18 11:31:06 -07:00
Igor Solomennikov
6848210a4c Remove UIScrollView workaround that was only used in iOS 11.0-11.2
Not needed anymore since min supported iOS version is now 12.2
2022-01-31 15:15:18 -08:00
Matthew Chen
c416609108 Add SignalUI framework target. 2021-10-19 09:39:53 -03:00