Commit Graph

20 Commits

Author SHA1 Message Date
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
Harry
a55476d667
Modernize LinkPreviewManager 2024-03-19 13:46:09 -07:00
Harry
c5b42c9b66
Don't generate link previews for links in spoilers 2023-09-25 10:55:02 -07:00
Igor Solomennikov
52f0015dfe
New set of icons. 2023-06-22 17:38:01 -07: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
f728457039
Update build target to iOS 13.0 2023-06-08 16:21:20 -07:00
Evan Hahn
14237a873f
NSLocalizedString -> OWSLocalizedString 2023-04-25 13:28:46 -05:00
Igor Solomennikov
6dd3d9a6f2
Convert all convenience methods in UIFont+OWS to Swift. 2023-04-18 17:14:51 -07:00
Igor Solomennikov
7a717b9c35
Fix an error and some warnings in Xcode 14.3
* Fix name collision.

`UIView.autoPinEdgesToSuperviewEdges(withInsets:)` declared in SignalUI
was doing the same thing as `-[UIView autoPinEdgesToSuperviewEdgesWithInsets:]`
in PureLayout. Xcode 14.3 has started treating this ObjC name collision as an error.

* Fix warnings that would be errors in Swift 6.
2023-03-27 16:36:43 -07:00
Max Radermacher
7ac03076e6
Consolidate link preview fetching code 2023-02-21 12:49:25 -08:00
Harry
003cc19e62
Update SignalCoreKit. Use explicit DispatchQueue instead of relying on the implicit type on promise 'on' params
* Use explicit DispatchQueue instead of relying on the implicit type on promise 'on' params

* Update SignalCoreKit
2023-02-07 16:14:39 -08:00
Evan Hahn
1ec693e2b9
Remove localized string values from source
This change should have no user impact.

We decided to stop doing this, so I removed them all. (I _think_ I got
them all, anyway.)
2022-11-09 13:50:00 -08:00
Igor Solomennikov
f7b0c4a339
"Attach Link" UX improvements.
* Fix faulty logic in validation of a URL parsed from string.

`OWSLinkPreview.isPermittedLinkPreviewUrl(parsedFrom:)` has logic to extract
hostname from a string that matches a detected URL. The logic was assuming that
every string begins with a scheme prefix (eg "http://"). That assumption isn't
always correct because NSDataDetector uses HTTP scheme when scheme prefix is not
present (eg "google.com" would result in "http://google.com" being detected).

* Two improvements to "attach link" UX.

• any valid HTTPS url can be attached to a text story, even if the link wouldn't
  actually work.
• show progress indicator while fetching a link preview.

* Add "https://" to address in "attach link preview" UI if necessary.
2022-10-18 18:20:40 -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
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
094fa0f30d
Allow attaching links to text stories with "Generate Link Previews" setting being OFF. 2022-09-21 14:55:49 -07:00
Igor Solomennikov
5c98fcfeb7
Updated look for link previews in text stories. 2022-09-20 12:57:22 -07:00
Igor Solomennikov
e46b597fe2
Fix layout issue with link preview input UI on iOS 16.
On iOS 16 tapping on "Add Link" button in text story composer would result in keyboard appearing but no other UI visible. This commit fixes that issue.

This commit also fixes an issue where UI layout becomes somewhat broken during interactive dismiss of the sheet.
2022-09-19 15:10:12 -07:00
Igor Solomennikov
a6ff75a24c
Text story composer
* Hide camera controls when switching to TEXT.

* Streamline camera capture session state tracking.

Stop camera when switching to TEXT.

* Basic text story composer.

All UI works, but needs fine-tuning and tapping on Next (->) doesn't do anything.

* Run auto-genstrings.

* Adjust text size and alignment as user enters text.

1..49 characters: 34 pt, center-aligned.
50..199 characters: 24 pt, center-aligned.
200.. characters: 18 pt, natural alignment.

* Change default text color in text story composer to white.

* Added support for changing background of text story composer.

Selection is allowed from palette of 5 gradients and 11 solid colors.

* Improve vertical alignment of text in text story composer.

Text (and possible link preview panel in the future) should be vertically
centered in the area above either bottom controls or onscreen keyboard.

* Add UI for attaching a link preview to a text story.

* Add support for posting text stories.

* Lint.
2022-09-12 11:38:28 -07:00